2016-12-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
[official-gcc.git] / libstdc++-v3 / ChangeLog
blobb5f94c09c630459c1f5e9cab8b1e5869495bb59b
1 2016-12-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
3         * crossconfig.m4 (*-linux*): Add link-check for memalign.
4         * configure: Regenerated.
6 2016-12-01  Tim Shen  <timshen@google.com>
8         PR libstdc++/71500
9         * include/bits/regex.h (basic_regex::basic_regex): Use ECMAScript
10         when the syntax is not specified.
11         * include/bits/regex_compiler.h (_RegexTranslator,
12         _RegexTranslatorBase): Partially support icase in ranges.
13         * include/bits/regex_compiler.tcc (_BracketMatcher::_M_apply):
14         Refactor _M_apply to make the control flow easier to follow, and
15         call _M_translator._M_match_range as added previously.
16         * testsuite/28_regex/traits/char/icase.cc: Add new tests.
17         * testsuite/28_regex/traits/char/user_defined.cc: Add new tests.
19 2016-11-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
21         Fix testsuite failures caused by the patch implementing LWG 2534.
22         * include/std/istream (__is_convertible_to_basic_istream):
23         Change the return types of __check, introduce istream_type.
24         (operator>>(_Istream&&, _Tp&&)):
25         Use __is_convertible_to_basic_istream::istream_type as the return type.
26         * include/std/ostream (__is_convertible_to_basic_ostream):
27         Change the return types of __check, introduce ostream_type.
28         (operator>>(_Ostream&&, _Tp&&)):
29         Use __is_convertible_to_basic_ostream::ostream_type as the return type.
31 2016-11-30  Tim Shen  <timshen@google.com>
33         * include/bits/shared_ptr_base.h
34         (__shared_ptr_access<T, L, true, false>::operator*()): Fix assertion.
36 2016-11-30  David Edelsohn  <dje.gcc@gmail.com>
38         * testsuite/18_support/50594.cc: XFAIL on AIX.
39         * testsuite/ext/mt_allocator/check_new.cc: Same.
40         * testsuite/ext/pool_allocator/check_new.cc: Same.
41         * testsuite/27_io/ios_base/storage/11584.cc: Same.
43 2016-11-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
45         Implement LWG 2534, Constrain rvalue stream operators.
46         * include/std/istream (__is_convertible_to_basic_istream): New.
47         (__is_extractable): Likewise.
48         (operator>>(basic_istream<_CharT, _Traits>&&, _Tp&&)):
49         Turn the stream parameter into a template parameter
50         and constrain.
51         * include/std/ostream (__is_convertible_to_basic_ostream): New.
52         (__is_insertable): Likewise.
53         (operator<<(basic_ostream<_CharT, _Traits>&&, const _Tp&)):
54         Turn the stream parameter into a template parameter
55         and constrain.
56         * testsuite/27_io/basic_istream/extractors_other/char/4.cc: New.
57         * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc:
58         Likewise.
59         * testsuite/27_io/basic_ostream/inserters_other/char/6.cc: Likewise.
60         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc: Likewise.
62 2016-11-30  Christophe Lyon  <christophe.lyon@linaro.org>
64         * testsuite/experimental/type_erased_allocator/2.cc: Add
65         dg-require-thread-fence.
67 2016-11-29  David Edelsohn  <dje.gcc@gmail.com>
69         PR libstdc++/68838
70         * testsuite/lib/libstdc++.exp (DEFAULT_CXXFLAGS): Add -Wl,-bmaxdata on
71         AIX.
72         * testsuite/23_containers/vector/profile/vector.cc: Remove
73         dg-additional-options.
75 2016-11-26  Tim Shen  <timshen@google.com>
77         PR libstdc++/78441
78         * include/std/variant: Propagate cv qualifications to types returned
79         by variant_alternative.
80         * testsuite/20_util/variant/compile.cc: Tests.
82 2016-11-23  Felix Morgner  <felix.morgner@gmail.com>
83             Jonathan Wakely  <jwakely@redhat.com>
85         PR libstdc++/78490
86         * include/experimental/propagate_const (propagate_const::operator=):
87         Add missing return statements.
88         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
89         Adjust dg-error line numbers.
90         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
92 2016-11-22  Uros Bizjak  <ubizjak@gmail.com>
94         * testsuite/Makefile.am
95         (check-DEJAGNU $(check_DEJAGNU_normal_targets)): Fix detection
96         of -j argument.
97         * testsuite/Makefile.in: Regenereate.
99 2016-11-22  Jonathan Wakely  <jwakely@redhat.com>
101         PR libstdc++/78465
102         * testsuite/29_atomics/headers/atomic/macros.cc: Replace runtime tests
103         with preprocessor conditions.
105 2016-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
107         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Update comments.
108         (__CORRECT_ISO_CPP11_MATH_H_PROTO): Rename to ...
109         (__CORRECT_ISO_CPP11_MATH_H_PROTO_FP): ... this.
110         Add test for C++11 <math.h> integral overloads.
111         * configure: Regenerate.
112         * config.h.in: Regenerate.
114         * include/c_global/cmath [__cplusplus >= 201103L]: Reflect
115         __CORRECT_ISO_CPP11_MATH_H_PROTO to
116         __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
117         * include/c_global/cmath [_GLIBCXX_USE_C99_MATH &&
118         !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC && __cplusplus >= 201103L]
119         (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO_INT.
120         (std::isfinite): Likewise.
121         (std::isinf): Likewise.
122         (std::isnan): Likewise.
123         (std::isnormal): Likewise.
124         (std::signbit): Likewise.
125         (std::isgreater): Likewise.
126         (std::isgreaterequal): Likewise.
127         (std::isless): Likewise.
128         (std::islessequal): Likewise.
129         (std::islessgreater): Likewise.
130         (std::isunordered): Likewise.
131         [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]
132         (std::acosh): Likewise.
133         (std::asinh): Likewise.
134         (std::atanh): Likewise.
135         (std::cbrt): Likewise.
136         (std::copysign): Likewise.
137         (std::erf): Likewise.
138         (std::erfc): Likewise.
139         (std::exp2): Likewise.
140         (std::expm1): Likewise.
141         (std::fdim): Likewise.
142         (std::fma): Likewise.
143         (std::fmax): Likewise.
144         (std::fmin): Likewise.
145         (std::hypot): Likewise.
146         (std::ilogb): Likewise.
147         (std::lgamma): Likewise.
148         (std::llrint): Likewise.
149         (std::llround): Likewise.
150         (std::log1p): Likewise.
151         (std::log2): Likewise.
152         (std::logb): Likewise.
153         (std::lrint): Likewise.
154         (std::lround): Likewise.
155         (std::nearbyint): Likewise.
156         (std::nextafter): Likewise.
157         (std::nexttoward): Likewise.
158         (std::remainder): Likewise.
159         (std::remquo): Likewise.
160         (std::rint): Likewise.
161         (std::round): Likewise.
162         (std::scalbln): Likewise.
163         (std::scalbn): Likewise.
164         (std::tgamma): Likewise.
165         (std::trunc): Likewise.
166         * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1 && __cplusplus >=
167         201103L]: Reflect __CORRECT_ISO_CPP11_MATH_H_PROTO to
168         __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
170 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
172         PR libstdc++/59406
173         * include/bits/functional_hash.h: Add comment noting difference from
174         FNV-1a.
175         * include/tr1/functional_hash.h: Likewise.
176         * libsupc++/hash_bytes.cc: Likewise.
178         * include/bits/basic_string.h: Reuse _If_sv alias template for new
179         constructor.
181         * doc/xml/manual/intro.xml: Document LWG 2770 status. Remove entries
182         for 2742 and 2748.
183         * doc/html/*: Regenerate.
184         * include/std/utility (__tuple_size_cv_impl): New helper to safely
185         detect tuple_size<T>::value, as per LWG 2770.
186         (tuple_size<cv T>): Adjust partial specializations to derive from
187         __tuple_size_cv_impl.
188         * testsuite/20_util/tuple/cv_tuple_size.cc: Test SFINAE-friendliness.
190         * testsuite/libstdc++-prettyprinters/cxx17.cc: Adjust test for
191         variant<T&>.
193 2016-11-15  Tim Shen  <timshen@google.com>
195         * include/std/variant: Remove variant<T&>, variant<void>, variant<>
196         support to rebase on the post-Issaquah design.
197         * testsuite/20_util/variant/compile.cc: Likewise.
199 2016-11-15  Matthias Klose  <doko@ubuntu.com>
201         * configure: Regenerate.
203 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
205         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Fix license
206         text.
207         * testsuite/20_util/any/assign/emplace.cc: Likewise.
208         * testsuite/20_util/any/cons/in_place.cc: Likewise.
209         * testsuite/20_util/any/make_any.cc: Likewise.
210         * testsuite/20_util/any/requirements.cc: Likewise.
211         * testsuite/20_util/any/typedefs.cc: Likewise.
212         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
213         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
214         Likewise.
215         * testsuite/20_util/in_place/requirements.cc: Likewise.
216         * testsuite/20_util/optional/77288.cc: Likewise.
217         * testsuite/20_util/optional/assignment/1.cc: Likewise.
218         * testsuite/20_util/optional/assignment/2.cc: Likewise.
219         * testsuite/20_util/optional/assignment/3.cc: Likewise.
220         * testsuite/20_util/optional/assignment/4.cc: Likewise.
221         * testsuite/20_util/optional/assignment/5.cc: Likewise.
222         * testsuite/20_util/optional/assignment/6.cc: Likewise.
223         * testsuite/20_util/optional/assignment/7.cc: Likewise.
224         * testsuite/20_util/optional/cons/77727.cc: Likewise.
225         * testsuite/20_util/optional/cons/move.cc: Likewise.
226         * testsuite/20_util/optional/cons/value.cc: Likewise.
227         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
228         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
229         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
230         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
231         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
232         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
233         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
234         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
235         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
236         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
237         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
238         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
239         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
240         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
241         * testsuite/20_util/optional/hash.cc: Likewise.
242         * testsuite/20_util/optional/make_optional.cc: Likewise.
243         * testsuite/20_util/optional/observers/1.cc: Likewise.
244         * testsuite/20_util/optional/observers/2.cc: Likewise.
245         * testsuite/20_util/optional/observers/3.cc: Likewise.
246         * testsuite/20_util/optional/observers/4.cc: Likewise.
247         * testsuite/20_util/optional/observers/5.cc: Likewise.
248         * testsuite/20_util/optional/observers/6.cc: Likewise.
249         * testsuite/20_util/optional/relops/1.cc: Likewise.
250         * testsuite/20_util/optional/relops/2.cc: Likewise.
251         * testsuite/20_util/optional/relops/3.cc: Likewise.
252         * testsuite/20_util/optional/relops/4.cc: Likewise.
253         * testsuite/20_util/optional/relops/5.cc: Likewise.
254         * testsuite/20_util/optional/relops/6.cc: Likewise.
255         * testsuite/20_util/optional/requirements.cc: Likewise.
256         * testsuite/20_util/optional/swap/1.cc: Likewise.
257         * testsuite/20_util/optional/typedefs.cc: Likewise.
258         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
259         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
260         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
261         Likewise.
262         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
263         * testsuite/20_util/variant/hash.cc: Likewise.
264         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
265         * testsuite/experimental/any/typedefs.cc: Likewise.
266         * testsuite/experimental/array/make_array.cc: Likewise.
267         * testsuite/experimental/array/neg.cc: Likewise.
268         * testsuite/experimental/chrono/value.cc: Likewise.
269         * testsuite/experimental/deque/erasure.cc: Likewise.
270         * testsuite/experimental/forward_list/erasure.cc: Likewise.
271         * testsuite/experimental/list/erasure.cc: Likewise.
272         * testsuite/experimental/map/erasure.cc: Likewise.
273         * testsuite/experimental/memory/observer_ptr/assignment/assign.cc:
274         Likewise.
275         * testsuite/experimental/memory/observer_ptr/cons/cons.cc: Likewise.
276         * testsuite/experimental/memory/observer_ptr/hash/hash.cc: Likewise.
277         * testsuite/experimental/memory/observer_ptr/make_observer.cc:
278         Likewise.
279         * testsuite/experimental/memory/observer_ptr/relops/relops.cc:
280         Likewise.
281         * testsuite/experimental/memory/observer_ptr/requirements.cc: Likewise.
282         * testsuite/experimental/memory/observer_ptr/swap/swap.cc: Likewise.
283         * testsuite/experimental/memory/observer_ptr/typedefs.cc: Likewise.
284         * testsuite/experimental/optional/77288.cc: Likewise.
285         * testsuite/experimental/optional/assignment/1.cc: Likewise.
286         * testsuite/experimental/optional/assignment/2.cc: Likewise.
287         * testsuite/experimental/optional/assignment/3.cc: Likewise.
288         * testsuite/experimental/optional/assignment/4.cc: Likewise.
289         * testsuite/experimental/optional/assignment/5.cc: Likewise.
290         * testsuite/experimental/optional/assignment/6.cc: Likewise.
291         * testsuite/experimental/optional/cons/77727.cc: Likewise.
292         * testsuite/experimental/optional/cons/move.cc: Likewise.
293         * testsuite/experimental/optional/cons/value.cc: Likewise.
294         * testsuite/experimental/optional/cons/value_neg.cc: Likewise.
295         * testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
296         * testsuite/experimental/optional/constexpr/make_optional.cc: Likewise.
297         * testsuite/experimental/optional/constexpr/observers/1.cc: Likewise.
298         * testsuite/experimental/optional/constexpr/observers/2.cc: Likewise.
299         * testsuite/experimental/optional/constexpr/observers/3.cc: Likewise.
300         * testsuite/experimental/optional/constexpr/observers/4.cc: Likewise.
301         * testsuite/experimental/optional/constexpr/observers/5.cc: Likewise.
302         * testsuite/experimental/optional/constexpr/relops/1.cc: Likewise.
303         * testsuite/experimental/optional/constexpr/relops/2.cc: Likewise.
304         * testsuite/experimental/optional/constexpr/relops/3.cc: Likewise.
305         * testsuite/experimental/optional/constexpr/relops/4.cc: Likewise.
306         * testsuite/experimental/optional/constexpr/relops/5.cc: Likewise.
307         * testsuite/experimental/optional/constexpr/relops/6.cc: Likewise.
308         * testsuite/experimental/optional/make_optional.cc: Likewise.
309         * testsuite/experimental/optional/observers/1.cc: Likewise.
310         * testsuite/experimental/optional/observers/2.cc: Likewise.
311         * testsuite/experimental/optional/observers/3.cc: Likewise.
312         * testsuite/experimental/optional/observers/4.cc: Likewise.
313         * testsuite/experimental/optional/observers/5.cc: Likewise.
314         * testsuite/experimental/optional/relops/1.cc: Likewise.
315         * testsuite/experimental/optional/relops/2.cc: Likewise.
316         * testsuite/experimental/optional/relops/3.cc: Likewise.
317         * testsuite/experimental/optional/relops/4.cc: Likewise.
318         * testsuite/experimental/optional/relops/5.cc: Likewise.
319         * testsuite/experimental/optional/relops/6.cc: Likewise.
320         * testsuite/experimental/optional/requirements.cc: Likewise.
321         * testsuite/experimental/optional/swap/1.cc: Likewise.
322         * testsuite/experimental/optional/typedefs.cc: Likewise.
323         * testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
324         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
325         Likewise.
326         * testsuite/experimental/propagate_const/cons/move.cc: Likewise.
327         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
328         * testsuite/experimental/propagate_const/hash/1.cc: Likewise.
329         * testsuite/experimental/propagate_const/observers/1.cc: Likewise.
330         * testsuite/experimental/propagate_const/relops/1.cc: Likewise.
331         * testsuite/experimental/propagate_const/requirements1.cc: Likewise.
332         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
333         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
334         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
335         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
336         * testsuite/experimental/propagate_const/swap/1.cc: Likewise.
337         * testsuite/experimental/propagate_const/typedefs.cc: Likewise.
338         * testsuite/experimental/random/randint.cc: Likewise.
339         * testsuite/experimental/ratio/value.cc: Likewise.
340         * testsuite/experimental/set/erasure.cc: Likewise.
341         * testsuite/experimental/string/erasure.cc: Likewise.
342         * testsuite/experimental/string_view/typedefs.cc: Likewise.
343         * testsuite/experimental/system_error/value.cc: Likewise.
344         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
345         * testsuite/experimental/type_traits/value.cc: Likewise.
346         * testsuite/experimental/unordered_map/erasure.cc: Likewise.
347         * testsuite/experimental/unordered_set/erasure.cc: Likewise.
348         * testsuite/experimental/vector/erasure.cc: Likewise.
350         * doc/xml/manual/intro.xml: Document LWG 2742 status.
351         * doc/html/*: Regenerate.
352         * include/bits/basic_string.h
353         (basic_string(const T&, size_type, size_type, const Allocator&)): Add
354         constructor for substring of basic_string_view, as per LWG 2742 but
355         with additional constraint to fix ambiguity.
356         * testsuite/21_strings/basic_string/cons/char/9.cc: New test.
357         * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: New test.
359         * doc/xml/manual/intro.xml: Document LWG 2748 status.
360         * include/std/optional (optional<T>::swap): Use is_nothrow_swappable_v
361         for exception specification.
362         (swap(optional<T>&, optional<T>&)): Disable when T is not swappable.
363         * testsuite/20_util/optional/swap/2.cc: New test.
365 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
367         Implement P0513R0, Poisoning the Hash.
368         * include/bits/functional_hash.h (__poison_hash): New.
369         * include/bits/unique_ptr.h
370         (hash<unique_ptr<_Tp, _Dp>>): Derive from __poison_hash.
371         * include/std/optional (hash<optional<_Tp>>): Likewise.
372         * include/std/variant (hash<variant<_Types...>>): Likewise.
373         * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
374         * testsuite/20_util/default_delete/void_neg.cc: Likewise.
375         * testsuite/20_util/optional/hash.cc: New.
376         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
377         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Adjust.
378         * testsuite/20_util/unique_ptr/hash/1.cc: Add tests for
379         poisoned fancy pointer hashes.
380         * testsuite/20_util/variant/hash.cc: New.
382 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
384         Implement P0504R0 (Revisiting in-place tag types for
385         any/optional/variant).
386         * include/std/any (any(_ValueType&& __value)): Constrain
387         the __is_in_place_type with the decayed type.
388         (make_any): Adjust to use the new tag type.
389         * include/std/utility (in_place_tag): Remove.
390         (in_place_t): Turn into a non-reference tag type.
391         (__in_place, __in_place_type, __in_place_index): Remove.
392         (in_place): Turn into an inline variable of non-reference
393         tag type.
394         (in_place<_Tp>): Remove.
395         (in_place_index<_Idx>): Remove.
396         (in_place_type_t): New.
397         (in_place_type): Turn into a variable template of non-reference
398         type.
399         (in_place_index_t): New.
400         (in_place_index): Turn into a variable template of non-reference
401         type.
402         * include/std/variant
403         (_Variant_storage(in_place_index_t<_Np>, _Args&&...)): Adjust to
404         use the new tag type.
405         (_Union(in_place_index_t<0>, _Args&&...)): Likewise.
406         (_Union(in_place_index_t<_Np>, _Args&&...)): Likewise.
407         (_Variant_base()): Likewise.
408         (variant(_Tp&&)): Likewise.
409         (variant(in_place_type_t<_Tp>, _Args&&...)): Likewise.
410         (variant(in_place_type_t<_Tp>, initializer_list<_Up>,
411         _Args&&...)): Likewise.
412         (variant(in_place_index_t<_Np>, _Args&&...)): Likewise.
413         (variant(in_place_index_t<_Np>, initializer_list<_Up>,
414         _Args&&...)): Likewise
415         (variant(allocator_arg_t, const _Alloc&)): Likewise.
416         (variant(allocator_arg_t, const _Alloc&, _Tp&&)): Likewise.
417         (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
418         _Args&&...)): Likewise.
419         (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
420         initializer_list<_Up>, _Args&&...)): Likewise.
421         (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
422         _Args&&...)): Likewise.
423         (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
424         initializer_list<_Up>, _Args&&...)): Likewise.
425         (emplace(_Args&&...)): Likewise.
426         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
427         * testsuite/20_util/any/cons/explicit.cc: Likewise.
428         * testsuite/20_util/any/cons/in_place.cc: Likewise.
429         * testsuite/20_util/any/requirements.cc: Add tests to
430         check that any is not constructible from the new in_place_type_t
431         of any value category.
432         * testsuite/20_util/in_place/requirements.cc: Adjust to
433         use the new tag type.
434         * testsuite/20_util/variant/compile.cc: Likewise.
435         * testsuite/20_util/variant/run.cc: Likewise.
437 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
439         Use constexpr addressof in optional, SFINAE housekeeping
440         for any, optional and tuple.
441         * include/std/any (__do_emplace(_Args&&...)): New.
442         (__do_emplace(initializer_list<_Up>, _Args&&...)): Likewise.
443         (__any_constructible): Likewise.
444         (__any_constructible_t): Use __any_constructible.
445         (operator=(_ValueType&&)): SFINAE in the return type.
446         (emplace(_Args&&...)): Likewise.
447         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
448         * include/std/optional (_Has_addressof_mem): Remove.
449         (_Has_addressof_free): Likewise.
450         (_Has_addressof): Likewise.
451         (__constexpr_addressof(_Tp&)): Likewise.
452         (operator->): Use std::__addressof.
453         * include/std/tuple (operator=(const tuple<_UElements...>&)):
454         SFINAE in return type.
455         (operator=(tuple<_UElements...>&&)): Likewise.
456         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
458 2016-11-14  Jonathan Wakely  <jwakely@redhat.com>
460         * include/bits/move.h (addressof(const _Tp&&)): Add deleted overload,
461         as per LWG 2598.
463         * include/std/future (future::share(), future<R&>::share())
464         (future<void>::share()): Add noexcept, as per LWG 2556.
466 2016-11-13  Jonathan Wakely  <jwakely@redhat.com>
468         PR libstdc++/78326
469         * include/experimental/memory_resource (memory_resource::_S_max_align):
470         Change access to protected.
472         * doc/xml/manual/status_cxx2017.xml: Update status.
473         * doc/html/manual/status.html: Regenerate.
474         * include/bits/shared_ptr.h (shared_ptr(unique_ptr<_Yp, _Del>)): Add
475         extension constructor to maintain C++14 behaviour.
476         * include/bits/shared_ptr_base.h (__sp_array_delete): Add new struct.
477         (__shared_count(_Ptr, false_type), __shared_count(_Ptr, true_type)):
478         New constructors.
479         (__sp_compatible_with, __sp_is_constructible): Add specializations
480         for array support.
481         (__sp_is_constructible_arr, __sp_is_constructible_arrN): New helpers.
482         (__shared_ptr_access): New base class for observer member functions.
483         (__shared_ptr::element_type): Use remove_extent.
484         (__shared_ptr::_UniqCompatible): Add __sp_compatible_with check.
485         (__shared_ptr(_Yp*)): Use tag dispatching to call new __shared_count
486         constructor.
487         (__shared_ptr(unique_ptr<_Yp, _Del>)): Add extension constructor.
488         (__shared_ptr::operator*, __shared_ptr::operator->): Remove and
489         inherit from __shared_ptr_access base class.
490         (__shared_ptr::__has_esft_base): Return false for array types.
491         (__weak_ptr::element_type): Use remove_extent.
492         * include/experimental/bits/shared_ptr.h (__libfund_v1): Remove.
493         (__shared_ptr<__libfund_v1<_Tp>>): Remove specializations.
494         (__wak_ptr<__libfund_v1<_Tp>>): Likewise.
495         (experimental::__sp_compatible_v): Redefine using
496         __sp_compatible_with.
497         (experimental::__sp_is_constructible_v): Redefine using
498         __sp_is_constructible.
499         (get_deleter, operator<<): Change argument from __shared_ptr to
500         shared_ptr.
501         * testsuite/20_util/shared_ptr/cons/array.cc: New test.
502         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Adjust for
503         new behaviour.
504         * testsuite/20_util/shared_ptr/observers/array.cc: Test observers for
505         arrays.
506         * testsuite/20_util/shared_ptr/observers/array_neg.cc: New test.
508 2016-11-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
510         Implement P0403R1, Literal suffixes for basic_string_view.
511         * include/std/string_view
512         (operator""sv(const char*, size_t)): New.
513         (operator""sv(const wchar_t*, size_t)): Likewise.
514         (operator""sv(const char16_t*, size_t)): Likewise.
515         (operator""sv(const char32_t*, size_t)): Likewise.
516         * testsuite/21_strings/basic_string_view/literals/types.cc: New.
517         * testsuite/21_strings/basic_string_view/literals/values.cc: Likewise.
518         * testsuite/experimental/string_view/literals/values.cc: Add
519         tests for literals with embedded NULs.
521 2016-11-12  Jonathan Wakely  <jwakely@redhat.com>
523         * src/filesystem/ops.cc (is_empty): Fix typo in exception message.
525         * include/std/future (future_error): Fix public typo to private.
527 2016-11-11  Jonathan Wakely  <jwakely@redhat.com>
529         * include/std/future (future_error): Make existing constructor
530         private and add constructor from future_errc.
532         * include/bits/shared_ptr.h (hash<shared_ptr<T>>): Use element_type.
533         * include/bits/shared_ptr_base.h (hash<__shared_ptr<T, L>>): Likewise.
535 2016-11-10  François Dumont  <fdumont@gcc.gnu.org>
537         * src/c++11/debug.cc (format_word): Delete.
538         (print_literal): New. Replace call to print_word for literals.
540 2016-11-09  Tim Shen  <timshen@google.com>
542         * include/bits/regex.h (regex_iterator::regex_iterator()):
543         Define end() as _M_pregex == nullptr.
544         * include/bits/regex.tcc (regex_iterator::operator==(),
545         regex_iterator::operator++()): Fix operator==() and operator++() to
546         look at null-ness of _M_pregex on both sides.
547         * testsuite/28_regex/regression.cc: New testcase.
549 2016-11-07  Jason Merrill  <jason@redhat.com>
551         * include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM)
552         (_GLIBCXX_NOEXCEPT_QUAL): New.
553         * include/std/type_traits (is_function): Use them.
554         * libsubc++/new (launder): Likewise.
555         * libsupc++/cxxabi.h (__pbase_type_info::__masks): Add
556         __noexcept_mask.
557         * libsupc++/pbase_type_info.cc (__do_catch): Handle function
558         pointer conversion.
560 2016-11-07  François Dumont  <fdumont@gcc.gnu.org>
562         * config/abi/pre/gnu-versioned-namespace.ver: Export C++17 new of
563         over-aligned types symbols.
565 2016-10-28  Jonathan Wakely  <jwakely@redhat.com>
567         * include/experimental/bits/fs_path.h (__is_path_src)
568         (_S_range_begin, _S_range_end): Overload to treat string_view as a
569         Source object.
570         (path::operator+=, path::compare): Overload for basic_string_view.
571         * testsuite/experimental/filesystem/path/construct/string_view.cc:
572         New test.
573         * testsuite/experimental/filesystem/path/construct/
574         string_view_cxx17.cc: New test.
576         * include/experimental/bits/fs_path.h
577         (path::_S_convert<_Iter>(_Iter, _Iter)): Remove cv-qualifiers from
578         iterator's value_type.
579         (path::_S_convert<_Iter>(_Iter __first, __null_terminated)): Likewise.
580         Do not use operation not supported by input iterators.
581         (path::__is_path_iter_src): Add partial specialization for const
582         encoded character types.
583         * testsuite/experimental/filesystem/path/construct/range.cc: Test
584         construction from input iterators with const value types.
586         * doc/xml/manual/status_cxx2017.xml: Update status.
587         * doc/html/*: Regenerate.
588         * include/std/type_traits (has_unique_object_representations): Guard
589         with __has_builtin check.
590         * libsupc++/new (launder): Define for C++17.
591         * testsuite/18_support/launder/1.cc: New test.
592         * testsuite/18_support/launder/requirements.cc: New test.
593         * testsuite/18_support/launder/requirements_neg.cc: New test.
595 2016-10-27  Uros Bizjak  <ubizjak@gmail.com>
597         PR libstdc++/70975
598         * src/filesystem/ops.cc (do_copy_file) [_GLIBCXX_USE_SENDFILE]:
599         Pass non-null pointer to sendfile for offset argument.
601 2016-10-27  Jonathan Wakely  <jwakely@redhat.com>
603         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
604         default.cc: Fix effective target selector.
605         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
606         parms.cc: Likewise.
607         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
608         equal.cc: Likewise.
609         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
610         generate.cc: Likewise.
611         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
612         inequal.cc: Likewise.
613         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
614         serialize.cc: Likewise.
616         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
617         Use end() function to get end iterator.
618         * testsuite/experimental/filesystem/iterators/pop.cc: Remove printf
619         statements that were present for debugging.
620         * testsuite/experimental/filesystem/iterators/
621         recursive_directory_iterator.cc: Use end() function to get end
622         iterator.
623         * testsuite/experimental/filesystem/operations/last_write_time.cc:
624         Only require file timestamps to be accurate to one second.
626 2016-10-26  François Dumont  <fdumont@gcc.gnu.org>
628         * include/bits/stl_map.h (map()): Make default.
629         * include/bits/stl_multimap.h (multimap()): Likewise.
630         * include/bits/stl_multiset.h (multiset()): Likewise.
631         * include/bits/stl_set.h (set()): Likewise.
632         * include/bits/stl_tree.h (_Rb_tree_impl()): Add conditional noexcept.
633         (_Rb_tree()): Make default.
635 2016-10-26  Bernd Edlinger  <bernd.edlinger@hotmail.de>
637         PR libstdc++/78110
638         * libsupc++/new_opa.cc: Don't include <malloc.h> in a free standing
639         environment.  Declare memalign directly in that case.
641 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
643         * testsuite/experimental/filesystem/iterators/pop.cc: Remove
644         unreliable dependency on directory order.
646 2016-10-26  Edward Smith-Rowland  <3dw4rd@verizon.net>
648         Implement uniform_inside_sphere_distribution extension.
649         * include/ext/random: Implement uniform_inside_sphere_distribution.
650         * include/ext/random.tcc: Ditto.
651         * testsuite/ext/random/uniform_inside_sphere_distribution/
652         cons/default.cc: New.
653         * testsuite/ext/random/uniform_inside_sphere_distribution/
654         cons/parms.cc: New.
655         * testsuite/ext/random/uniform_inside_sphere_distribution/
656         operators/equal.cc: New.
657         * testsuite/ext/random/uniform_inside_sphere_distribution/
658         operators/generate.cc: New.
659         * testsuite/ext/random/uniform_inside_sphere_distribution/
660         operators/inequal.cc: New.
661         * testsuite/ext/random/uniform_inside_sphere_distribution/
662         operators/serialize.cc: New.
664 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
666         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
667         Overload pop (LWG 2706).
668         * src/filesystem/dir.cc (recursive_directory_iterator::pop): Define
669         new overload.
670         * testsuite/experimental/filesystem/iterators/pop.cc: New test.
672         * src/filesystem/dir.cc (recursive_directory_iterator::increment):
673         Reset state on error.
674         * testsuite/experimental/filesystem/iterators/
675         recursive_directory_iterator.cc: Check state after increment error.
677         PR libstdc++/78111
678         * src/filesystem/ops.cc (canonical): Set error for non-existent path.
680 2016-10-26  Uros Bizjak  <ubizjak@gmail.com>
682         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include <limits.h>
683         for PATH_MAX in realpath test.
684         * configure: Regenerate.
686 2016-10-25  Jonathan Wakely  <jwakely@redhat.com>
688         * src/filesystem/ops.cc
689         (last_write_time(const path&, file_time_type, error_code&)): Handle
690         negative times correctly.
691         * testsuite/experimental/filesystem/operations/last_write_time.cc:
692         Test writing file times.
694         * src/filesystem/ops.cc (do_copy_file): Report an error if source or
695         destination is not a regular file (LWG 2712).
696         (equivalent): Fix error handling and result when only one file exists.
697         * testsuite/experimental/filesystem/operations/copy.cc: Remove files
698         created by tests. Test copying directories.
699         * testsuite/experimental/filesystem/operations/copy_file.cc: Remove
700         files created by tests.
701         * testsuite/experimental/filesystem/operations/equivalent.cc: New.
702         * testsuite/experimental/filesystem/operations/is_empty.cc: New.
703         * testsuite/experimental/filesystem/operations/read_symlink.cc: Remove
704         file created by test.
705         * testsuite/experimental/filesystem/operations/remove_all.cc: New.
706         * testsuite/util/testsuite_fs.h (~scoped_file): Only try to remove
707         file if path is non-empty, to support removal by other means.
709 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
711         * src/filesystem/ops.cc (is_empty): Fix error handling.
712         * testsuite/experimental/filesystem/operations/is_empty.cc: New test.
714         PR libstdc++/71337
715         * src/filesystem/ops.cc (temp_directory_path): Pass error_code
716         argument to other filesystem operations.
717         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
718         Add testcase for inaccessible directory.
720         * src/filesystem/dir.cc (open_dir): Return same value for errors
721         whether ignored or not.
722         (_Dir::advance(error_code*, directory_options)): Return false on
723         error.
724         (directory_iterator(const path&, directory_options, error_code*)):
725         Create end iterator on error (LWG 2723).
726         (recursive_directory_iterator(const path&, directory_options,
727         error_code*)): Likewise.
728         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
729         Update expected behaviour on error.
730         * testsuite/experimental/filesystem/iterators/
731         recursive_directory_iterator.cc: Likewise.
733         * src/filesystem/ops.cc (close_fd): Remove.
734         (do_copy_file): Just use close(3) instead of close_fd, to prevent
735         retrying on error.
737         * src/filesystem/ops.cc (do_copy_file): Return an error if either
738         source or destination is not a regular file.
739         (copy): Update comment to refer to LWG 2681. Implement 2682 and 2683
740         resolutions.
741         (read_symlink): Add missing ec.clear().
742         * testsuite/experimental/filesystem/operations/copy.cc: Update
743         expected behaviour for copying directories with create_symlinks.
744         Verify that error_code arguments are cleared if there's no error.
745         * testsuite/experimental/filesystem/operations/read_symlink.cc: New.
747 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
749         Cross-port exception-safety and move fixes of std::any to
750         std::experimental::any.
751         * include/experimental/any (operator=(const any&)):
752         Make strongly exception-safe.
753         (operator=(any&&)): clear() unconditionally in the case where
754         rhs has a value.
755         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
756         * testsuite/experimental/any/assign/2.cc: Adjust.
757         * testsuite/experimental/any/assign/exception.cc: New.
758         * testsuite/experimental/any/cons/2.cc: Adjust.
759         * testsuite/experimental/any/misc/any_cast_neg.cc: Ajust.
761 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
763         Cross-port the latest resolution of LWG2756 and some
764         bug-fixes to experimental::optional.
765         PR libstdc++/77288
766         PR libstdc++/77727
767         * include/experimental/optional (_Optional_base):
768         Remove constructors that take a _Tp.
769         (__is_optional_impl, __is_optional): Remove.
770         (__converts_from_optional): New.
771         (optional(_Up&&)): Fix constraints, call base with in_place.
772         (optional(const optional<_Up>&)): Fix constraints, use emplace.
773         (optional(optional<_Up>&&)): Likewise.
774         (operator=(_Up&&)): Fix constraints.
775         (operator=(const optional<_Up>&)): Likewise.
776         (operator=(optional<_Up>&&)): Likewise.
777         (emplace(_Args&&...)): Constrain.
778         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
779         * testsuite/experimental/optional/77288.cc: New.
780         * testsuite/experimental/optional/assignment/5.cc: Adjust.
781         * testsuite/experimental/optional/cons/77727.cc: New.
782         * testsuite/experimental/optional/cons/value.cc: Adjust.
784 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
786         * include/bits/stl_vector.h (vector::_M_data_ptr, vector::data):
787         Change return type of non-standard C++98 extension to match C++11.
789 2016-10-22  François Dumont  <fdumont@gcc.gnu.org>
791         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_ALGO)
792         (_GLIBCXX_END_NAMESPACE_ALGO): Default to respectively
793         _GLIBCXX_BEGIN_NAMESPACE_VERSION and _GLIBCXX_END_NAMESPACE_VERSION.
794         (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER, _GLIBCXX_END_NAMESPACE_CONTAINER):
795         Likewise.
797 2016-10-22  Jonathan Wakely  <jwakely@redhat.com>
799         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
800         Ignore symlink_nofollow flag if file is not a symlink.
801         * testsuite/experimental/filesystem/operations/permissions.cc: Test
802         symlink_nofollow on non-symlinks.
804 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
806         * include/experimental/bits/fs_fwd.h (perms::resolve_symlinks):
807         Replace with symlink_nofollow (LWG 2720).
808         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
809         Handle symlink_nofollow.
810         * testsuite/experimental/filesystem/operations/create_symlink.cc: New
811         test.
812         * testsuite/experimental/filesystem/operations/permissions.cc: Test
813         overload taking error_code.
815         * include/experimental/bits/fs_ops.h
816         (exists(const path&, error_code&)): Clear error if status is known
817         (LWG 2725).
818         (status(const path&, error_code&)): Handle EOVERFLOW.
819         * testsuite/experimental/filesystem/operations/exists.cc: Test
820         overload taking an error_code.
822         * include/experimental/bits/fs_path.h (path::path(string_type&&))
823         (path::operator=(string&&), path::assign(string_type&&)): Define
824         construction and assignment from string_type rvalues (LWG 2707).
826 2016-10-21  Eelis van der Weegen  <eelis@eelis.net>
828         * include/bits/stl_algo.h (__gen_two_uniform_ints): Move logic out
829         of shuffle into new function.
830         (shuffle): Call __gen_two_uniform_ints.
831         (__sample<ForwardIterator, OutputIterator, Cat, Size, URBG>): Use
832         __gen_two_uniform_ints and perform two samples at a time.
834 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
836         * include/Makefile.am: Add <bits/refwrap.h> and <bits/std_function.h>.
837         Order alphabetically.
838         * include/Makefile.in: Regenerate.
839         * include/bits/refwrap.h: New header.
840         (_Maybe_get_result_type,_Weak_result_type_impl, _Weak_result_type)
841         (_Reference_wrapper_base_impl, _Reference_wrapper_base)
842         (reference_wrapper, ref, cref): Move here from <functional>.
843         * include/bits/shared_ptr_base.h: Include <bits/refwrap.h> and
844         <bits/stl_function.h> instead of <functional>.
845         * include/bits/std_function.h: New header.
846         (_Maybe_unary_or_binary_function, bad_function_call)
847         (__is_location_invariant, _Nocopy_types, _Any_data)
848         (_Simple_type_wrapper, _Function_base, _Function_handler, function):
849         Move here from <functional>.
850         * include/bits/unique_ptr.h: Include <bits/stl_function.h>.
851         * include/std/functional: Include new headers and move components to
852         them.
853         * include/std/future: Include <bits/std_function.h> instead of
854         <functional>.
855         * include/std/mutex: Likewise.
856         * include/std/regex: Likewise.
857         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
858         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line.
859         * testsuite/20_util/default_delete/void_neg.cc: Likewise.
860         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
861         lines.
862         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
863         * testsuite/30_threads/packaged_task/49668.cc: Include <functional>.
865         * libsupc++/exception_ptr.h (make_exception_ptr): Qualify new.
866         * testsuite/18_support/exception_ptr/make_exception_ptr_2.cc: New
867         test.
869 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
871         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&))
872         (shared_ptr(auto_ptr&&)): Adjust template parameter lists.
873         * include/bits/shared_ptr.h (__sp_compatible_with)
874         (__sp_is_constructible): New helper traits for shared_ptr.
875         (shared_ptr::_Convertible): Replace with _Constructible.
876         (shared_ptr::_Constructible, shared_ptr::_Assignable): Forward checks
877         to base class.
878         (shared_ptr::shared_ptr, shared_ptr::operator=): Constrain template
879         with _Constructible and _Assignable.
880         (shared_ptr::shared_ptr(shared_ptr<_Tp1>, _Tp*)): Use element_type
881         instead of _Tp.
882         (operator<): Likewise.
883         (operator>): Define in terms of operator<.
884         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
885         element_type instead of _Tp.
886         (reinterpret_pointer_cast): Define for C++17.
887         (weak_ptr::_Convertible): Replace with _Constructible.
888         (weak_ptr::_Constructible, weak_ptr::_Assignable): Forward checks
889         to base class.
890         (weak_ptr::weak_ptr, weak_ptr::operator=): Constrain templates
891         with _Constructible and _Assignable.
892         * include/bits/shared_ptr_base.h (__shared_ptr::_Convertible): Replace
893         with _Compatible.
894         (__shared_ptr::_SafeConv): New constraint for incoming raw pointers.
895         (__shared_ptr::_Compatible): New constraint for converting from
896         other types of shared_ptr and weak_ptr.
897         (__shared_ptr::_Assignable): Define in terms of _Compatible.
898         (__shared_ptr::_UniqCompatible, __shared_ptr::_UniqAssignable): New
899         constraints for converting from unique_ptr.
900         (__shared_ptr::__shared_ptr, __shared_ptr::operator=): Constrain
901         template with _SaveConf, _Compatible and _Assignable. Remove
902         __glibcxx_function_requires concept checks. Add static assertion for
903         deleter expression being well-formed.
904         (__shared_ptr::__shared_ptr(__shared_ptr<_Tp1>, _Tp*))
905         (__shared_ptr::operator*, __shared_ptr::operator->)
906         (__shared_ptr::get, __shared_ptr::_M_ptr): Use element_type instead
907         of _Tp.
908         (operator<): Likewise.
909         (operator>): Define in terms of operator<.
910         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
911         element_type instead of _Tp.
912         (reinterpret_pointer_cast): Define for C++17.
913         (weak_ptr::_Convertible): Replace with _Compatible.
914         (weak_ptr::_Compatible, weak_ptr::_Assignable): New constraints for
915         conversions from other types of weak_ptr and shared_ptr.
916         (__weak_ptr::__weak_ptr, __weak_ptr::operator=): Constrain templates
917         with _Constructible and _Assignable.
918         (__weak_ptr::_M_ptr): Use element_type instead of _Tp.
919         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Adjust
920         dg-error pattern.
921         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Test conversions.
922         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
923         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
924         * testsuite/20_util/shared_ptr/casts/reinterpret.cc: New test.
926 2016-10-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
928         Do the operator= SFINAE in the return type for optional,
929         not in the template parameters.
930         * include/std/optional (operator=(_Up&&)): Move SFINAE
931         from template parameters to the return type.
932         (operator=(const optional<_Up>&)): Likewise.
933         (operator=(optional<_Up>&&)): Likewise.
935 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
937         * include/bits/allocator.h: Remove trailing whitespace, tab-indent.
938         * include/ext/new_allocator.h: Likewise.
940         PR libstdc++/78052
941         * include/bits/allocator.h (allocator<void>::construct)
942         (allocator<void>::destroy): Define.
943         * testsuite/20_util/allocator/void.cc: New test.
945         * testsuite/20_util/enable_shared_from_this/56383.cc: Add tests for
946         additional ambiguous cases.
948 2016-10-19  Jonathan Wakely  <jwakely@redhat.com>
950         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&)): Call
951         _M_enable_shared_from_this_with instead of
952         __enable_shared_from_this_helper.
953         * include/bits/shared_ptr.h (__enable_shared_from_this_helper):
954         Remove overload for std::enable_shared_from_this..
955         (__enable_shared_from_this_base): Define friend function to select a
956         std::enable_shared_from_this base class.
957         * include/bits/shared_ptr_base.h (__enable_shared_from_this_helper):
958         Remove all overloads.
959         (__shared_ptr): Change all relevant constructors to call
960         _M_enable_shared_from_this_with instead of
961         __enable_shared_from_this_helper.
962         (__shared_ptr::__efst_base_t, __shared_ptr::__has_efst_base): Helpers
963         to detect accessible and unambiguous enable_shared_from_this bases.
964         (__shared_ptr::_M_enable_shared_from_this_with): New function to
965         replace __enable_shared_from_this_helper overloads.
966         (__enable_shared_from_this_helper): Remove overload for
967         std::__enable_shared_from_this.
968         (__enable_shared_from_this_base): Define friend function to select a
969         std::__enable_shared_from_this base class.
970         * include/experimental/bits/shared_ptr.h (experimental::shared_ptr):
971         Change relevant constructors to call _M_enable_shared_from_this_with.
972         (experimental::shared_ptr::__efst_base_t)
973         (experimental::shared_ptr::__has_efst_base): Helpers to detect
974         accessible and unambiguous enable_shared_from_this bases.
975         (experimental::shared_ptr::_M_enable_shared_from_this_with): Define.
976         (experimental::__enable_shared_from_this_helper): Remove overload for
977         std::experimental::enable_shared_from_this.
978         (experimental::__expt_enable_shared_from_this_base): Define friend
979         function to select a std::experimental::enable_shared_from_this base.
980         * testsuite/experimental/memory/shared_ptr/cons/
981         enable_shared_from_this.cc: New test.
982         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
983         Adjust expected behaviour for shared_ptr<A[]>.
985         * include/debug/vector (__gnu_debug::vector::emplace_back): Fix return
986         type.
988         * include/backward/auto_ptr.h (dauto_ptr): Correct comment about
989         conversions from auto_ptr<Derived> rvalues to auto_ptr<Base>.
990         * testsuite/20_util/auto_ptr/assign_neg.cc: Remove redundant dg-error
991         directives that only match notes, not errors.
993         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
994         Add tests for valid and invalid conversions.
995         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
996         Likewise.
998         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Move negative tests
999         to new file.
1000         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: New file.  Fix
1001         test for incompatible deleters to not also use incompatible types.
1002         Add tests for incompatible array types.
1004         * include/experimental/bits/shared_ptr.h
1005         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_Compatible): Just use
1006         is_convertible for non-array specialization.
1007         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_UniqCompatible): New
1008         constraint for conversions from unique_ptr.
1009         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::__shared_ptr): Constrain.
1010         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::reset): Likewise.
1011         (__sp_compatible_v): New variable template for trait.
1012         (__sp_is_constructible): New trait to check shared_ptr constraints.
1013         (__sp_is_constructible_v): New variable template for trait.
1014         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_SafeConv): New
1015         constraint for construction/reset, using __sp_is_constructible_v.
1016         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_UniqCompatible): New
1017         constraint for conversions from unique_ptr.
1018         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::__shared_ptr): Constrain.
1019         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::reset): Likewise.
1020         (shared_ptr::_SafeConv): Constraint for checking constructors.
1021         (shared_ptr(Tp1*), shared_ptr(_Tp1, _Deleter))
1022         (shared_ptr(_Tp1, _Deleter, _Alloc)): Constrain with _SafeConv.
1023         (shared_ptr(const weak_ptr<_Tp1>&)): Constrain with _Compatible.
1024         (shared_ptr(auto_ptr<_Tp1>&&)): Fix, remove TODO.
1025         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
1026         Remove tests using invalid conversions.
1027         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor_neg.cc:
1028         New test.
1029         * testsuite/experimental/memory/shared_ptr/cons/torture.cc: New test.
1030         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Remove
1031         tests using invalid conversions.
1032         * testsuite/experimental/memory/shared_ptr/modifiers/reset_neg.cc: New
1033         test.
1034         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
1035         Remove tests using invalid conversions.
1037         PR libstdc++/77990
1038         * include/bits/unique_ptr.h (__uniq_ptr_impl): New type to
1039         encapsulate implementation details.
1040         (unique_ptr::unique_ptr(_Up)): Don't copy deleter object.
1041         (unique_ptr::get, unique_ptr::get_deleter, unique_ptr::release):
1042         Call member functions of implementation object.
1043         (unique_ptr<T[], D>): Likewise.
1044         * python/libstdcxx/v6/printers.py (UniquePointerPrinter): Adjust for
1045         new implementation.
1046         * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker): Likewise.
1047         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
1048         lines.
1049         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
1050         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
1051         * testsuite/20_util/unique_ptr/cons/77990.cc: New test.
1053 2016-10-18  Jonathan Wakely  <jwakely@redhat.com>
1055         * include/experimental/bits/shared_ptr.h: Fix indentation.
1057         * include/experimental/bits/shared_ptr.h (shared_ptr(shared_ptr&&)):
1058         Remove const from parameter.
1059         (operator<(const shared_ptr<T>&, nullptr_t)): Use correct
1060         specialization of std::less.
1061         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
1062         Test comparison with nullptr and actually call test functions.
1064         * include/bits/uses_allocator.h (__is_uses_allocator_constructible_v)
1065         (__is_nothrow_uses_allocator_constructible_v): Only define for C++14
1066         and later.
1068 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1070         * testsuite/27_io/basic_filebuf/close/12790-1.cc: Remove 'test'
1071         variables.
1072         * testsuite/27_io/basic_filebuf/close/char/1.cc: Likewise.
1073         * testsuite/27_io/basic_filebuf/close/char/12790-1.cc: Likewise.
1074         * testsuite/27_io/basic_filebuf/close/char/12790-2.cc: Likewise.
1075         * testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Likewise.
1076         * testsuite/27_io/basic_filebuf/close/char/12790-4.cc: Likewise.
1077         * testsuite/27_io/basic_filebuf/close/char/2.cc: Likewise.
1078         * testsuite/27_io/basic_filebuf/close/char/3.cc: Likewise.
1079         * testsuite/27_io/basic_filebuf/close/char/4.cc: Likewise.
1080         * testsuite/27_io/basic_filebuf/close/char/5.cc: Likewise.
1081         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc: Likewise.
1082         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc: Likewise.
1083         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc: Likewise.
1084         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc: Likewise.
1085         * testsuite/27_io/basic_filebuf/cons/2020.cc: Likewise.
1086         * testsuite/27_io/basic_filebuf/cons/char/1.cc: Likewise.
1087         * testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
1088         * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: Likewise.
1089         * testsuite/27_io/basic_filebuf/imbue/12206.cc: Likewise.
1090         * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
1091         * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
1092         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
1093         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
1094         * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
1095         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
1096         * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
1097         * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
1098         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: Likewise.
1099         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
1100         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
1101         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
1102         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
1103         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
1104         * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
1105         * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
1106         * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
1107         * testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: Likewise.
1108         * testsuite/27_io/basic_filebuf/is_open/char/1.cc: Likewise.
1109         * testsuite/27_io/basic_filebuf/open/12790-1.cc: Likewise.
1110         * testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise.
1111         * testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise.
1112         * testsuite/27_io/basic_filebuf/open/char/3.cc: Likewise.
1113         * testsuite/27_io/basic_filebuf/open/char/4.cc: Likewise.
1114         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1115         * testsuite/27_io/basic_filebuf/overflow/char/1.cc: Likewise.
1116         * testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Likewise.
1117         * testsuite/27_io/basic_filebuf/overflow/char/2.cc: Likewise.
1118         * testsuite/27_io/basic_filebuf/overflow/char/3599.cc: Likewise.
1119         * testsuite/27_io/basic_filebuf/overflow/char/9169.cc: Likewise.
1120         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Likewise.
1121         * testsuite/27_io/basic_filebuf/overflow/char/9988.cc: Likewise.
1122         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise.
1123         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise.
1124         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise.
1125         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise.
1126         * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: Likewise.
1127         * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Likewise.
1128         * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Likewise.
1129         * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Likewise.
1130         * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Likewise.
1131         * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Likewise.
1132         * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: Likewise.
1133         * testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc: Likewise.
1134         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
1135         * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Likewise.
1136         * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Likewise.
1137         * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Likewise.
1138         * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Likewise.
1139         * testsuite/27_io/basic_filebuf/seekoff/45628-2.cc: Likewise.
1140         * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise.
1141         * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Likewise.
1142         * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise.
1143         * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: Likewise.
1144         * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: Likewise.
1145         * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc: Likewise.
1146         * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc: Likewise.
1147         * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc: Likewise.
1148         * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc: Likewise.
1149         * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise.
1150         * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
1151         * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise.
1152         * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Likewise.
1153         * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Likewise.
1154         * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
1155         * testsuite/27_io/basic_filebuf/seekoff/char/4.cc: Likewise.
1156         * testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc: Likewise.
1157         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
1158         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: Likewise.
1159         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc: Likewise.
1160         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc: Likewise.
1161         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc: Likewise.
1162         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc: Likewise.
1163         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: Likewise.
1164         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Likewise.
1165         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Likewise.
1166         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
1167         Likewise.
1168         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
1169         * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Likewise.
1170         * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Likewise.
1171         * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Likewise.
1172         * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Likewise.
1173         * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise.
1174         * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Likewise.
1175         * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc: Likewise.
1176         * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc: Likewise.
1177         * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc: Likewise.
1178         * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc: Likewise.
1179         * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Likewise.
1180         * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise.
1181         * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Likewise.
1182         * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
1183         * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Likewise.
1184         * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.
1185         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Likewise.
1186         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc: Likewise.
1187         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc: Likewise.
1188         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc: Likewise.
1189         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc: Likewise.
1190         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
1191         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
1192         Likewise.
1193         * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise.
1194         * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: Likewise.
1195         * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc
1196         * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Likewise.
1197         * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
1198         * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Likewise.
1199         * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Likewise.
1200         * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Likewise.
1201         * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Likewise.
1202         * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Likewise.
1203         * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: Likewise.
1204         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Likewise.
1205         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
1206         * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Likewise.
1207         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
1208         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
1209         * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: Likewise.
1210         * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: Likewise.
1211         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Likewise.
1212         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Likewise.
1213         * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Likewise.
1214         * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Likewise.
1215         * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Likewise.
1216         * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Likewise.
1217         * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Likewise.
1218         * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: Likewise.
1219         * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: Likewise.
1220         * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Likewise.
1221         * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Likewise.
1222         * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: Likewise.
1223         * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Likewise.
1224         * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: Likewise.
1225         * testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc: Likewise.
1226         * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: Likewise.
1227         * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Likewise.
1228         * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Likewise.
1229         * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: Likewise.
1230         * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Likewise.
1231         * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: Likewise.
1232         * testsuite/27_io/basic_filebuf/sputc/char/59427.cc: Likewise.
1233         * testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Likewise.
1234         * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: Likewise.
1235         * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Likewise.
1236         * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Likewise.
1237         * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: Likewise.
1238         * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: Likewise.
1239         * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: Likewise.
1240         * testsuite/27_io/basic_filebuf/sputn/char/59427.cc: Likewise.
1241         * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Likewise.
1242         * testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Likewise.
1243         * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Likewise.
1244         * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Likewise.
1245         * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Likewise.
1246         * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Likewise.
1247         * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Likewise.
1248         * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: Likewise.
1249         * testsuite/27_io/basic_filebuf/sync/char/1057.cc: Likewise.
1250         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Likewise.
1251         * testsuite/27_io/basic_filebuf/underflow/char/1.cc: Likewise.
1252         * testsuite/27_io/basic_filebuf/underflow/char/2.cc: Likewise.
1253         * testsuite/27_io/basic_filebuf/underflow/char/3.cc: Likewise.
1254         * testsuite/27_io/basic_filebuf/underflow/char/45841.cc: Likewise.
1255         * testsuite/27_io/basic_filebuf/underflow/char/9027.cc: Likewise.
1256         * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
1257         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: Likewise.
1258         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: Likewise.
1259         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: Likewise.
1260         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: Likewise.
1261         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: Likewise.
1262         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: Likewise.
1263         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: Likewise.
1264         * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
1265         * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
1266         * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: Likewise.
1267         * testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc: Likewise.
1268         * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: Likewise.
1269         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Likewise.
1270         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
1271         * testsuite/27_io/basic_fstream/cons/1.cc: Likewise.
1272         * testsuite/27_io/basic_fstream/rdbuf/char/2832.cc: Likewise.
1273         * testsuite/27_io/basic_ifstream/cons/2020.cc: Likewise.
1274         * testsuite/27_io/basic_ifstream/cons/char/1.cc: Likewise.
1275         * testsuite/27_io/basic_ifstream/open/char/1.cc: Likewise.
1276         * testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc: Likewise.
1277         * testsuite/27_io/basic_ios/clear/char/1.cc: Likewise.
1278         * testsuite/27_io/basic_ios/cons/2020.cc: Likewise.
1279         * testsuite/27_io/basic_ios/cons/char/1.cc: Likewise.
1280         * testsuite/27_io/basic_ios/cons/char/2.cc: Likewise.
1281         * testsuite/27_io/basic_ios/cons/char/3.cc: Likewise.
1282         * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise.
1283         * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
1284         * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
1285         * testsuite/27_io/basic_ios/imbue/14072.cc: Likewise.
1286         * testsuite/27_io/basic_ios/locales/char/1.cc: Likewise.
1287         * testsuite/27_io/basic_iostream/cons/2020.cc: Likewise.
1288         * testsuite/27_io/basic_istream/cons/3.cc: Likewise.
1289         * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Likewise.
1290         * testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc: Likewise.
1291         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1292         Likewise.
1293         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1294         Likewise.
1295         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1296         Likewise.
1297         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1298         Likewise.
1299         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1300         Likewise.
1301         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1302         Likewise.
1303         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1304         Likewise.
1305         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1306         Likewise.
1307         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1308         Likewise.
1309         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1310         Likewise.
1311         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1312         Likewise.
1313         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
1314         Likewise.
1315         * testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc:
1316         Likewise.
1317         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1318         exceptions_badbit_throw.cc: Likewise.
1319         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1320         exceptions_failbit.cc: Likewise.
1321         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1322         exceptions_failbit_throw.cc: Likewise.
1323         * testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc:
1324         Likewise.
1325         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
1326         Likewise.
1327         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/02.cc:
1328         Likewise.
1329         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/03.cc:
1330         Likewise.
1331         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/06.cc:
1332         Likewise.
1333         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc:
1334         Likewise.
1335         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/08.cc:
1336         Likewise.
1337         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
1338         Likewise.
1339         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
1340         Likewise.
1341         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/11.cc:
1342         Likewise.
1343         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1344         Likewise.
1345         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc:
1346         Likewise.
1347         * testsuite/27_io/basic_istream/extractors_arithmetic/
1348         wchar_t/9555-ia.cc: Likewise.
1349         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1350         dr696.cc: Likewise.
1351         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1352         exceptions_badbit_throw.cc: Likewise.
1353         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1354         exceptions_failbit.cc: Likewise.
1355         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1356         exceptions_failbit_throw.cc: Likewise.
1357         * testsuite/27_io/basic_istream/extractors_character/char/1.cc:
1358         Likewise.
1359         * testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc:
1360         Likewise.
1361         * testsuite/27_io/basic_istream/extractors_character/char/2.cc:
1362         Likewise.
1363         * testsuite/27_io/basic_istream/extractors_character/char/3.cc:
1364         Likewise.
1365         * testsuite/27_io/basic_istream/extractors_character/char/4.cc:
1366         Likewise.
1367         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
1368         Likewise.
1369         * testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc:
1370         Likewise.
1371         * testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc:
1372         Likewise.
1373         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1374         11095-i.cc: Likewise.
1375         * testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc:
1376         Likewise.
1377         * testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc:
1378         Likewise.
1379         * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
1380         Likewise.
1381         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1382         9555-ic.cc: Likewise.
1383         * testsuite/27_io/basic_istream/extractors_other/char/1.cc: Likewise.
1384         * testsuite/27_io/basic_istream/extractors_other/char/2.cc: Likewise.
1385         * testsuite/27_io/basic_istream/extractors_other/char/26181.cc:
1386         Likewise.
1387         * testsuite/27_io/basic_istream/extractors_other/char/3.cc: Likewise.
1388         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1389         Likewise.
1390         * testsuite/27_io/basic_istream/extractors_other/char/9424-in.cc:
1391         Likewise.
1392         * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
1393         Likewise.
1394         * testsuite/27_io/basic_istream/extractors_other/char/
1395         error_failbit.cc: Likewise.
1396         * testsuite/27_io/basic_istream/extractors_other/char/
1397         exceptions_badbit_throw.cc: Likewise.
1398         * testsuite/27_io/basic_istream/extractors_other/char/
1399         exceptions_failbit_throw.cc: Likewise.
1400         * testsuite/27_io/basic_istream/extractors_other/char/
1401         exceptions_null.cc: Likewise.
1402         * testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc:
1403         Likewise.
1404         * testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc: Likewise.
1405         * testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc: Likewise.
1406         * testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc:
1407         Likewise.
1408         * testsuite/27_io/basic_istream/extractors_other/wchar_t/3.cc: Likewise.
1409         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9318-in.cc:
1410         Likewise.
1411         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9424-in.cc:
1412         Likewise.
1413         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9555-io.cc:
1414         Likewise.
1415         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1416         error_failbit.cc: Likewise.
1417         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1418         exceptions_badbit_throw.cc: Likewise.
1419         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1420         exceptions_failbit_throw.cc: Likewise.
1421         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1422         exceptions_null.cc: Likewise.
1423         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1424         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1425         * testsuite/27_io/basic_istream/get/char/3.cc: Likewise.
1426         * testsuite/27_io/basic_istream/get/wchar_t/1.cc: Likewise.
1427         * testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise.
1428         * testsuite/27_io/basic_istream/get/wchar_t/3.cc: Likewise.
1429         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1430         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1431         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1432         * testsuite/27_io/basic_istream/getline/char/4.cc: Likewise.
1433         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
1434         * testsuite/27_io/basic_istream/getline/char/6.cc: Likewise.
1435         * testsuite/27_io/basic_istream/getline/wchar_t/1.cc: Likewise.
1436         * testsuite/27_io/basic_istream/getline/wchar_t/2.cc: Likewise.
1437         * testsuite/27_io/basic_istream/getline/wchar_t/3.cc: Likewise.
1438         * testsuite/27_io/basic_istream/getline/wchar_t/4.cc: Likewise.
1439         * testsuite/27_io/basic_istream/getline/wchar_t/5.cc: Likewise.
1440         * testsuite/27_io/basic_istream/getline/wchar_t/6.cc: Likewise.
1441         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1442         * testsuite/27_io/basic_istream/ignore/char/2.cc: Likewise.
1443         * testsuite/27_io/basic_istream/ignore/char/3.cc: Likewise.
1444         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1445         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1446         * testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
1447         * testsuite/27_io/basic_istream/ignore/wchar_t/2.cc: Likewise.
1448         * testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise.
1449         * testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc: Likewise.
1450         * testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc: Likewise.
1451         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1452         * testsuite/27_io/basic_istream/peek/char/12296.cc: Likewise.
1453         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1454         * testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise.
1455         * testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise.
1456         * testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise.
1457         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1458         * testsuite/27_io/basic_istream/putback/wchar_t/1.cc: Likewise.
1459         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1460         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1461         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1462         * testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
1463         * testsuite/27_io/basic_istream/read/wchar_t/2.cc: Likewise.
1464         * testsuite/27_io/basic_istream/read/wchar_t/3.cc: Likewise.
1465         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc: Likewise.
1466         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Likewise.
1467         * testsuite/27_io/basic_istream/readsome/char/8258.cc: Likewise.
1468         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc: Likewise.
1469         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Likewise.
1470         * testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc: Likewise.
1471         * testsuite/27_io/basic_istream/seekg/char/2.cc: Likewise.
1472         * testsuite/27_io/basic_istream/seekg/char/26211.cc: Likewise.
1473         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1474         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1475         * testsuite/27_io/basic_istream/seekg/char/
1476         exceptions_badbit_throw.cc: Likewise.
1477         * testsuite/27_io/basic_istream/seekg/char/fstream.cc: Likewise.
1478         * testsuite/27_io/basic_istream/seekg/char/sstream.cc: Likewise.
1479         * testsuite/27_io/basic_istream/seekg/wchar_t/2.cc: Likewise.
1480         * testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
1481         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
1482         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise.
1483         * testsuite/27_io/basic_istream/seekg/wchar_t/
1484         exceptions_badbit_throw.cc: Likewise.
1485         * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
1486         * testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise.
1487         * testsuite/27_io/basic_istream/sentry/char/1.cc: Likewise.
1488         * testsuite/27_io/basic_istream/sentry/char/2.cc: Likewise.
1489         * testsuite/27_io/basic_istream/sentry/char/3.cc: Likewise.
1490         * testsuite/27_io/basic_istream/sentry/pod/1.cc: Likewise.
1491         * testsuite/27_io/basic_istream/sentry/wchar_t/1.cc: Likewise.
1492         * testsuite/27_io/basic_istream/sentry/wchar_t/2.cc: Likewise.
1493         * testsuite/27_io/basic_istream/sentry/wchar_t/3.cc: Likewise.
1494         * testsuite/27_io/basic_istream/tellg/char/1.cc: Likewise.
1495         * testsuite/27_io/basic_istream/tellg/char/2.cc: Likewise.
1496         * testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
1497         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1498         * testsuite/27_io/basic_istream/tellg/char/
1499         exceptions_badbit_throw.cc: Likewise.
1500         * testsuite/27_io/basic_istream/tellg/char/fstream.cc: Likewise.
1501         * testsuite/27_io/basic_istream/tellg/char/sstream.cc: Likewise.
1502         * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
1503         * testsuite/27_io/basic_istream/tellg/wchar_t/2.cc: Likewise.
1504         * testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
1505         * testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
1506         * testsuite/27_io/basic_istream/tellg/wchar_t/
1507         exceptions_badbit_throw.cc: Likewise.
1508         * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
1509         * testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise.
1510         * testsuite/27_io/basic_istream/ws/char/1.cc: Likewise.
1511         * testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise.
1512         * testsuite/27_io/basic_istringstream/cons/2020.cc: Likewise.
1513         * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Likewise.
1514         * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: Likewise.
1515         * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise.
1516         * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
1517         * testsuite/27_io/basic_ofstream/cons/2020.cc: Likewise.
1518         * testsuite/27_io/basic_ofstream/cons/char/1.cc: Likewise.
1519         * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise.
1520         * testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc: Likewise.
1521         * testsuite/27_io/basic_ostream/cons/2020.cc: Likewise.
1522         * testsuite/27_io/basic_ostream/cons/char/9827.cc: Likewise.
1523         * testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: Likewise.
1524         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1525         * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise.
1526         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise.
1527         * testsuite/27_io/basic_ostream/ends/char/2.cc: Likewise.
1528         * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise.
1529         * testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise.
1530         * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise.
1531         * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise.
1532         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1533         * testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise.
1534         * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
1535         Likewise.
1536         * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise.
1537         * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise.
1538         * testsuite/27_io/basic_ostream/flush/wchar_t/
1539         exceptions_badbit_throw.cc: Likewise.
1540         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1541         Likewise.
1542         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1543         Likewise.
1544         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc:
1545         Likewise.
1546         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4.cc:
1547         Likewise.
1548         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc:
1549         Likewise.
1550         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/5.cc:
1551         Likewise.
1552         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc:
1553         Likewise.
1554         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc:
1555         Likewise.
1556         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
1557         Likewise.
1558         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1559         exceptions_badbit_throw.cc: Likewise.
1560         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1561         exceptions_failbit_throw.cc: Likewise.
1562         * testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc:
1563         Likewise.
1564         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1565         Likewise.
1566         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
1567         Likewise.
1568         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/3.cc:
1569         Likewise.
1570         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4.cc:
1571         Likewise.
1572         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc:
1573         Likewise.
1574         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc:
1575         Likewise.
1576         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc:
1577         Likewise.
1578         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc:
1579         Likewise.
1580         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1581         9555-oa.cc: Likewise.
1582         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1583         exceptions_badbit_throw.cc: Likewise.
1584         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1585         exceptions_failbit_throw.cc: Likewise.
1586         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc:
1587         Likewise.
1588         * testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc:
1589         Likewise.
1590         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc:
1591         Likewise.
1592         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc: Likewise.
1593         * testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc:
1594         Likewise.
1595         * testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc:
1596         Likewise.
1597         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc: Likewise.
1598         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc: Likewise.
1599         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc: Likewise.
1600         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc: Likewise.
1601         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc: Likewise.
1602         * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
1603         Likewise.
1604         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1605         11095-od.cc: Likewise.
1606         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1607         11095-oe.cc: Likewise.
1608         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1609         11095-of.cc: Likewise.
1610         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/2.cc:
1611         Likewise.
1612         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1613         28277-1.cc: Likewise.
1614         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1615         28277-2.cc: Likewise.
1616         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1617         28277-3.cc: Likewise.
1618         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1619         28277-4.cc: Likewise.
1620         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/3.cc:
1621         Likewise.
1622         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc:
1623         Likewise.
1624         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/5.cc:
1625         Likewise.
1626         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/6.cc:
1627         Likewise.
1628         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1629         Likewise.
1630         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1631         Likewise.
1632         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1633         9555-oc.cc: Likewise.
1634         * testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Likewise.
1635         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Likewise.
1636         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Likewise.
1637         * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: Likewise.
1638         * testsuite/27_io/basic_ostream/inserters_other/char/9318-out.cc:
1639         Likewise.
1640         * testsuite/27_io/basic_ostream/inserters_other/char/9424-out.cc:
1641         Likewise.
1642         * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
1643         Likewise.
1644         * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
1645         Likewise.
1646         * testsuite/27_io/basic_ostream/inserters_other/char/
1647         error_failbit.cc: Likewise.
1648         * testsuite/27_io/basic_ostream/inserters_other/char/
1649         exceptions_badbit_throw.cc: Likewise.
1650         * testsuite/27_io/basic_ostream/inserters_other/char/
1651         exceptions_failbit_throw.cc: Likewise.
1652         * testsuite/27_io/basic_ostream/inserters_other/char/
1653         exceptions_null.cc: Likewise.
1654         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc: Likewise.
1655         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc: Likewise.
1656         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/4.cc: Likewise.
1657         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/5.cc: Likewise.
1658         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1659         9318-out.cc: Likewise.
1660         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1661         9424-out.cc: Likewise.
1662         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1663         9555-oo.cc: Likewise.
1664         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1665         error_code.cc: Likewise.
1666         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1667         error_failbit.cc: Likewise.
1668         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1669         exceptions_badbit_throw.cc: Likewise.
1670         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1671         exceptions_failbit_throw.cc: Likewise.
1672         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1673         exceptions_null.cc: Likewise.
1674         * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
1675         * testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise.
1676         * testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc: Likewise.
1677         * testsuite/27_io/basic_ostream/seekp/char/2346-sstream.cc: Likewise.
1678         * testsuite/27_io/basic_ostream/seekp/char/
1679         exceptions_badbit_throw.cc: Likewise.
1680         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc: Likewise.
1681         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-sstream.cc: Likewise.
1682         * testsuite/27_io/basic_ostream/seekp/wchar_t/
1683         exceptions_badbit_throw.cc: Likewise.
1684         * testsuite/27_io/basic_ostream/sentry/char/1.cc: Likewise.
1685         * testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise.
1686         * testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise.
1687         * testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise.
1688         * testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise.
1689         * testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
1690         * testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
1691         * testsuite/27_io/basic_ostream/tellp/char/
1692         exceptions_badbit_throw.cc: Likewise.
1693         * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
1694         * testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise.
1695         * testsuite/27_io/basic_ostream/tellp/wchar_t/
1696         exceptions_badbit_throw.cc: Likewise.
1697         * testsuite/27_io/basic_ostream/write/char/1.cc: Likewise.
1698         * testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise.
1699         * testsuite/27_io/basic_ostringstream/cons/2020.cc: Likewise.
1700         * testsuite/27_io/basic_ostringstream/cons/char/3.cc: Likewise.
1701         * testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise.
1702         * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc: Likewise.
1703         * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise.
1704         * testsuite/27_io/basic_ostringstream/str/char/1.cc: Likewise.
1705         * testsuite/27_io/basic_ostringstream/str/char/2.cc: Likewise.
1706         * testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
1707         * testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise.
1708         * testsuite/27_io/basic_streambuf/cons/2020.cc: Likewise.
1709         * testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise.
1710         * testsuite/27_io/basic_streambuf/cons/char/1.cc: Likewise.
1711         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
1712         * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: Likewise.
1713         * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
1714         * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
1715         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: Likewise.
1716         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
1717         * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
1718         * testsuite/27_io/basic_streambuf/in_avail/char/1.cc: Likewise.
1719         * testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc: Likewise.
1720         * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
1721         * testsuite/27_io/basic_streambuf/overflow/char/2.cc: Likewise.
1722         * testsuite/27_io/basic_streambuf/overflow/char/3599.cc: Likewise.
1723         * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc: Likewise.
1724         * testsuite/27_io/basic_streambuf/overflow/wchar_t/2.cc: Likewise.
1725         * testsuite/27_io/basic_streambuf/overflow/wchar_t/3599.cc: Likewise.
1726         * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
1727         * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
1728         * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
1729         * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
1730         * testsuite/27_io/basic_streambuf/sputbackc/char/9538.cc: Likewise.
1731         * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
1732         * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
1733         * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
1734         * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
1735         * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
1736         * testsuite/27_io/basic_stringbuf/cons/2020.cc: Likewise.
1737         * testsuite/27_io/basic_stringbuf/cons/char/1.cc: Likewise.
1738         * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
1739         * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Likewise.
1740         * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
1741         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Likewise.
1742         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
1743         * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Likewise.
1744         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
1745         * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: Likewise.
1746         * testsuite/27_io/basic_stringbuf/overflow/char/2.cc: Likewise.
1747         * testsuite/27_io/basic_stringbuf/overflow/char/26250.cc: Likewise.
1748         * testsuite/27_io/basic_stringbuf/overflow/char/3599.cc: Likewise.
1749         * testsuite/27_io/basic_stringbuf/overflow/char/9988.cc: Likewise.
1750         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc: Likewise.
1751         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/2.cc: Likewise.
1752         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc: Likewise.
1753         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/3599.cc: Likewise.
1754         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/9988.cc: Likewise.
1755         * testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: Likewise.
1756         * testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
1757         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
1758         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
1759         * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Likewise.
1760         * testsuite/27_io/basic_stringbuf/sbumpc/char/9825.cc: Likewise.
1761         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Likewise.
1762         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/9825.cc: Likewise.
1763         * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Likewise.
1764         * testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: Likewise.
1765         * testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: Likewise.
1766         * testsuite/27_io/basic_stringbuf/seekoff/char/2.cc: Likewise.
1767         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
1768         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
1769         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: Likewise.
1770         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/2.cc: Likewise.
1771         * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
1772         * testsuite/27_io/basic_stringbuf/seekpos/char/2.cc: Likewise.
1773         * testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc: Likewise.
1774         * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Likewise.
1775         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
1776         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/2.cc: Likewise.
1777         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc: Likewise.
1778         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/3.cc: Likewise.
1779         * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Likewise.
1780         * testsuite/27_io/basic_stringbuf/setbuf/char/2.cc: Likewise.
1781         * testsuite/27_io/basic_stringbuf/setbuf/char/3.cc: Likewise.
1782         * testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: Likewise.
1783         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Likewise.
1784         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/2.cc: Likewise.
1785         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/3.cc: Likewise.
1786         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.
1787         * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Likewise.
1788         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
1789         * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Likewise.
1790         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
1791         * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Likewise.
1792         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
1793         * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Likewise.
1794         * testsuite/27_io/basic_stringbuf/sputbackc/char/9425.cc: Likewise.
1795         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Likewise.
1796         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc: Likewise.
1797         * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Likewise.
1798         * testsuite/27_io/basic_stringbuf/sputc/char/9404-1.cc: Likewise.
1799         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Likewise.
1800         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/9404-1.cc: Likewise.
1801         * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Likewise.
1802         * testsuite/27_io/basic_stringbuf/sputn/char/9404-2.cc: Likewise.
1803         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Likewise.
1804         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/9404-2.cc: Likewise.
1805         * testsuite/27_io/basic_stringbuf/str/char/1.cc: Likewise.
1806         * testsuite/27_io/basic_stringbuf/str/char/2.cc: Likewise.
1807         * testsuite/27_io/basic_stringbuf/str/char/3.cc: Likewise.
1808         * testsuite/27_io/basic_stringbuf/str/char/3955.cc: Likewise.
1809         * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc: Likewise.
1810         * testsuite/27_io/basic_stringbuf/str/wchar_t/2.cc: Likewise.
1811         * testsuite/27_io/basic_stringbuf/str/wchar_t/3.cc: Likewise.
1812         * testsuite/27_io/basic_stringbuf/str/wchar_t/3955.cc: Likewise.
1813         * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise.
1814         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
1815         * testsuite/27_io/basic_stringbuf/sync/char/1057.cc: Likewise.
1816         * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
1817         * testsuite/27_io/basic_stringstream/cons/2020.cc: Likewise.
1818         * testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Likewise.
1819         * testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: Likewise.
1820         * testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise.
1821         * testsuite/27_io/basic_stringstream/str/char/2.cc: Likewise.
1822         * testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise.
1823         * testsuite/27_io/basic_stringstream/str/char/4.cc: Likewise.
1824         * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
1825         * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise.
1826         * testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise.
1827         * testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise.
1828         * testsuite/27_io/fpos/11450.cc: Likewise.
1829         * testsuite/27_io/fpos/14252.cc: Likewise.
1830         * testsuite/27_io/fpos/14320-1.cc: Likewise.
1831         * testsuite/27_io/fpos/14320-2.cc: Likewise.
1832         * testsuite/27_io/fpos/14320-3.cc: Likewise.
1833         * testsuite/27_io/fpos/14320-4.cc: Likewise.
1834         * testsuite/27_io/fpos/14320-5.cc: Likewise.
1835         * testsuite/27_io/fpos/14775.cc: Likewise.
1836         * testsuite/27_io/fpos/mbstate_t/1.cc: Likewise.
1837         * testsuite/27_io/fpos/mbstate_t/12065.cc: Likewise.
1838         * testsuite/27_io/fpos/mbstate_t/2.cc: Likewise.
1839         * testsuite/27_io/fpos/mbstate_t/3.cc: Likewise.
1840         * testsuite/27_io/ios_base/callbacks/1.cc: Likewise.
1841         * testsuite/27_io/ios_base/failure/what-1.cc: Likewise.
1842         * testsuite/27_io/ios_base/failure/what-2.cc: Likewise.
1843         * testsuite/27_io/ios_base/failure/what-3.cc: Likewise.
1844         * testsuite/27_io/ios_base/failure/what-big.cc: Likewise.
1845         * testsuite/27_io/ios_base/state/1.cc: Likewise.
1846         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
1847         * testsuite/27_io/ios_base/storage/11584.cc: Likewise.
1848         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
1849         * testsuite/27_io/ios_base/sync_with_stdio/2.cc: Likewise.
1850         * testsuite/27_io/manipulators/adjustfield/char/1.cc: Likewise.
1851         * testsuite/27_io/manipulators/adjustfield/char/2.cc
1852         * testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: Likewise.
1853         * testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise.
1854         * testsuite/27_io/manipulators/basefield/char/1.cc: Likewise.
1855         * testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise.
1856         * testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
1857         * testsuite/27_io/manipulators/extended/get_money/char/51288.cc:
1858         Likewise.
1859         * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
1860         Likewise.
1861         * testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc:
1862         Likewise.
1863         * testsuite/27_io/manipulators/extended/get_time/char/1.cc
1864         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise.
1865         * testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc: Likewise.
1866         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Likewise.
1867         * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
1868         * testsuite/27_io/manipulators/extended/put_money/char/51288.cc:
1869         Likewise.
1870         * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
1871         Likewise.
1872         * testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc:
1873         Likewise.
1874         * testsuite/27_io/manipulators/extended/put_time/char/1.cc: Likewise.
1875         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise.
1876         * testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc: Likewise.
1877         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Likewise.
1878         * testsuite/27_io/manipulators/standard/char/1.cc: Likewise.
1879         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
1880         * testsuite/27_io/manipulators/standard/char/dr2344.cc: Likewise.
1881         * testsuite/27_io/manipulators/standard/char/quoted.cc: Likewise.
1882         * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
1883         * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
1884         * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: Likewise.
1885         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Likewise.
1886         * testsuite/27_io/objects/char/1.cc: Likewise.
1887         * testsuite/27_io/objects/char/10.cc: Likewise.
1888         * testsuite/27_io/objects/char/3045.cc: Likewise.
1889         * testsuite/27_io/objects/char/41037.cc: Likewise.
1890         * testsuite/27_io/objects/char/5.cc: Likewise.
1891         * testsuite/27_io/objects/char/6.cc: Likewise.
1892         * testsuite/27_io/objects/char/6548_xin.cc: Likewise.
1893         * testsuite/27_io/objects/char/6648-1_xin.cc: Likewise.
1894         * testsuite/27_io/objects/char/6648-2_xin.cc: Likewise.
1895         * testsuite/27_io/objects/char/7744_xin.cc: Likewise.
1896         * testsuite/27_io/objects/char/8.cc: Likewise.
1897         * testsuite/27_io/objects/char/9.cc: Likewise.
1898         * testsuite/27_io/objects/char/9661-2_xin.cc: Likewise.
1899         * testsuite/27_io/objects/char/dr455.cc: Likewise.
1900         * testsuite/27_io/objects/wchar_t/1.cc: Likewise.
1901         * testsuite/27_io/objects/wchar_t/10.cc: Likewise.
1902         * testsuite/27_io/objects/wchar_t/11.cc: Likewise.
1903         * testsuite/27_io/objects/wchar_t/12.cc: Likewise.
1904         * testsuite/27_io/objects/wchar_t/13.cc: Likewise.
1905         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise.
1906         * testsuite/27_io/objects/wchar_t/3045.cc: Likewise.
1907         * testsuite/27_io/objects/wchar_t/41037.cc: Likewise.
1908         * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
1909         * testsuite/27_io/objects/wchar_t/6548_xin.cc: Likewise.
1910         * testsuite/27_io/objects/wchar_t/6648-1_xin.cc: Likewise.
1911         * testsuite/27_io/objects/wchar_t/6648-2_xin.cc: Likewise.
1912         * testsuite/27_io/objects/wchar_t/7744_xin.cc: Likewise.
1913         * testsuite/27_io/objects/wchar_t/8.cc: Likewise.
1914         * testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
1915         * testsuite/27_io/objects/wchar_t/9661-2_xin.cc: Likewise.
1916         * testsuite/27_io/objects/wchar_t/9662.cc: Likewise.
1917         * testsuite/27_io/objects/wchar_t/dr455.cc: Likewise.
1918         * testsuite/27_io/types/3.cc: Likewise.
1920 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
1922         PR libstdc++/77994
1923         * include/bits/stl_algo.h (sample): Convert size argument to iterator
1924         difference type.
1925         * include/experimental/algorithm (experimental::sample): Likewise.
1926         * testsuite/25_algorithms/sample/2.cc: New test.
1928 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1930         * testsuite/unordered_map/insert/57619.C: Rename to 57619.cc.
1931         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
1933 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1935         * testsuite/array/capacity/empty.cc: Remove 'test' variables.
1936         * testsuite/array/capacity/max_size.cc: Likewise.
1937         * testsuite/array/capacity/size.cc: Likewise.
1938         * testsuite/array/comparison_operators/equal.cc: Likewise.
1939         * testsuite/array/comparison_operators/greater.cc: Likewise.
1940         * testsuite/array/comparison_operators/greater_or_equal.cc: Likewise.
1941         * testsuite/array/comparison_operators/less.cc: Likewise.
1942         * testsuite/array/comparison_operators/less_or_equal.cc: Likewise.
1943         * testsuite/array/comparison_operators/not_equal.cc: Likewise.
1944         * testsuite/array/element_access/54388.cc: Likewise.
1945         * testsuite/array/element_access/at_out_of_range.cc: Likewise.
1946         * testsuite/array/element_access/back.cc: Likewise.
1947         * testsuite/array/element_access/data.cc: Likewise.
1948         * testsuite/array/element_access/front.cc: Likewise.
1949         * testsuite/array/iterators/end_is_one_past.cc: Likewise.
1950         * testsuite/array/requirements/contiguous.cc: Likewise.
1951         * testsuite/array/requirements/fill.cc: Likewise.
1952         * testsuite/array/requirements/member_swap.cc: Likewise.
1953         * testsuite/array/requirements/zero_sized_arrays.cc: Likewise.
1954         * testsuite/array/specialized_algorithms/swap.cc: Likewise.
1955         * testsuite/array/tuple_interface/tuple_element.cc: Likewise.
1956         * testsuite/array/tuple_interface/tuple_element_cpp14.cc: Likewise.
1957         * testsuite/array/tuple_interface/tuple_size.cc: Likewise.
1958         * testsuite/bitset/all/1.cc: Likewise.
1959         * testsuite/bitset/cons/1.cc: Likewise.
1960         * testsuite/bitset/cons/16020.cc: Likewise.
1961         * testsuite/bitset/cons/2.cc: Likewise.
1962         * testsuite/bitset/cons/3.cc: Likewise.
1963         * testsuite/bitset/cons/50268.cc: Likewise.
1964         * testsuite/bitset/cons/6282.cc: Likewise.
1965         * testsuite/bitset/cons/dr1325-2.cc: Likewise.
1966         * testsuite/bitset/cons/dr396.cc: Likewise.
1967         * testsuite/bitset/ext/15361.cc: Likewise.
1968         * testsuite/bitset/input/1.cc: Likewise.
1969         * testsuite/bitset/operations/1.cc: Likewise.
1970         * testsuite/bitset/operations/13838.cc: Likewise.
1971         * testsuite/bitset/operations/2.cc: Likewise.
1972         * testsuite/bitset/test/1.cc: Likewise.
1973         * testsuite/bitset/to_string/1.cc: Likewise.
1974         * testsuite/bitset/to_string/dr396.cc: Likewise.
1975         * testsuite/bitset/to_ullong/1.cc: Likewise.
1976         * testsuite/bitset/to_ulong/1.cc: Likewise.
1977         * testsuite/deque/allocator/copy.cc: Likewise.
1978         * testsuite/deque/allocator/copy_assign.cc: Likewise.
1979         * testsuite/deque/allocator/ext_ptr.cc: Likewise.
1980         * testsuite/deque/allocator/minimal.cc: Likewise.
1981         * testsuite/deque/allocator/move.cc: Likewise.
1982         * testsuite/deque/allocator/move_assign.cc: Likewise.
1983         * testsuite/deque/allocator/swap.cc: Likewise.
1984         * testsuite/deque/capacity/29134-2.cc: Likewise.
1985         * testsuite/deque/capacity/29134.cc: Likewise.
1986         * testsuite/deque/capacity/moveable.cc: Likewise.
1987         * testsuite/deque/capacity/resize_size.cc: Likewise.
1988         * testsuite/deque/capacity/shrink_to_fit.cc: Likewise.
1989         * testsuite/deque/cons/1.cc: Likewise.
1990         * testsuite/deque/cons/2.cc: Likewise.
1991         * testsuite/deque/cons/assign/1.cc: Likewise.
1992         * testsuite/deque/cons/cons_size.cc: Likewise.
1993         * testsuite/deque/cons/moveable.cc: Likewise.
1994         * testsuite/deque/modifiers/erase/1.cc: Likewise.
1995         * testsuite/deque/modifiers/erase/2.cc: Likewise.
1996         * testsuite/deque/modifiers/erase/3.cc: Likewise.
1997         * testsuite/deque/modifiers/erase/moveable.cc: Likewise.
1998         * testsuite/deque/modifiers/moveable.cc: Likewise.
1999         * testsuite/deque/modifiers/push_back/49836.cc: Likewise.
2000         * testsuite/deque/modifiers/push_front/49836.cc: Likewise.
2001         * testsuite/deque/modifiers/swap/1.cc: Likewise.
2002         * testsuite/deque/modifiers/swap/2.cc: Likewise.
2003         * testsuite/deque/modifiers/swap/3.cc: Likewise.
2004         * testsuite/deque/operators/1.cc: Likewise.
2005         * testsuite/deque/operators/2.cc: Likewise.
2006         * testsuite/forward_list/allocator/copy.cc: Likewise.
2007         * testsuite/forward_list/allocator/copy_assign.cc: Likewise.
2008         * testsuite/forward_list/allocator/ext_ptr.cc: Likewise.
2009         * testsuite/forward_list/allocator/minimal.cc: Likewise.
2010         * testsuite/forward_list/allocator/move.cc: Likewise.
2011         * testsuite/forward_list/allocator/move_assign.cc: Likewise.
2012         * testsuite/forward_list/allocator/swap.cc: Likewise.
2013         * testsuite/forward_list/capacity/1.cc: Likewise.
2014         * testsuite/forward_list/capacity/resize_size.cc: Likewise.
2015         * testsuite/forward_list/comparable.cc: Likewise.
2016         * testsuite/forward_list/cons/1.cc: Likewise.
2017         * testsuite/forward_list/cons/2.cc: Likewise.
2018         * testsuite/forward_list/cons/3.cc: Likewise.
2019         * testsuite/forward_list/cons/4.cc: Likewise.
2020         * testsuite/forward_list/cons/5.cc: Likewise.
2021         * testsuite/forward_list/cons/6.cc: Likewise.
2022         * testsuite/forward_list/cons/7.cc: Likewise.
2023         * testsuite/forward_list/cons/8.cc: Likewise.
2024         * testsuite/forward_list/cons/9.cc: Likewise.
2025         * testsuite/forward_list/cons/cons_size.cc: Likewise.
2026         * testsuite/forward_list/cons/moveable.cc: Likewise.
2027         * testsuite/forward_list/debug/clear.cc: Likewise.
2028         * testsuite/forward_list/debug/construct4_neg.cc: Likewise.
2029         * testsuite/forward_list/debug/erase_after1_neg.cc: Likewise.
2030         * testsuite/forward_list/debug/move_assign_neg.cc: Likewise.
2031         * testsuite/forward_list/debug/move_constructor.cc: Likewise.
2032         * testsuite/forward_list/debug/move_neg.cc: Likewise.
2033         * testsuite/forward_list/debug/splice_after.cc: Likewise.
2034         * testsuite/forward_list/debug/swap.cc: Likewise.
2035         * testsuite/forward_list/modifiers/1.cc: Likewise.
2036         * testsuite/forward_list/modifiers/2.cc: Likewise.
2037         * testsuite/forward_list/modifiers/3.cc: Likewise.
2038         * testsuite/forward_list/modifiers/4.cc: Likewise.
2039         * testsuite/forward_list/modifiers/5.cc: Likewise.
2040         * testsuite/forward_list/modifiers/6.cc: Likewise.
2041         * testsuite/forward_list/operations/1.cc: Likewise.
2042         * testsuite/forward_list/operations/2.cc: Likewise.
2043         * testsuite/forward_list/operations/3.cc: Likewise.
2044         * testsuite/forward_list/operations/4.cc: Likewise.
2045         * testsuite/forward_list/operations/5.cc: Likewise.
2046         * testsuite/forward_list/operations/6.cc: Likewise.
2047         * testsuite/forward_list/operations/7.cc: Likewise.
2048         * testsuite/forward_list/operations/remove_freed.cc: Likewise.
2049         * testsuite/list/61347.cc: Likewise.
2050         * testsuite/list/allocator/copy.cc: Likewise.
2051         * testsuite/list/allocator/copy_assign.cc: Likewise.
2052         * testsuite/list/allocator/minimal.cc: Likewise.
2053         * testsuite/list/allocator/move.cc: Likewise.
2054         * testsuite/list/allocator/move_assign.cc: Likewise.
2055         * testsuite/list/allocator/swap.cc: Likewise.
2056         * testsuite/list/capacity/1.h: Likewise.
2057         * testsuite/list/capacity/29134.cc: Likewise.
2058         * testsuite/list/capacity/resize_size.cc: Likewise.
2059         * testsuite/list/cons/1.h: Likewise.
2060         * testsuite/list/cons/2.h: Likewise.
2061         * testsuite/list/cons/3.h: Likewise.
2062         * testsuite/list/cons/4.h: Likewise.
2063         * testsuite/list/cons/5.h: Likewise.
2064         * testsuite/list/cons/6.h: Likewise.
2065         * testsuite/list/cons/7.h: Likewise.
2066         * testsuite/list/cons/8.h: Likewise.
2067         * testsuite/list/cons/9.h: Likewise.
2068         * testsuite/list/cons/cons_size.cc: Likewise.
2069         * testsuite/list/cons/moveable.h: Likewise.
2070         * testsuite/list/debug/invalidation/1.cc: Likewise.
2071         * testsuite/list/debug/invalidation/2.cc: Likewise.
2072         * testsuite/list/debug/invalidation/3.cc: Likewise.
2073         * testsuite/list/debug/invalidation/4.cc: Likewise.
2074         * testsuite/list/modifiers/1.h: Likewise.
2075         * testsuite/list/modifiers/2.h: Likewise.
2076         * testsuite/list/modifiers/3.h: Likewise.
2077         * testsuite/list/modifiers/insert/25288.h: Likewise.
2078         * testsuite/list/modifiers/swap/1.h: Likewise.
2079         * testsuite/list/modifiers/swap/2.h: Likewise.
2080         * testsuite/list/modifiers/swap/3.h: Likewise.
2081         * testsuite/list/operations/1.h: Likewise.
2082         * testsuite/list/operations/2.h: Likewise.
2083         * testsuite/list/operations/3.h: Likewise.
2084         * testsuite/list/operations/4.h: Likewise.
2085         * testsuite/list/operations/42352.cc: Likewise.
2086         * testsuite/map/allocator/copy.cc: Likewise.
2087         * testsuite/map/allocator/copy_assign.cc: Likewise.
2088         * testsuite/map/allocator/init-list.cc: Likewise.
2089         * testsuite/map/allocator/minimal.cc: Likewise.
2090         * testsuite/map/allocator/move.cc: Likewise.
2091         * testsuite/map/allocator/move_assign.cc: Likewise.
2092         * testsuite/map/allocator/swap.cc: Likewise.
2093         * testsuite/map/capacity/29134.cc: Likewise.
2094         * testsuite/map/cons/moveable.cc: Likewise.
2095         * testsuite/map/debug/construct5_neg.cc: Likewise.
2096         * testsuite/map/debug/move_assign_neg.cc: Likewise.
2097         * testsuite/map/debug/move_neg.cc: Likewise.
2098         * testsuite/map/element_access/1.cc: Likewise.
2099         * testsuite/map/element_access/2.cc: Likewise.
2100         * testsuite/map/element_access/39901.cc: Likewise.
2101         * testsuite/map/init-list.cc: Likewise.
2102         * testsuite/map/modifiers/dr130.cc: Likewise.
2103         * testsuite/map/modifiers/emplace/1.cc: Likewise.
2104         * testsuite/map/modifiers/extract.cc: Likewise.
2105         * testsuite/map/modifiers/insert/1.cc: Likewise.
2106         * testsuite/map/modifiers/insert/16813.cc: Likewise.
2107         * testsuite/map/modifiers/insert/2.cc: Likewise.
2108         * testsuite/map/modifiers/insert/3.cc: Likewise.
2109         * testsuite/map/modifiers/insert/4.cc: Likewise.
2110         * testsuite/map/modifiers/insert/5.cc: Likewise.
2111         * testsuite/map/modifiers/insert_or_assign/1.cc: Likewise.
2112         * testsuite/map/modifiers/merge.cc: Likewise.
2113         * testsuite/map/modifiers/swap/1.cc: Likewise.
2114         * testsuite/map/modifiers/swap/2.cc: Likewise.
2115         * testsuite/map/modifiers/swap/3.cc: Likewise.
2116         * testsuite/map/modifiers/try_emplace/1.cc: Likewise.
2117         * testsuite/map/operations/1.cc: Likewise.
2118         * testsuite/map/operations/count.cc: Likewise.
2119         * testsuite/map/operators/1_neg.cc: Likewise.
2120         * testsuite/map/operators/2.cc: Likewise.
2121         * testsuite/multimap/allocator/copy.cc: Likewise.
2122         * testsuite/multimap/allocator/copy_assign.cc: Likewise.
2123         * testsuite/multimap/allocator/init-list.cc: Likewise.
2124         * testsuite/multimap/allocator/minimal.cc: Likewise.
2125         * testsuite/multimap/allocator/move.cc: Likewise.
2126         * testsuite/multimap/allocator/move_assign.cc: Likewise.
2127         * testsuite/multimap/allocator/swap.cc: Likewise.
2128         * testsuite/multimap/capacity/29134.cc: Likewise.
2129         * testsuite/multimap/cons/moveable.cc: Likewise.
2130         * testsuite/multimap/debug/construct5_neg.cc: Likewise.
2131         * testsuite/multimap/debug/move_assign_neg.cc: Likewise.
2132         * testsuite/multimap/debug/move_neg.cc: Likewise.
2133         * testsuite/multimap/init-list.cc: Likewise.
2134         * testsuite/multimap/modifiers/dr130.cc: Likewise.
2135         * testsuite/multimap/modifiers/emplace/1.cc: Likewise.
2136         * testsuite/multimap/modifiers/extract.cc: Likewise.
2137         * testsuite/multimap/modifiers/insert/1.cc: Likewise.
2138         * testsuite/multimap/modifiers/insert/2.cc: Likewise.
2139         * testsuite/multimap/modifiers/insert/22102.cc: Likewise.
2140         * testsuite/multimap/modifiers/insert/3.cc: Likewise.
2141         * testsuite/multimap/modifiers/insert/4.cc: Likewise.
2142         * testsuite/multimap/modifiers/merge.cc: Likewise.
2143         * testsuite/multimap/modifiers/swap/1.cc: Likewise.
2144         * testsuite/multimap/modifiers/swap/2.cc: Likewise.
2145         * testsuite/multimap/modifiers/swap/3.cc: Likewise.
2146         * testsuite/multimap/operations/1.cc: Likewise.
2147         * testsuite/multimap/operations/count.cc: Likewise.
2148         * testsuite/multiset/allocator/copy.cc: Likewise.
2149         * testsuite/multiset/allocator/copy_assign.cc: Likewise.
2150         * testsuite/multiset/allocator/init-list.cc: Likewise.
2151         * testsuite/multiset/allocator/minimal.cc: Likewise.
2152         * testsuite/multiset/allocator/move.cc: Likewise.
2153         * testsuite/multiset/allocator/move_assign.cc: Likewise.
2154         * testsuite/multiset/allocator/swap.cc: Likewise.
2155         * testsuite/multiset/capacity/29134.cc: Likewise.
2156         * testsuite/multiset/cons/moveable.cc: Likewise.
2157         * testsuite/multiset/debug/construct5_neg.cc: Likewise.
2158         * testsuite/multiset/debug/invalidation/2.cc: Likewise.
2159         * testsuite/multiset/debug/move_assign_neg.cc: Likewise.
2160         * testsuite/multiset/debug/move_neg.cc: Likewise.
2161         * testsuite/multiset/init-list.cc: Likewise.
2162         * testsuite/multiset/modifiers/dr130.cc: Likewise.
2163         * testsuite/multiset/modifiers/emplace/1.cc: Likewise.
2164         * testsuite/multiset/modifiers/extract.cc: Likewise.
2165         * testsuite/multiset/modifiers/insert/1.cc: Likewise.
2166         * testsuite/multiset/modifiers/insert/2.cc: Likewise.
2167         * testsuite/multiset/modifiers/insert/22102.cc: Likewise.
2168         * testsuite/multiset/modifiers/insert/3.cc: Likewise.
2169         * testsuite/multiset/modifiers/insert/4.cc: Likewise.
2170         * testsuite/multiset/modifiers/merge.cc: Likewise.
2171         * testsuite/multiset/modifiers/swap/1.cc: Likewise.
2172         * testsuite/multiset/modifiers/swap/2.cc: Likewise.
2173         * testsuite/multiset/modifiers/swap/3.cc: Likewise.
2174         * testsuite/multiset/operations/1.cc: Likewise.
2175         * testsuite/multiset/operations/count.cc: Likewise.
2176         * testsuite/priority_queue/moveable.cc: Likewise.
2177         * testsuite/queue/moveable.cc: Likewise.
2178         * testsuite/set/allocator/copy.cc: Likewise.
2179         * testsuite/set/allocator/copy_assign.cc: Likewise.
2180         * testsuite/set/allocator/init-list.cc: Likewise.
2181         * testsuite/set/allocator/minimal.cc: Likewise.
2182         * testsuite/set/allocator/move.cc: Likewise.
2183         * testsuite/set/allocator/move_assign.cc: Likewise.
2184         * testsuite/set/allocator/swap.cc: Likewise.
2185         * testsuite/set/capacity/29134.cc: Likewise.
2186         * testsuite/set/cons/moveable.cc: Likewise.
2187         * testsuite/set/debug/construct5_neg.cc: Likewise.
2188         * testsuite/set/debug/invalidation/2.cc: Likewise.
2189         * testsuite/set/debug/move_assign_neg.cc: Likewise.
2190         * testsuite/set/debug/move_neg.cc: Likewise.
2191         * testsuite/set/init-list.cc: Likewise.
2192         * testsuite/set/modifiers/17948.cc: Likewise.
2193         * testsuite/set/modifiers/dr130.cc: Likewise.
2194         * testsuite/set/modifiers/emplace/1.cc: Likewise.
2195         * testsuite/set/modifiers/extract.cc: Likewise.
2196         * testsuite/set/modifiers/insert/1.cc: Likewise.
2197         * testsuite/set/modifiers/insert/2.cc: Likewise.
2198         * testsuite/set/modifiers/insert/3.cc: Likewise.
2199         * testsuite/set/modifiers/merge.cc: Likewise.
2200         * testsuite/set/modifiers/swap/1.cc: Likewise.
2201         * testsuite/set/modifiers/swap/2.cc: Likewise.
2202         * testsuite/set/modifiers/swap/3.cc: Likewise.
2203         * testsuite/set/operations/1.cc: Likewise.
2204         * testsuite/set/operations/count.cc: Likewise.
2205         * testsuite/set/operators/1_neg.cc: Likewise.
2206         * testsuite/unordered_map/allocator/copy.cc: Likewise.
2207         * testsuite/unordered_map/allocator/copy_assign.cc: Likewise.
2208         * testsuite/unordered_map/allocator/minimal.cc: Likewise.
2209         * testsuite/unordered_map/allocator/move.cc: Likewise.
2210         * testsuite/unordered_map/allocator/move_assign.cc: Likewise.
2211         * testsuite/unordered_map/allocator/swap.cc: Likewise.
2212         * testsuite/unordered_map/cons/moveable.cc: Likewise.
2213         * testsuite/unordered_map/debug/construct5_neg.cc: Likewise.
2214         * testsuite/unordered_map/debug/move_assign_neg.cc: Likewise.
2215         * testsuite/unordered_map/debug/move_neg.cc: Likewise.
2216         * testsuite/unordered_map/dr761.cc: Likewise.
2217         * testsuite/unordered_map/erase/1.cc: Likewise.
2218         * testsuite/unordered_map/erase/24061-map.cc: Likewise.
2219         * testsuite/unordered_map/erase/54276.cc: Likewise.
2220         * testsuite/unordered_map/hash_policy/dr1189.cc: Likewise.
2221         * testsuite/unordered_map/init-list.cc: Likewise.
2222         * testsuite/unordered_map/insert/24061-map.cc: Likewise.
2223         * testsuite/unordered_map/insert/57619.C: Likewise.
2224         * testsuite/unordered_map/insert/array_syntax.cc: Likewise.
2225         * testsuite/unordered_map/insert/array_syntax_move.cc: Likewise.
2226         * testsuite/unordered_map/insert/map_range.cc: Likewise.
2227         * testsuite/unordered_map/insert/map_single.cc: Likewise.
2228         * testsuite/unordered_map/insert/map_single_move-1.cc: Likewise.
2229         * testsuite/unordered_map/insert/map_single_move-2.cc: Likewise.
2230         * testsuite/unordered_map/modifiers/61667.cc: Likewise.
2231         * testsuite/unordered_map/modifiers/emplace.cc: Likewise.
2232         * testsuite/unordered_map/modifiers/extract.cc: Likewise.
2233         * testsuite/unordered_map/modifiers/insert_or_assign.cc: Likewise.
2234         * testsuite/unordered_map/modifiers/merge.cc: Likewise.
2235         * testsuite/unordered_map/modifiers/reserve.cc: Likewise.
2236         * testsuite/unordered_map/modifiers/try_emplace.cc: Likewise.
2237         * testsuite/unordered_map/operations/count.cc: Likewise.
2238         * testsuite/unordered_map/operators/1.cc: Likewise.
2239         * testsuite/unordered_map/operators/2.cc: Likewise.
2240         * testsuite/unordered_multimap/allocator/copy.cc: Likewise.
2241         * testsuite/unordered_multimap/allocator/copy_assign.cc: Likewise.
2242         * testsuite/unordered_multimap/allocator/minimal.cc: Likewise.
2243         * testsuite/unordered_multimap/allocator/move.cc: Likewise.
2244         * testsuite/unordered_multimap/allocator/move_assign.cc: Likewise.
2245         * testsuite/unordered_multimap/allocator/swap.cc: Likewise.
2246         * testsuite/unordered_multimap/cons/moveable.cc: Likewise.
2247         * testsuite/unordered_multimap/debug/construct5_neg.cc: Likewise.
2248         * testsuite/unordered_multimap/debug/move_assign_neg.cc: Likewise.
2249         * testsuite/unordered_multimap/debug/move_neg.cc: Likewise.
2250         * testsuite/unordered_multimap/erase/1.cc: Likewise.
2251         * testsuite/unordered_multimap/erase/2.cc: Likewise.
2252         * testsuite/unordered_multimap/erase/24061-multimap.cc: Likewise.
2253         * testsuite/unordered_multimap/erase/51845-multimap.cc: Likewise.
2254         * testsuite/unordered_multimap/erase/54276.cc: Likewise.
2255         * testsuite/unordered_multimap/hash_policy/dr1189.cc: Likewise.
2256         * testsuite/unordered_multimap/init-list.cc: Likewise.
2257         * testsuite/unordered_multimap/insert/24061-multimap.cc: Likewise.
2258         * testsuite/unordered_multimap/insert/51866.cc: Likewise.
2259         * testsuite/unordered_multimap/insert/52476.cc: Likewise.
2260         * testsuite/unordered_multimap/insert/53115.cc: Likewise.
2261         * testsuite/unordered_multimap/insert/57619.C: Likewise.
2262         * testsuite/unordered_multimap/insert/hint.cc: Likewise.
2263         * testsuite/unordered_multimap/insert/multimap_range.cc: Likewise.
2264         * testsuite/unordered_multimap/insert/multimap_single.cc: Likewise.
2265         * testsuite/unordered_multimap/insert/multimap_single_move-1.cc:
2266         Likewise.
2267         * testsuite/unordered_multimap/insert/multimap_single_move-2.cc:
2268         Likewise.
2269         * testsuite/unordered_multimap/modifiers/emplace.cc: Likewise.
2270         * testsuite/unordered_multimap/modifiers/extract.cc: Likewise.
2271         * testsuite/unordered_multimap/modifiers/merge.cc: Likewise.
2272         * testsuite/unordered_multimap/modifiers/reserve.cc: Likewise.
2273         * testsuite/unordered_multimap/operations/count.cc: Likewise.
2274         * testsuite/unordered_multimap/operators/1.cc: Likewise.
2275         * testsuite/unordered_multimap/operators/2.cc: Likewise.
2276         * testsuite/unordered_multiset/allocator/copy.cc: Likewise.
2277         * testsuite/unordered_multiset/allocator/copy_assign.cc: Likewise.
2278         * testsuite/unordered_multiset/allocator/minimal.cc: Likewise.
2279         * testsuite/unordered_multiset/allocator/move.cc: Likewise.
2280         * testsuite/unordered_multiset/allocator/move_assign.cc: Likewise.
2281         * testsuite/unordered_multiset/allocator/swap.cc: Likewise.
2282         * testsuite/unordered_multiset/cons/copy.cc: Likewise.
2283         * testsuite/unordered_multiset/cons/moveable.cc: Likewise.
2284         * testsuite/unordered_multiset/debug/construct5_neg.cc: Likewise.
2285         * testsuite/unordered_multiset/debug/move_assign_neg.cc: Likewise.
2286         * testsuite/unordered_multiset/debug/move_neg.cc: Likewise.
2287         * testsuite/unordered_multiset/erase/1.cc: Likewise.
2288         * testsuite/unordered_multiset/erase/2.cc: Likewise.
2289         * testsuite/unordered_multiset/erase/24061-multiset.cc: Likewise.
2290         * testsuite/unordered_multiset/hash_policy/dr1189.cc: Likewise.
2291         * testsuite/unordered_multiset/init-list.cc: Likewise.
2292         * testsuite/unordered_multiset/insert/24061-multiset.cc: Likewise.
2293         * testsuite/unordered_multiset/insert/51866.cc: Likewise.
2294         * testsuite/unordered_multiset/insert/52476.cc: Likewise.
2295         * testsuite/unordered_multiset/insert/53115.cc: Likewise.
2296         * testsuite/unordered_multiset/insert/hash_policy.cc: Likewise.
2297         * testsuite/unordered_multiset/insert/multiset_range.cc: Likewise.
2298         * testsuite/unordered_multiset/insert/multiset_single.cc: Likewise.
2299         * testsuite/unordered_multiset/insert/multiset_single_move.cc: Likewise.
2300         * testsuite/unordered_multiset/modifiers/emplace.cc: Likewise.
2301         * testsuite/unordered_multiset/modifiers/extract.cc: Likewise.
2302         * testsuite/unordered_multiset/modifiers/merge.cc: Likewise.
2303         * testsuite/unordered_multiset/modifiers/reserve.cc: Likewise.
2304         * testsuite/unordered_multiset/operations/count.cc: Likewise.
2305         * testsuite/unordered_multiset/operators/1.cc: Likewise.
2306         * testsuite/unordered_set/allocator/copy.cc: Likewise.
2307         * testsuite/unordered_set/allocator/copy_assign.cc: Likewise.
2308         * testsuite/unordered_set/allocator/ext_ptr.cc: Likewise.
2309         * testsuite/unordered_set/allocator/minimal.cc: Likewise.
2310         * testsuite/unordered_set/allocator/move.cc: Likewise.
2311         * testsuite/unordered_set/allocator/move_assign.cc: Likewise.
2312         * testsuite/unordered_set/allocator/swap.cc: Likewise.
2313         * testsuite/unordered_set/buckets/swap.cc: Likewise.
2314         * testsuite/unordered_set/cons/moveable.cc: Likewise.
2315         * testsuite/unordered_set/debug/construct5_neg.cc: Likewise.
2316         * testsuite/unordered_set/debug/debug_functions.cc: Likewise.
2317         * testsuite/unordered_set/debug/move_assign_neg.cc: Likewise.
2318         * testsuite/unordered_set/debug/move_neg.cc: Likewise.
2319         * testsuite/unordered_set/erase/1.cc: Likewise.
2320         * testsuite/unordered_set/erase/24061-set.cc: Likewise.
2321         * testsuite/unordered_set/hash_policy/26132.cc: Likewise.
2322         * testsuite/unordered_set/hash_policy/71181.cc: Likewise.
2323         * testsuite/unordered_set/hash_policy/dr1189.cc: Likewise.
2324         * testsuite/unordered_set/hash_policy/load_factor.cc: Likewise.
2325         * testsuite/unordered_set/hash_policy/power2_rehash.cc: Likewise.
2326         * testsuite/unordered_set/hash_policy/prime_rehash.cc: Likewise.
2327         * testsuite/unordered_set/hash_policy/rehash.cc: Likewise.
2328         * testsuite/unordered_set/init-list.cc: Likewise.
2329         * testsuite/unordered_set/insert/24061-set.cc: Likewise.
2330         * testsuite/unordered_set/insert/hash_policy.cc: Likewise.
2331         * testsuite/unordered_set/insert/move_range.cc: Likewise.
2332         * testsuite/unordered_set/insert/set_range.cc: Likewise.
2333         * testsuite/unordered_set/insert/set_single.cc: Likewise.
2334         * testsuite/unordered_set/insert/set_single_move.cc: Likewise.
2335         * testsuite/unordered_set/max_load_factor/robustness.cc: Likewise.
2336         * testsuite/unordered_set/modifiers/emplace.cc: Likewise.
2337         * testsuite/unordered_set/modifiers/extract.cc: Likewise.
2338         * testsuite/unordered_set/modifiers/merge.cc: Likewise.
2339         * testsuite/unordered_set/modifiers/reserve.cc: Likewise.
2340         * testsuite/unordered_set/modifiers/swap.cc: Likewise.
2341         * testsuite/unordered_set/operations/count.cc: Likewise.
2342         * testsuite/unordered_set/operators/1.cc: Likewise.
2343         * testsuite/vector/allocator/copy.cc: Likewise.
2344         * testsuite/vector/allocator/copy_assign.cc: Likewise.
2345         * testsuite/vector/allocator/ext_ptr.cc: Likewise.
2346         * testsuite/vector/allocator/minimal.cc: Likewise.
2347         * testsuite/vector/allocator/move.cc: Likewise.
2348         * testsuite/vector/allocator/move_assign.cc: Likewise.
2349         * testsuite/vector/allocator/swap.cc: Likewise.
2350         * testsuite/vector/bool/6886.cc: Likewise.
2351         * testsuite/vector/bool/72847.cc: Likewise.
2352         * testsuite/vector/bool/allocator/copy.cc: Likewise.
2353         * testsuite/vector/bool/allocator/copy_assign.cc: Likewise.
2354         * testsuite/vector/bool/allocator/ext_ptr.cc: Likewise.
2355         * testsuite/vector/bool/allocator/move.cc: Likewise.
2356         * testsuite/vector/bool/allocator/move_assign.cc: Likewise.
2357         * testsuite/vector/bool/allocator/swap.cc: Likewise.
2358         * testsuite/vector/bool/capacity/1.cc: Likewise.
2359         * testsuite/vector/bool/capacity/29134.cc: Likewise.
2360         * testsuite/vector/bool/capacity/shrink_to_fit.cc: Likewise.
2361         * testsuite/vector/bool/cons/1.cc: Likewise.
2362         * testsuite/vector/bool/cons/2.cc: Likewise.
2363         * testsuite/vector/bool/modifiers/erase/1.cc: Likewise.
2364         * testsuite/vector/bool/modifiers/insert/1.cc: Likewise.
2365         * testsuite/vector/bool/modifiers/insert/31370.cc: Likewise.
2366         * testsuite/vector/bool/modifiers/swap/1.cc: Likewise.
2367         * testsuite/vector/bool/modifiers/swap/2.cc: Likewise.
2368         * testsuite/vector/bool/swap.cc: Likewise.
2369         * testsuite/vector/capacity/1.cc: Likewise.
2370         * testsuite/vector/capacity/2.cc: Likewise.
2371         * testsuite/vector/capacity/29134-2.cc: Likewise.
2372         * testsuite/vector/capacity/29134.cc: Likewise.
2373         * testsuite/vector/capacity/44190.cc: Likewise.
2374         * testsuite/vector/capacity/8230.cc: Likewise.
2375         * testsuite/vector/capacity/reserve/moveable.cc: Likewise.
2376         * testsuite/vector/capacity/reserve/moveable2.cc: Likewise.
2377         * testsuite/vector/capacity/resize/1.cc: Likewise.
2378         * testsuite/vector/capacity/resize/moveable.cc: Likewise.
2379         * testsuite/vector/capacity/resize/moveable2.cc: Likewise.
2380         * testsuite/vector/capacity/resize/resize_size.cc: Likewise.
2381         * testsuite/vector/capacity/shrink_to_fit.cc: Likewise.
2382         * testsuite/vector/capacity/shrink_to_fit2.cc: Likewise.
2383         * testsuite/vector/cons/3.cc: Likewise.
2384         * testsuite/vector/cons/4.cc: Likewise.
2385         * testsuite/vector/cons/cons_size.cc: Likewise.
2386         * testsuite/vector/cons/moveable.cc: Likewise.
2387         * testsuite/vector/data_access/1.cc: Likewise.
2388         * testsuite/vector/debug/debug_functions.cc: Likewise.
2389         * testsuite/vector/debug/move_assign_neg.cc: Likewise.
2390         * testsuite/vector/debug/move_neg.cc: Likewise.
2391         * testsuite/vector/debug/multithreaded_swap.cc: Likewise.
2392         * testsuite/vector/element_access/1.cc: Likewise.
2393         * testsuite/vector/ext_pointer/citerators.cc: Likewise.
2394         * testsuite/vector/ext_pointer/data_access.cc: Likewise.
2395         * testsuite/vector/ext_pointer/modifiers/element.cc: Likewise.
2396         * testsuite/vector/ext_pointer/modifiers/erase.cc: Likewise.
2397         * testsuite/vector/ext_pointer/modifiers/insert.cc: Likewise.
2398         * testsuite/vector/ext_pointer/resize.cc: Likewise.
2399         * testsuite/vector/modifiers/1.cc: Likewise.
2400         * testsuite/vector/modifiers/2.cc: Likewise.
2401         * testsuite/vector/modifiers/emplace/self_emplace.cc: Likewise.
2402         * testsuite/vector/modifiers/erase/1.cc: Likewise.
2403         * testsuite/vector/modifiers/erase/moveable.cc: Likewise.
2404         * testsuite/vector/modifiers/insert/1.cc: Likewise.
2405         * testsuite/vector/modifiers/insert/self_insert.cc: Likewise.
2406         * testsuite/vector/modifiers/moveable.cc: Likewise.
2407         * testsuite/vector/modifiers/moveable2.cc: Likewise.
2408         * testsuite/vector/modifiers/push_back/49836.cc: Likewise.
2409         * testsuite/vector/modifiers/swap/1.cc: Likewise.
2410         * testsuite/vector/modifiers/swap/2.cc: Likewise.
2411         * testsuite/vector/modifiers/swap/3.cc: Likewise.
2412         * testsuite/vector/zero_sized_allocations.cc: Likewise.
2414 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
2416         PR libstdc++/77998
2417         * include/std/future (__future_base::_Deferred_state)
2418         (__future_base::_Async_state_impl): Use decltype to deduce return
2419         type, instead of _Invoker::result_type.
2420         * include/std/thread (thread::_Invoker::operator()): Likewise.
2421         (thread::_Invoker::result_type): Remove.
2423         PR libstdc++/77987
2424         * include/bits/unique_ptr.h (unique_ptr<T[], D>::reset<U>(U)): Copy
2425         value to pointer of the correct type to swap, to support conversions
2426         allowed by LWG 2118 / N4089.
2427         * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Move test for
2428         incompatible deleters from ...
2429         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: ... here.
2430         * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Move tests for
2431         incompatible pointers to ...
2432         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: ... here. Move
2433         destructor definition to base class. Test for invalid derived-to-base
2434         conversion.
2436         * doc/xml/manual/status_cxx2017.xml: Update status.
2437         * doc/html/*: Regenerate.
2438         * include/bits/deque.tcc (deque::emplace_front, deque::emplace_back):
2439         Return a reference in C++17 mode.
2440         * include/bits/forward_list.h (forward_list::emplace_front): Likewise.
2441         * include/bits/stl_bvector.h (vector<bool>::emplace_back): Likewise.
2442         * include/bits/stl_deque.h (deque::emplace_front, deque::emplace_back):
2443         Likewise.
2444         * include/bits/stl_list.h (list::emplace_front, list::emplace_back):
2445         Likewise.
2446         * include/bits/stl_queue.h (queue::emplace): Likewise.
2447         * include/bits/stl_stack.h (stack::emplace): Likewise.
2448         * include/bits/stl_vector.h (vector::emplace_back): Likewise.
2449         * include/bits/vector.tcc (vector::emplace_back): Likewise.
2450         * include/debug/deque (__gnu_debug::deque::emplace_front)
2451         (__gnu_debug::deque::emplace_back): Likewise.
2452         * include/debug/vector (__gnu_debug::vector::emplace_back): Likewise.
2453         * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
2454         New.
2455         * testsuite/23_containers/forward_list/modifiers/
2456         emplace_cxx17_return.cc: New.
2457         * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: New.
2458         * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: New.
2459         * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: New.
2460         * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: New.
2461         * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
2462         New.
2464 2016-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
2466         * testsuite/22_locale/classification/isblank.cc: Remove 'test'
2467         variables.
2468         * testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise.
2469         * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Likewise.
2470         * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
2471         * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
2472         * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Likewise.
2473         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Likewise.
2474         * testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise.
2475         * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc: Likewise.
2476         * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
2477         * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
2478         * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Likewise.
2479         * testsuite/22_locale/codecvt/in/char/1.cc: Likewise.
2480         * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Likewise.
2481         * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
2482         * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Likewise.
2483         * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Likewise.
2484         * testsuite/22_locale/codecvt/in/wchar_t/5.cc: Likewise.
2485         * testsuite/22_locale/codecvt/in/wchar_t/6.cc: Likewise.
2486         * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Likewise.
2487         * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
2488         * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
2489         * testsuite/22_locale/codecvt/length/char/1.cc: Likewise.
2490         * testsuite/22_locale/codecvt/length/char/2.cc: Likewise.
2491         * testsuite/22_locale/codecvt/length/wchar_t/1.cc: Likewise.
2492         * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
2493         * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
2494         * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
2495         * testsuite/22_locale/codecvt/length/wchar_t/5.cc: Likewise.
2496         * testsuite/22_locale/codecvt/length/wchar_t/6.cc: Likewise.
2497         * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Likewise.
2498         * testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise.
2499         * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Likewise.
2500         * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
2501         * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
2502         * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Likewise.
2503         * testsuite/22_locale/codecvt/out/char/1.cc: Likewise.
2504         * testsuite/22_locale/codecvt/out/wchar_t/1.cc: Likewise.
2505         * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
2506         * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Likewise.
2507         * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
2508         * testsuite/22_locale/codecvt/out/wchar_t/5.cc: Likewise.
2509         * testsuite/22_locale/codecvt/out/wchar_t/6.cc: Likewise.
2510         * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
2511         * testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise.
2512         * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc: Likewise.
2513         * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
2514         * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
2515         * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
2516         * testsuite/22_locale/collate/compare/char/1.cc: Likewise.
2517         * testsuite/22_locale/collate/compare/char/2.cc: Likewise.
2518         * testsuite/22_locale/collate/compare/char/3.cc: Likewise.
2519         * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
2520         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
2521         * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
2522         * testsuite/22_locale/collate/hash/char/1.cc: Likewise.
2523         * testsuite/22_locale/collate/hash/char/2.cc: Likewise.
2524         * testsuite/22_locale/collate/hash/wchar_t/1.cc: Likewise.
2525         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
2526         * testsuite/22_locale/collate/transform/char/2.cc: Likewise.
2527         * testsuite/22_locale/collate/transform/char/28277.cc: Likewise.
2528         * testsuite/22_locale/collate/transform/char/3.cc: Likewise.
2529         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
2530         * testsuite/22_locale/collate/transform/wchar_t/28277.cc: Likewise.
2531         * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
2532         * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
2533         * testsuite/22_locale/ctype/cons/char/1.cc: Likewise.
2534         * testsuite/22_locale/ctype/is/char/1.cc: Likewise.
2535         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
2536         * testsuite/22_locale/ctype/is/char/3.cc: Likewise.
2537         * testsuite/22_locale/ctype/is/char/9858.cc: Likewise.
2538         * testsuite/22_locale/ctype/is/wchar_t/1.cc: Likewise.
2539         * testsuite/22_locale/ctype/is/wchar_t/11740.cc: Likewise.
2540         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
2541         * testsuite/22_locale/ctype/narrow/char/1.cc: Likewise.
2542         * testsuite/22_locale/ctype/narrow/char/19955.cc: Likewise.
2543         * testsuite/22_locale/ctype/narrow/char/2.cc: Likewise.
2544         * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Likewise.
2545         * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Likewise.
2546         * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Likewise.
2547         * testsuite/22_locale/ctype/scan/char/1.cc: Likewise.
2548         * testsuite/22_locale/ctype/scan/wchar_t/1.cc: Likewise.
2549         * testsuite/22_locale/ctype/to/char/1.cc: Likewise.
2550         * testsuite/22_locale/ctype/to/wchar_t/1.cc: Likewise.
2551         * testsuite/22_locale/ctype/widen/char/1.cc: Likewise.
2552         * testsuite/22_locale/ctype/widen/wchar_t/1.cc: Likewise.
2553         * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
2554         * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Likewise.
2555         * testsuite/22_locale/ctype_base/11844.cc: Likewise.
2556         * testsuite/22_locale/facet/1.cc: Likewise.
2557         * testsuite/22_locale/facet/2.cc: Likewise.
2558         * testsuite/22_locale/facet/25421.cc: Likewise.
2559         * testsuite/22_locale/global_templates/1.cc: Likewise.
2560         * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc:
2561         Likewise.
2562         * testsuite/22_locale/global_templates/user_facet_hierarchies.cc:
2563         Likewise.
2564         * testsuite/22_locale/locale/13630.cc: Likewise.
2565         * testsuite/22_locale/locale/cons/12352.cc: Likewise.
2566         * testsuite/22_locale/locale/cons/12438.cc: Likewise.
2567         * testsuite/22_locale/locale/cons/2.cc: Likewise.
2568         * testsuite/22_locale/locale/cons/29217.cc: Likewise.
2569         * testsuite/22_locale/locale/cons/38365.cc: Likewise.
2570         * testsuite/22_locale/locale/cons/38368.cc: Likewise.
2571         * testsuite/22_locale/locale/cons/4.cc: Likewise.
2572         * testsuite/22_locale/locale/cons/40184.cc: Likewise.
2573         * testsuite/22_locale/locale/cons/5.cc: Likewise.
2574         * testsuite/22_locale/locale/cons/6.cc: Likewise.
2575         * testsuite/22_locale/locale/cons/7.cc: Likewise.
2576         * testsuite/22_locale/locale/cons/7222-c.cc: Likewise.
2577         * testsuite/22_locale/locale/cons/7222-env.cc: Likewise.
2578         * testsuite/22_locale/locale/cons/8.cc: Likewise.
2579         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
2580         * testsuite/22_locale/locale/global_locale_objects/1.cc: Likewise.
2581         * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
2582         * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
2583         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
2584         * testsuite/22_locale/locale/operations/1.cc: Likewise.
2585         * testsuite/22_locale/locale/operations/2.cc: Likewise.
2586         * testsuite/22_locale/messages/13631.cc: Likewise.
2587         * testsuite/22_locale/messages/members/char/1.cc: Likewise.
2588         * testsuite/22_locale/messages/members/char/2.cc: Likewise.
2589         * testsuite/22_locale/messages/members/char/3.cc: Likewise.
2590         * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
2591         * testsuite/22_locale/money_get/get/char/1.cc: Likewise.
2592         * testsuite/22_locale/money_get/get/char/10.cc: Likewise.
2593         * testsuite/22_locale/money_get/get/char/11.cc: Likewise.
2594         * testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
2595         * testsuite/22_locale/money_get/get/char/12.cc: Likewise.
2596         * testsuite/22_locale/money_get/get/char/13.cc: Likewise.
2597         * testsuite/22_locale/money_get/get/char/14.cc: Likewise.
2598         * testsuite/22_locale/money_get/get/char/15.cc: Likewise.
2599         * testsuite/22_locale/money_get/get/char/16.cc: Likewise.
2600         * testsuite/22_locale/money_get/get/char/17.cc: Likewise.
2601         * testsuite/22_locale/money_get/get/char/18.cc: Likewise.
2602         * testsuite/22_locale/money_get/get/char/19.cc: Likewise.
2603         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
2604         * testsuite/22_locale/money_get/get/char/22131.cc: Likewise.
2605         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
2606         * testsuite/22_locale/money_get/get/char/38399.cc: Likewise.
2607         * testsuite/22_locale/money_get/get/char/39168.cc: Likewise.
2608         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
2609         * testsuite/22_locale/money_get/get/char/5.cc: Likewise.
2610         * testsuite/22_locale/money_get/get/char/6.cc: Likewise.
2611         * testsuite/22_locale/money_get/get/char/7.cc: Likewise.
2612         * testsuite/22_locale/money_get/get/char/8.cc: Likewise.
2613         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
2614         * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
2615         * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
2616         * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
2617         * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
2618         * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
2619         * testsuite/22_locale/money_get/get/wchar_t/14.cc: Likewise.
2620         * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
2621         * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
2622         * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
2623         * testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
2624         * testsuite/22_locale/money_get/get/wchar_t/19.cc: Likewise.
2625         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
2626         * testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
2627         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
2628         * testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise.
2629         * testsuite/22_locale/money_get/get/wchar_t/39168.cc: Likewise.
2630         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
2631         * testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise.
2632         * testsuite/22_locale/money_get/get/wchar_t/6.cc: Likewise.
2633         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
2634         * testsuite/22_locale/money_get/get/wchar_t/8.cc: Likewise.
2635         * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
2636         * testsuite/22_locale/money_put/put/char/12971.cc: Likewise.
2637         * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
2638         * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
2639         * testsuite/22_locale/money_put/put/char/39168.cc: Likewise.
2640         * testsuite/22_locale/money_put/put/char/4.cc: Likewise.
2641         * testsuite/22_locale/money_put/put/char/5.cc: Likewise.
2642         * testsuite/22_locale/money_put/put/char/6.cc: Likewise.
2643         * testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
2644         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
2645         * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
2646         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
2647         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
2648         * testsuite/22_locale/money_put/put/wchar_t/39168.cc: Likewise.
2649         * testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise.
2650         * testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise.
2651         * testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise.
2652         * testsuite/22_locale/moneypunct/40712.cc: Likewise.
2653         * testsuite/22_locale/moneypunct/members/char/1.cc: Likewise.
2654         * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
2655         * testsuite/22_locale/moneypunct/members/wchar_t/1.cc: Likewise.
2656         * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
2657         * testsuite/22_locale/moneypunct/requirements/false/intl.cc: Likewise.
2658         * testsuite/22_locale/moneypunct/requirements/true/intl.cc: Likewise.
2659         * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: Likewise.
2660         * testsuite/22_locale/num_get/get/char/1.cc: Likewise.
2661         * testsuite/22_locale/num_get/get/char/10.cc: Likewise.
2662         * testsuite/22_locale/num_get/get/char/11.cc: Likewise.
2663         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
2664         * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
2665         * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
2666         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
2667         * testsuite/22_locale/num_get/get/char/16.cc: Likewise.
2668         * testsuite/22_locale/num_get/get/char/2.cc: Likewise.
2669         * testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
2670         * testsuite/22_locale/num_get/get/char/23953.cc: Likewise.
2671         * testsuite/22_locale/num_get/get/char/3.cc: Likewise.
2672         * testsuite/22_locale/num_get/get/char/37958.cc: Likewise.
2673         * testsuite/22_locale/num_get/get/char/39168.cc: Likewise.
2674         * testsuite/22_locale/num_get/get/char/39802.cc: Likewise.
2675         * testsuite/22_locale/num_get/get/char/4.cc: Likewise.
2676         * testsuite/22_locale/num_get/get/char/5.cc: Likewise.
2677         * testsuite/22_locale/num_get/get/char/6.cc: Likewise.
2678         * testsuite/22_locale/num_get/get/char/7.cc: Likewise.
2679         * testsuite/22_locale/num_get/get/char/8.cc: Likewise.
2680         * testsuite/22_locale/num_get/get/char/9.cc: Likewise.
2681         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
2682         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
2683         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
2684         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
2685         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
2686         * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
2687         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
2688         * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
2689         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Likewise.
2690         * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
2691         * testsuite/22_locale/num_get/get/wchar_t/23953.cc: Likewise.
2692         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
2693         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
2694         * testsuite/22_locale/num_get/get/wchar_t/39168.cc: Likewise.
2695         * testsuite/22_locale/num_get/get/wchar_t/39802.cc: Likewise.
2696         * testsuite/22_locale/num_get/get/wchar_t/4.cc: Likewise.
2697         * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
2698         * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
2699         * testsuite/22_locale/num_get/get/wchar_t/7.cc: Likewise.
2700         * testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
2701         * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
2702         * testsuite/22_locale/num_put/put/char/1.cc: Likewise.
2703         * testsuite/22_locale/num_put/put/char/10.cc: Likewise.
2704         * testsuite/22_locale/num_put/put/char/11.cc: Likewise.
2705         * testsuite/22_locale/num_put/put/char/12.cc: Likewise.
2706         * testsuite/22_locale/num_put/put/char/14220.cc: Likewise.
2707         * testsuite/22_locale/num_put/put/char/15565.cc: Likewise.
2708         * testsuite/22_locale/num_put/put/char/2.cc: Likewise.
2709         * testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
2710         * testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
2711         * testsuite/22_locale/num_put/put/char/23953.cc: Likewise.
2712         * testsuite/22_locale/num_put/put/char/3.cc: Likewise.
2713         * testsuite/22_locale/num_put/put/char/38196.cc: Likewise.
2714         * testsuite/22_locale/num_put/put/char/38210.cc: Likewise.
2715         * testsuite/22_locale/num_put/put/char/4.cc: Likewise.
2716         * testsuite/22_locale/num_put/put/char/5.cc: Likewise.
2717         * testsuite/22_locale/num_put/put/char/6.cc: Likewise.
2718         * testsuite/22_locale/num_put/put/char/7.cc: Likewise.
2719         * testsuite/22_locale/num_put/put/char/8.cc: Likewise.
2720         * testsuite/22_locale/num_put/put/char/9.cc: Likewise.
2721         * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
2722         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
2723         * testsuite/22_locale/num_put/put/wchar_t/10.cc: Likewise.
2724         * testsuite/22_locale/num_put/put/wchar_t/11.cc: Likewise.
2725         * testsuite/22_locale/num_put/put/wchar_t/12.cc: Likewise.
2726         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
2727         * testsuite/22_locale/num_put/put/wchar_t/15565.cc: Likewise.
2728         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
2729         * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
2730         * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
2731         * testsuite/22_locale/num_put/put/wchar_t/23953.cc: Likewise.
2732         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
2733         * testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.
2734         * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
2735         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
2736         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
2737         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
2738         * testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise.
2739         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
2740         * testsuite/22_locale/num_put/put/wchar_t/9.cc: Likewise.
2741         * testsuite/22_locale/numpunct/members/char/1.cc: Likewise.
2742         * testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
2743         * testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
2744         * testsuite/22_locale/numpunct/members/char/cache_1.cc: Likewise.
2745         * testsuite/22_locale/numpunct/members/char/cache_2.cc: Likewise.
2746         * testsuite/22_locale/numpunct/members/pod/1.cc: Likewise.
2747         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Likewise.
2748         * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
2749         * testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: Likewise.
2750         * testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: Likewise.
2751         * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
2752         * testsuite/22_locale/time_get/date_order/char/1.cc: Likewise.
2753         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Likewise.
2754         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
2755         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
2756         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
2757         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
2758         * testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
2759         * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
2760         * testsuite/22_locale/time_get/get_date/char/12791.cc: Likewise.
2761         * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
2762         * testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise.
2763         * testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
2764         * testsuite/22_locale/time_get/get_date/char/5.cc: Likewise.
2765         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
2766         * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
2767         * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: Likewise.
2768         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
2769         * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
2770         * testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
2771         * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
2772         * testsuite/22_locale/time_get/get_date/wchar_t/5.cc: Likewise.
2773         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
2774         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
2775         * testsuite/22_locale/time_get/get_monthname/char/3.cc: Likewise.
2776         * testsuite/22_locale/time_get/get_monthname/char/4.cc: Likewise.
2777         * testsuite/22_locale/time_get/get_monthname/char/5.cc: Likewise.
2778         * testsuite/22_locale/time_get/get_monthname/char/6.cc: Likewise.
2779         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
2780         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
2781         * testsuite/22_locale/time_get/get_monthname/wchar_t/3.cc: Likewise.
2782         * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: Likewise.
2783         * testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc: Likewise.
2784         * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
2785         * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
2786         * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
2787         * testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
2788         * testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
2789         * testsuite/22_locale/time_get/get_time/char/5.cc: Likewise.
2790         * testsuite/22_locale/time_get/get_time/char/6.cc: Likewise.
2791         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
2792         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
2793         * testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
2794         * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
2795         * testsuite/22_locale/time_get/get_time/wchar_t/5.cc: Likewise.
2796         * testsuite/22_locale/time_get/get_time/wchar_t/6.cc: Likewise.
2797         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
2798         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
2799         * testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
2800         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise.
2801         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
2802         * testsuite/22_locale/time_get/get_weekday/char/5.cc: Likewise.
2803         * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
2804         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
2805         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
2806         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
2807         * testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc: Likewise.
2808         * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
2809         * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
2810         * testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
2811         * testsuite/22_locale/time_get/get_year/char/5.cc: Likewise.
2812         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
2813         * testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
2814         * testsuite/22_locale/time_get/get_year/wchar_t/5.cc: Likewise.
2815         * testsuite/22_locale/time_put/put/char/1.cc: Likewise.
2816         * testsuite/22_locale/time_put/put/char/10.cc: Likewise.
2817         * testsuite/22_locale/time_put/put/char/12439_1.cc: Likewise.
2818         * testsuite/22_locale/time_put/put/char/12439_3.cc: Likewise.
2819         * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
2820         * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
2821         * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
2822         * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
2823         * testsuite/22_locale/time_put/put/char/5.cc: Likewise.
2824         * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
2825         * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
2826         * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
2827         * testsuite/22_locale/time_put/put/char/9.cc: Likewise.
2828         * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
2829         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
2830         * testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
2831         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
2832         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
2833         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
2834         * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
2835         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
2836         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
2837         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
2838         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
2839         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
2840         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
2841         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
2842         * testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
2843         * testsuite/30_threads/async/42819.cc: Likewise.
2844         * testsuite/30_threads/async/any.cc: Likewise.
2845         * testsuite/30_threads/async/async.cc: Likewise.
2846         * testsuite/30_threads/async/except.cc: Likewise.
2847         * testsuite/30_threads/async/launch.cc: Likewise.
2848         * testsuite/30_threads/async/sync.cc: Likewise.
2849         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
2850         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
2851         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
2852         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
2853         * testsuite/30_threads/condition_variable/members/3.cc: Likewise.
2854         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
2855         * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
2856         * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
2857         * testsuite/30_threads/future/members/45133.cc: Likewise.
2858         * testsuite/30_threads/future/members/get.cc: Likewise.
2859         * testsuite/30_threads/future/members/get2.cc: Likewise.
2860         * testsuite/30_threads/future/members/share.cc: Likewise.
2861         * testsuite/30_threads/future/members/valid.cc: Likewise.
2862         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
2863         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
2864         * testsuite/30_threads/lock/1.cc: Likewise.
2865         * testsuite/30_threads/lock/2.cc: Likewise.
2866         * testsuite/30_threads/lock/3.cc: Likewise.
2867         * testsuite/30_threads/lock/4.cc: Likewise.
2868         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
2869         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
2870         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
2871         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
2872         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
2873         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
2874         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
2875         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
2876         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
2877         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
2878         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
2879         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
2880         * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
2881         * testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
2882         Likewise.
2883         * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
2884         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
2885         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
2886         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
2887         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
2888         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
2889         * testsuite/30_threads/promise/cons/move.cc: Likewise.
2890         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
2891         * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
2892         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
2893         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
2894         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
2895         * testsuite/30_threads/promise/members/swap.cc: Likewise.
2896         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
2897         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
2898         Likewise.
2899         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
2900         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
2901         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
2902         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
2903         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
2904         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
2905         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
2906         Likewise.
2907         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
2908         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
2909         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
2910         Likewise.
2911         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
2912         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
2913         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
2914         Likewise.
2915         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
2916         Likewise.
2917         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
2918         Likewise.
2919         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
2920         Likewise.
2921         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
2922         Likewise.
2923         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
2924         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
2925         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
2926         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
2927         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
2928         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
2929         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
2930         * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
2931         * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
2932         * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
2933         * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
2934         * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
2935         * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
2936         * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
2937         * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
2938         * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
2939         * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
2940         * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
2941         * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
2942         * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
2943         * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
2944         * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
2945         * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
2946         * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
2947         * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
2948         * testsuite/30_threads/this_thread/1.cc: Likewise.
2949         * testsuite/30_threads/this_thread/2.cc: Likewise.
2950         * testsuite/30_threads/this_thread/3.cc: Likewise.
2951         * testsuite/30_threads/this_thread/4.cc: Likewise.
2952         * testsuite/30_threads/this_thread/60421.cc: Likewise.
2953         * testsuite/30_threads/thread/cons/1.cc: Likewise.
2954         * testsuite/30_threads/thread/cons/2.cc: Likewise.
2955         * testsuite/30_threads/thread/cons/3.cc: Likewise.
2956         * testsuite/30_threads/thread/cons/4.cc: Likewise.
2957         * testsuite/30_threads/thread/cons/5.cc: Likewise.
2958         * testsuite/30_threads/thread/cons/6.cc: Likewise.
2959         * testsuite/30_threads/thread/cons/7.cc: Likewise.
2960         * testsuite/30_threads/thread/cons/8.cc: Likewise.
2961         * testsuite/30_threads/thread/cons/9.cc: Likewise.
2962         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
2963         * testsuite/30_threads/thread/members/1.cc: Likewise.
2964         * testsuite/30_threads/thread/members/2.cc: Likewise.
2965         * testsuite/30_threads/thread/members/3.cc: Likewise.
2966         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
2967         * testsuite/30_threads/thread/swap/1.cc: Likewise.
2968         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
2969         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
2970         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
2971         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
2972         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
2973         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
2974         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
2975         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
2976         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
2977         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
2978         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
2979         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
2980         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
2981         * testsuite/30_threads/try_lock/1.cc: Likewise.
2982         * testsuite/30_threads/try_lock/2.cc: Likewise.
2983         * testsuite/30_threads/try_lock/3.cc: Likewise.
2984         * testsuite/30_threads/try_lock/4.cc: Likewise.
2985         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
2986         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
2987         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
2988         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
2989         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
2990         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
2991         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
2992         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
2993         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
2994         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
2995         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
2996         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2997         not_shared.cc: Likewise.
2998         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2999         not_shared2.cc: Likewise.
3000         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3001         not_shared3.cc: Likewise.
3002         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3003         shared.cc: Likewise.
3004         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3005         still_shared.cc: Likewise.
3006         * testsuite/tr1/2_general_utilities/shared_ptr/assign/assign.cc:
3007         Likewise.
3008         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
3009         Likewise.
3010         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
3011         Likewise.
3012         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
3013         auto_ptr_rvalue_neg.cc: Likewise.
3014         * testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr.cc:
3015         Likewise.
3016         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
3017         shared_ptr_neg.cc: Likewise.
3018         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
3019         Likewise.
3020         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
3021         Likewise.
3022         * testsuite/tr1/2_general_utilities/shared_ptr/cons/copy.cc: Likewise.
3023         * testsuite/tr1/2_general_utilities/shared_ptr/cons/default.cc:
3024         Likewise.
3025         * testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc:
3026         Likewise.
3027         * testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr.cc:
3028         Likewise.
3029         * testsuite/tr1/2_general_utilities/shared_ptr/dest/dest.cc: Likewise.
3030         * testsuite/tr1/2_general_utilities/shared_ptr/misc/24595.cc: Likewise.
3031         * testsuite/tr1/2_general_utilities/shared_ptr/misc/io.cc: Likewise.
3032         * testsuite/tr1/2_general_utilities/shared_ptr/misc/swap.cc: Likewise.
3033         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset.cc:
3034         Likewise.
3035         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
3036         Likewise.
3037         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap.cc:
3038         Likewise.
3039         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap_neg.cc:
3040         Likewise.
3041         * testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
3042         Likewise.
3043         * testsuite/tr1/2_general_utilities/shared_ptr/observers/get.cc:
3044         Likewise.
3045         * testsuite/tr1/2_general_utilities/shared_ptr/observers/unique.cc:
3046         Likewise.
3047         * testsuite/tr1/2_general_utilities/shared_ptr/observers/use_count.cc:
3048         Likewise.
3049         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3050         default_weaktoshared.cc: Likewise.
3051         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3052         mutex_weaktoshared.cc: Likewise.
3053         * testsuite/tr1/3_function_objects/bind/all_bound.cc: Likewise.
3054         * testsuite/tr1/3_function_objects/bind/mixed.cc: Likewise.
3055         * testsuite/tr1/3_function_objects/bind/nested.cc: Likewise.
3056         * testsuite/tr1/3_function_objects/bind/placeholders.cc: Likewise.
3057         * testsuite/tr1/3_function_objects/bind/ref.cc: Likewise.
3058         * testsuite/tr1/3_function_objects/function/1.cc: Likewise.
3059         * testsuite/tr1/3_function_objects/function/2.cc: Likewise.
3060         * testsuite/tr1/3_function_objects/function/3.cc: Likewise.
3061         * testsuite/tr1/3_function_objects/function/4.cc: Likewise.
3062         * testsuite/tr1/3_function_objects/function/5.cc: Likewise.
3063         * testsuite/tr1/3_function_objects/function/6.cc: Likewise.
3064         * testsuite/tr1/3_function_objects/function/7.cc: Likewise.
3065         * testsuite/tr1/3_function_objects/function/8.cc: Likewise.
3066         * testsuite/tr1/3_function_objects/function/9.cc: Likewise.
3067         * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
3068         Likewise.
3069         * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
3070         Likewise.
3071         * testsuite/tr1/3_function_objects/result_of.cc: Likewise.
3072         * testsuite/tr1/4_metaprogramming/add_const/value.cc: Likewise.
3073         * testsuite/tr1/4_metaprogramming/add_cv/value.cc: Likewise.
3074         * testsuite/tr1/4_metaprogramming/add_pointer/value.cc: Likewise.
3075         * testsuite/tr1/4_metaprogramming/add_reference/value.cc: Likewise.
3076         * testsuite/tr1/4_metaprogramming/add_volatile/value.cc: Likewise.
3077         * testsuite/tr1/4_metaprogramming/aligned_storage/value.cc: Likewise.
3078         * testsuite/tr1/4_metaprogramming/alignment_of/value.cc: Likewise.
3079         * testsuite/tr1/4_metaprogramming/extent/value.cc: Likewise.
3080         * testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc: Likewise.
3081         * testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc:
3082         Likewise.
3083         * testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc: Likewise.
3084         * testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc: Likewise.
3085         * testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc:
3086         Likewise.
3087         * testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc: Likewise.
3088         * testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc:
3089         Likewise.
3090         * testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc:
3091         Likewise.
3092         * testsuite/tr1/4_metaprogramming/integral_constant/
3093         static_definition.cc: Likewise.
3094         * testsuite/tr1/4_metaprogramming/integral_constant/
3095         true_false_value.cc: Likewise.
3096         * testsuite/tr1/4_metaprogramming/is_abstract/value.cc: Likewise.
3097         * testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc: Likewise.
3098         * testsuite/tr1/4_metaprogramming/is_array/value.cc: Likewise.
3099         * testsuite/tr1/4_metaprogramming/is_base_of/value.cc: Likewise.
3100         * testsuite/tr1/4_metaprogramming/is_class/value.cc: Likewise.
3101         * testsuite/tr1/4_metaprogramming/is_compound/value.cc: Likewise.
3102         * testsuite/tr1/4_metaprogramming/is_const/value.cc: Likewise.
3103         * testsuite/tr1/4_metaprogramming/is_convertible/value.cc: Likewise.
3104         * testsuite/tr1/4_metaprogramming/is_empty/value.cc: Likewise.
3105         * testsuite/tr1/4_metaprogramming/is_enum/24808.cc: Likewise.
3106         * testsuite/tr1/4_metaprogramming/is_enum/value.cc: Likewise.
3107         * testsuite/tr1/4_metaprogramming/is_floating_point/value.cc: Likewise.
3108         * testsuite/tr1/4_metaprogramming/is_function/24808.cc: Likewise.
3109         * testsuite/tr1/4_metaprogramming/is_function/value.cc: Likewise.
3110         * testsuite/tr1/4_metaprogramming/is_fundamental/value.cc: Likewise.
3111         * testsuite/tr1/4_metaprogramming/is_integral/value.cc: Likewise.
3112         * testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc:
3113         Likewise.
3114         * testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc:
3115         Likewise.
3116         * testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc: Likewise.
3117         * testsuite/tr1/4_metaprogramming/is_object/24808.cc: Likewise.
3118         * testsuite/tr1/4_metaprogramming/is_object/value.cc: Likewise.
3119         * testsuite/tr1/4_metaprogramming/is_pod/value.cc: Likewise.
3120         * testsuite/tr1/4_metaprogramming/is_pointer/value.cc: Likewise.
3121         * testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc: Likewise.
3122         * testsuite/tr1/4_metaprogramming/is_reference/value.cc: Likewise.
3123         * testsuite/tr1/4_metaprogramming/is_same/value.cc: Likewise.
3124         * testsuite/tr1/4_metaprogramming/is_scalar/value.cc: Likewise.
3125         * testsuite/tr1/4_metaprogramming/is_signed/value.cc: Likewise.
3126         * testsuite/tr1/4_metaprogramming/is_union/value.cc: Likewise.
3127         * testsuite/tr1/4_metaprogramming/is_unsigned/value.cc: Likewise.
3128         * testsuite/tr1/4_metaprogramming/is_void/value.cc: Likewise.
3129         * testsuite/tr1/4_metaprogramming/is_volatile/value.cc: Likewise.
3130         * testsuite/tr1/4_metaprogramming/rank/value.cc: Likewise.
3131         * testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc: Likewise.
3132         * testsuite/tr1/4_metaprogramming/remove_const/value.cc: Likewise.
3133         * testsuite/tr1/4_metaprogramming/remove_cv/value.cc: Likewise.
3134         * testsuite/tr1/4_metaprogramming/remove_extent/value.cc: Likewise.
3135         * testsuite/tr1/4_metaprogramming/remove_pointer/value.cc: Likewise.
3136         * testsuite/tr1/4_metaprogramming/remove_reference/value.cc: Likewise.
3137         * testsuite/tr1/4_metaprogramming/remove_volatile/value.cc: Likewise.
3138         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3139         equal.cc: Likewise.
3140         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3141         not_equal.cc: Likewise.
3142         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3143         serialize.cc: Likewise.
3144         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3145         cons/default.cc: Likewise.
3146         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3147         cons/gen1.cc: Likewise.
3148         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3149         operators/equal.cc: Likewise.
3150         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3151         operators/not_equal.cc: Likewise.
3152         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3153         operators/serialize.cc: Likewise.
3154         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3155         cons/default.cc: Likewise.
3156         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3157         cons/gen1.cc: Likewise.
3158         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3159         operators/equal.cc: Likewise.
3160         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3161         operators/not_equal.cc: Likewise.
3162         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3163         operators/serialize.cc: Likewise.
3164         * testsuite/tr1/5_numerical_facilities/random/minstd_rand.cc: Likewise.
3165         * testsuite/tr1/5_numerical_facilities/random/minstd_rand0.cc: Likewise.
3166         * testsuite/tr1/5_numerical_facilities/random/mt19937.cc: Likewise.
3167         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
3168         default.cc: Likewise.
3169         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
3170         token.cc: Likewise.
3171         * testsuite/tr1/5_numerical_facilities/random/ranlux3.cc: Likewise.
3172         * testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc: Likewise.
3173         * testsuite/tr1/5_numerical_facilities/random/ranlux4.cc: Likewise.
3174         * testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc
3175         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3176         cons/default.cc: Likewise.
3177         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3178         cons/gen1.cc: Likewise.
3179         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3180         operators/equal.cc: Likewise.
3181         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3182         operators/not_equal.cc: Likewise.
3183         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3184         operators/serialize.cc: Likewise.
3185         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3186         cons/default.cc: Likewise.
3187         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3188         cons/gen1.cc: Likewise.
3189         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3190         operators/equal.cc: Likewise.
3191         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3192         operators/not_equal.cc: Likewise.
3193         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3194         operators/serialize.cc: Likewise.
3195         * testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc:
3196         Likewise.
3197         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3198         default.cc: Likewise.
3199         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3200         range.cc: Likewise.
3201         * testsuite/tr1/5_numerical_facilities/random/xor_combine/cons/
3202         default.cc: Likewise.
3203         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3204         equal.cc: Likewise.
3205         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3206         not_equal.cc: Likewise.
3207         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3208         serialize.cc: Likewise.
3209         * testsuite/tr1/5_numerical_facilities/special_functions/
3210         08_cyl_bessel_i/check_value.cc: Likewise.
3211         * testsuite/tr1/5_numerical_facilities/special_functions/
3212         08_cyl_bessel_i/pr56216.cc: Likewise.
3213         * testsuite/tr1/5_numerical_facilities/special_functions/
3214         09_cyl_bessel_j/check_value.cc: Likewise.
3215         * testsuite/tr1/5_numerical_facilities/special_functions/
3216         10_cyl_bessel_k/check_value.cc: Likewise.
3217         * testsuite/tr1/5_numerical_facilities/special_functions/
3218         11_cyl_neumann/check_value.cc: Likewise.
3219         * testsuite/tr1/5_numerical_facilities/special_functions/
3220         16_hermite/check_value.cc: Likewise.
3221         * testsuite/tr1/5_numerical_facilities/special_functions/
3222         21_sph_bessel/check_value.cc: Likewise.
3223         * testsuite/tr1/5_numerical_facilities/special_functions/
3224         23_sph_neumann/check_value.cc: Likewise.
3225         * testsuite/tr1/6_containers/array/capacity/empty.cc: Likewise.
3226         * testsuite/tr1/6_containers/array/capacity/max_size.cc: Likewise.
3227         * testsuite/tr1/6_containers/array/capacity/size.cc: Likewise.
3228         * testsuite/tr1/6_containers/array/comparison_operators/equal.cc:
3229         Likewise.
3230         * testsuite/tr1/6_containers/array/comparison_operators/greater.cc:
3231         Likewise.
3232         * testsuite/tr1/6_containers/array/comparison_operators/
3233         greater_or_equal.cc: Likewise.
3234         * testsuite/tr1/6_containers/array/comparison_operators/less.cc:
3235         Likewise.
3236         * testsuite/tr1/6_containers/array/comparison_operators/
3237         less_or_equal.cc: Likewise.
3238         * testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc:
3239         Likewise.
3240         * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc:
3241         Likewise.
3242         * testsuite/tr1/6_containers/array/element_access/back.cc: Likewise.
3243         * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
3244         * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
3245         * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc:
3246         Likewise.
3247         * testsuite/tr1/6_containers/array/requirements/assign.cc: Likewise.
3248         * testsuite/tr1/6_containers/array/requirements/contiguous.cc: Likewise.
3249         * testsuite/tr1/6_containers/array/requirements/member_swap.cc:
3250         Likewise.
3251         * testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc:
3252         Likewise.
3253         * testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc:
3254         Likewise.
3255         * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
3256         * testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc:
3257         Likewise.
3258         * testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc:
3259         Likewise.
3260         * testsuite/tr1/6_containers/hash/24799.cc: Likewise.
3261         * testsuite/tr1/6_containers/hash/operators/size_t.cc: Likewise.
3262         *
3263         testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc:
3264         Likewise.
3265         * testsuite/tr1/6_containers/tuple/cons/assignment.cc: Likewise.
3266         * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: Likewise.
3267         * testsuite/tr1/6_containers/tuple/cons/constructor.cc: Likewise.
3268         * testsuite/tr1/6_containers/tuple/creation_functions/23978.cc:
3269         Likewise.
3270         * testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc:
3271         Likewise.
3272         * testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: Likewise.
3273         * testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Likewise.
3274         * testsuite/tr1/6_containers/tuple/element_access/get.cc: Likewise.
3275         * testsuite/tr1/6_containers/tuple/tuple_size.cc: Likewise.
3276         * testsuite/tr1/6_containers/unordered_map/24064.cc: Likewise.
3277         * testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc:
3278         Likewise.
3279         * testsuite/tr1/6_containers/unordered_map/erase/1.cc: Likewise.
3280         * testsuite/tr1/6_containers/unordered_map/erase/24061-map.cc: Likewise.
3281         * testsuite/tr1/6_containers/unordered_map/find/map1.cc: Likewise.
3282         * testsuite/tr1/6_containers/unordered_map/insert/24061-map.cc:
3283         Likewise.
3284         * testsuite/tr1/6_containers/unordered_map/insert/array_syntax.cc:
3285         Likewise.
3286         * testsuite/tr1/6_containers/unordered_map/insert/map_range.cc:
3287         Likewise.
3288         * testsuite/tr1/6_containers/unordered_map/insert/map_single.cc:
3289         Likewise.
3290         * testsuite/tr1/6_containers/unordered_map/swap/1.cc: Likewise.
3291         * testsuite/tr1/6_containers/unordered_map/swap/2.cc: Likewise.
3292         * testsuite/tr1/6_containers/unordered_multimap/capacity/
3293         29134-multimap.cc: Likewise.
3294         * testsuite/tr1/6_containers/unordered_multimap/erase/1.cc: Likewise.
3295         * testsuite/tr1/6_containers/unordered_multimap/erase/
3296         24061-multimap.cc: Likewise.
3297         * testsuite/tr1/6_containers/unordered_multimap/find/multimap1.cc:
3298         Likewise.
3299         * testsuite/tr1/6_containers/unordered_multimap/insert/
3300         24061-multimap.cc: Likewise.
3301         * testsuite/tr1/6_containers/unordered_multimap/insert/
3302         multimap_range.cc: Likewise.
3303         * testsuite/tr1/6_containers/unordered_multimap/insert/
3304         multimap_single.cc: Likewise.
3305         * testsuite/tr1/6_containers/unordered_multimap/swap/1.cc: Likewise.
3306         * testsuite/tr1/6_containers/unordered_multimap/swap/2.cc: Likewise.
3307         * testsuite/tr1/6_containers/unordered_multiset/24054.cc: Likewise.
3308         * testsuite/tr1/6_containers/unordered_multiset/capacity/
3309         29134-multiset.cc: Likewise.
3310         * testsuite/tr1/6_containers/unordered_multiset/erase/1.cc: Likewise.
3311         * testsuite/tr1/6_containers/unordered_multiset/erase/
3312         24061-multiset.cc: Likewise.
3313         * testsuite/tr1/6_containers/unordered_multiset/find/multiset1.cc:
3314         Likewise.
3315         * testsuite/tr1/6_containers/unordered_multiset/insert/
3316         24061-multiset.cc: Likewise.
3317         * testsuite/tr1/6_containers/unordered_multiset/insert/
3318         multiset_range.cc: Likewise.
3319         * testsuite/tr1/6_containers/unordered_multiset/insert/
3320         multiset_single.cc: Likewise.
3321         * testsuite/tr1/6_containers/unordered_multiset/swap/1.cc: Likewise.
3322         * testsuite/tr1/6_containers/unordered_multiset/swap/2.cc: Likewise.
3323         * testsuite/tr1/6_containers/unordered_set/23465.cc: Likewise.
3324         * testsuite/tr1/6_containers/unordered_set/26132.cc: Likewise.
3325         * testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
3326         Likewise.
3327         * testsuite/tr1/6_containers/unordered_set/erase/1.cc: Likewise.
3328         * testsuite/tr1/6_containers/unordered_set/erase/24061-set.cc: Likewise.
3329         * testsuite/tr1/6_containers/unordered_set/find/set1.cc: Likewise.
3330         * testsuite/tr1/6_containers/unordered_set/insert/24061-set.cc:
3331         Likewise.
3332         * testsuite/tr1/6_containers/unordered_set/insert/set_range.cc:
3333         Likewise.
3334         * testsuite/tr1/6_containers/unordered_set/insert/set_single.cc:
3335         Likewise.
3336         * testsuite/tr1/6_containers/unordered_set/swap/1.cc: Likewise.
3337         * testsuite/tr1/6_containers/unordered_set/swap/2.cc: Likewise.
3338         * testsuite/tr1/6_containers/utility/pair.cc: Likewise.
3339         * testsuite/tr1/7_regular_expressions/match_results/ctors/char/
3340         default.cc: Likewise.
3341         * testsuite/tr1/7_regular_expressions/regex_traits/char/
3342         translate_nocase.cc: Likewise.
3343         * testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc:
3344         Likewise.
3345         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/
3346         translate_nocase.cc: Likewise.
3347         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc:
3348         Likewise.
3349         * testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise.
3350         * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Likewise.
3352 2016-10-16  Ville Voutilainen  <ville.voutilainen@gmail.com>
3354         Make sure the return value of malloc_allocator::allocate
3355         is zero-initialized so that checking it for non-zero works
3356         later.
3357         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
3358         Initialize the return value.
3359         * testsuite/ext/malloc_allocator/sanity.cc: New.
3361 2016-10-14  Eelis van der Weegen  <eelis@eelis.net>
3363         * include/bits/stl_algo.h (shuffle): Extract two random numbers from
3364         each generator invocation when its range is large enough.
3366 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
3368         * testsuite/experimental/algorithm/sample.cc: Qualify calls to
3369         resolve ambiguity between std::sample and std::experimental::sample.
3371         * include/std/functional (_Mu<A, false, true>, _Mu<A, true, false>):
3372         Simplify forwarding from tuple of references.
3373         (_Maybe_wrap_member_pointer): Remove.
3374         (_Bind::__call, _Bind::__call_c, _Bind::__call_v, _Bind::__call_c_v):
3375         Use std::__invoke.
3376         (_Bind::_Mu_type, _Bind::_Res_type_impl, _Bind::_Res_type)
3377         (_Bind::__dependent, _Bind::_Res_type_cv): New helpers to simplify
3378         return type deduction.
3379         (_Bind::operator(), _Bind::operator() const): Use new helpers.
3380         (_Bind::operator() volatile, _Bind::operator() const volatile):
3381         Likewise. Add deprecated attribute for C++17 mode.
3382         (_Bind_result::__call): Use std::__invoke.
3383         (_Bind_result::operator() volatile)
3384         (_Bind_result::operator() const volatile): Add deprecated attribute.
3385         (_Bind_helper::__maybe_type, _Bindres_helper::__maybe_type): Remove.
3386         (_Bind_helper, _Bindres_helper): Don't use _Maybe_wrap_member_pointer.
3387         (bind, bind<R>): Don't use __maybe_type.
3388         * src/c++11/compatibility-thread-c++0x.cc
3389         (_Maybe_wrap_member_pointer): Define here for compatibility symbols.
3390         * testsuite/20_util/bind/68912.cc: Don't test volatile-qualification
3391         in C++17 mode.
3392         * testsuite/20_util/bind/cv_quals.cc: Likewise.
3393         * testsuite/20_util/bind/cv_quals_2.cc: Likewise.
3395         * include/std/scoped_allocator (scoped_allocator_adaptor): Forward
3396         piecewise construction arguments as tuples of references, to avoid
3397         copies (related to LWG 2511).
3398         * testsuite/20_util/scoped_allocator/construct_pair.cc: New test.
3400 2016-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
3402         * testsuite/26_numerics/accumulate/1.cc: Remove 'test' variables.
3403         * testsuite/26_numerics/adjacent_difference/1.cc: Likewise.
3404         * testsuite/26_numerics/complex/13450.cc: Likewise.
3405         * testsuite/26_numerics/complex/50880.cc: Likewise.
3406         * testsuite/26_numerics/complex/c99.cc: Likewise.
3407         * testsuite/26_numerics/complex/cons/48760.cc: Likewise.
3408         * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
3409         * testsuite/26_numerics/complex/dr781_dr1137.cc: Likewise.
3410         * testsuite/26_numerics/complex/dr844.cc: Likewise.
3411         * testsuite/26_numerics/complex/inserters_extractors/char/1.cc:
3412         Likewise.
3413         * testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc:
3414         Likewise.
3415         * testsuite/26_numerics/complex/value_operations/1.cc: Likewise.
3416         * testsuite/26_numerics/complex/value_operations/dr387.cc: Likewise.
3417         * testsuite/26_numerics/headers/cmath/19322.cc: Likewise.
3418         * testsuite/26_numerics/headers/cmath/
3419         c99_classification_macros_c++11.c: Likewise.c
3420         * testsuite/26_numerics/headers/cmath/
3421         c99_classification_macros_c++98.cc: Likewise.
3422         * testsuite/26_numerics/headers/cmath/c_math.cc: Likewise.
3423         * testsuite/26_numerics/headers/cmath/dr550.cc: Likewise.
3424         * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
3425         * testsuite/26_numerics/headers/cmath/powi.cc: Likewise.
3426         * testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise.
3427         * testsuite/26_numerics/inner_product/1.cc: Likewise.
3428         * testsuite/26_numerics/iota/1.cc: Likewise.
3429         * testsuite/26_numerics/partial_sum/1.cc: Likewise.
3430         * testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc:
3431         Likewise.
3432         * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
3433         Likewise.
3434         * testsuite/26_numerics/random/bernoulli_distribution/operators/
3435         equal.cc: Likewise.
3436         * testsuite/26_numerics/random/bernoulli_distribution/operators/
3437         inequal.cc: Likewise.
3438         * testsuite/26_numerics/random/binomial_distribution/cons/default.cc:
3439         Likewise.
3440         * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
3441         Likewise.
3442         * testsuite/26_numerics/random/binomial_distribution/operators/
3443         equal.cc: Likewise.
3444         * testsuite/26_numerics/random/binomial_distribution/operators/
3445         inequal.cc: Likewise.
3446         * testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
3447         Likewise.
3448         * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
3449         Likewise.
3450         * testsuite/26_numerics/random/cauchy_distribution/operators/equal.cc:
3451         Likewise.
3452         * testsuite/26_numerics/random/cauchy_distribution/operators/
3453         inequal.cc: Likewise.
3454         * testsuite/26_numerics/random/chi_squared_distribution/cons/
3455         default.cc: Likewise.
3456         * testsuite/26_numerics/random/chi_squared_distribution/cons/
3457         parms.cc: Likewise.
3458         * testsuite/26_numerics/random/chi_squared_distribution/operators/
3459         equal.cc: Likewise.
3460         * testsuite/26_numerics/random/chi_squared_distribution/operators/
3461         inequal.cc: Likewise.
3462         * testsuite/26_numerics/random/default_random_engine.cc: Likewise.
3463         * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
3464         Likewise.
3465         * testsuite/26_numerics/random/discard_block_engine/operators/equal.cc:
3466         Likewise.
3467         * testsuite/26_numerics/random/discard_block_engine/operators/
3468         inequal.cc: Likewise.
3469         * testsuite/26_numerics/random/discard_block_engine/operators/
3470         serialize.cc: Likewise.
3471         * testsuite/26_numerics/random/discrete_distribution/cons/
3472         default.cc: Likewise.
3473         * testsuite/26_numerics/random/discrete_distribution/cons/
3474         initlist.cc: Likewise.
3475         * testsuite/26_numerics/random/discrete_distribution/cons/
3476         num_xbound_fun.cc: Likewise.
3477         * testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
3478         Likewise.
3479         * testsuite/26_numerics/random/discrete_distribution/operators/
3480         equal.cc: Likewise.
3481         * testsuite/26_numerics/random/discrete_distribution/operators/
3482         inequal.cc: Likewise.
3483         * testsuite/26_numerics/random/exponential_distribution/cons/
3484         default.cc: Likewise.
3485         * testsuite/26_numerics/random/exponential_distribution/cons/
3486         parms.cc: Likewise.
3487         * testsuite/26_numerics/random/exponential_distribution/operators/
3488         equal.cc: Likewise.
3489         * testsuite/26_numerics/random/exponential_distribution/operators/
3490         inequal.cc: Likewise.
3491         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3492         default.cc: Likewise.
3493         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3494         parms.cc: Likewise.
3495         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3496         equal.cc: Likewise.
3497         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3498         inequal.cc: Likewise.
3499         * testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc:
3500         Likewise.
3501         * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
3502         Likewise.
3503         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3504         equal.cc: Likewise.
3505         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3506         inequal.cc: Likewise.
3507         * testsuite/26_numerics/random/gamma_distribution/cons/default.cc:
3508         Likewise.
3509         * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
3510         Likewise.
3511         * testsuite/26_numerics/random/gamma_distribution/operators/equal.cc:
3512         Likewise.
3513         * testsuite/26_numerics/random/gamma_distribution/operators/
3514         inequal.cc: Likewise.
3515         * testsuite/26_numerics/random/geometric_distribution/cons/
3516         default.cc: Likewise.
3517         * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
3518         Likewise.
3519         * testsuite/26_numerics/random/geometric_distribution/operators/
3520         equal.cc: Likewise.
3521         * testsuite/26_numerics/random/geometric_distribution/operators/
3522         inequal.cc: Likewise.
3523         * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
3524         Likewise.
3525         * testsuite/26_numerics/random/independent_bits_engine/operators/
3526         equal.cc: Likewise.
3527         * testsuite/26_numerics/random/independent_bits_engine/operators/
3528         inequal.cc: Likewise.
3529         * testsuite/26_numerics/random/independent_bits_engine/operators/
3530         serialize.cc: Likewise.
3531         * testsuite/26_numerics/random/knuth_b.cc: Likewise.
3532         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3533         55215.cc: Likewise.
3534         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3535         default.cc: Likewise.
3536         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3537         51795.cc: Likewise.
3538         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3539         equal.cc: Likewise.
3540         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3541         inequal.cc: Likewise.
3542         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3543         serialize.cc: Likewise.
3544         * testsuite/26_numerics/random/lognormal_distribution/cons/default.cc:
3545         Likewise.
3546         * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
3547         Likewise.
3548         * testsuite/26_numerics/random/lognormal_distribution/operators/
3549         equal.cc: Likewise.
3550         * testsuite/26_numerics/random/lognormal_distribution/operators/
3551         inequal.cc: Likewise.
3552         * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
3553         Likewise.
3554         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
3555         default.cc: Likewise.
3556         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3557         equal.cc: Likewise.
3558         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3559         inequal.cc: Likewise.
3560         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3561         serialize.cc: Likewise.
3562         * testsuite/26_numerics/random/minstd_rand.cc: Likewise.
3563         * testsuite/26_numerics/random/minstd_rand0.cc: Likewise.
3564         * testsuite/26_numerics/random/mt19937.cc: Likewise.
3565         * testsuite/26_numerics/random/mt19937_64.cc: Likewise.
3566         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3567         default.cc: Likewise.
3568         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3569         parms.cc: Likewise.
3570         * testsuite/26_numerics/random/negative_binomial_distribution/
3571         operators/equal.cc: Likewise.
3572         * testsuite/26_numerics/random/negative_binomial_distribution/
3573         operators/inequal.cc: Likewise.
3574         * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
3575         Likewise.
3576         * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
3577         Likewise.
3578         * testsuite/26_numerics/random/normal_distribution/operators/
3579         equal.cc: Likewise.
3580         * testsuite/26_numerics/random/normal_distribution/operators/
3581         inequal.cc: Likewise.
3582         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3583         default.cc: Likewise.
3584         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3585         initlist_fun.cc: Likewise.
3586         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3587         num_xbound_fun.cc: Likewise.
3588         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3589         range.cc: Likewise.
3590         * testsuite/26_numerics/random/piecewise_constant_distribution/
3591         operators/equal.cc: Likewise.
3592         * testsuite/26_numerics/random/piecewise_constant_distribution/
3593         operators/inequal.cc: Likewise.
3594         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3595         default.cc: Likewise.
3596         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3597         initlist_fun.cc: Likewise.
3598         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3599         num_xbound_fun.cc: Likewise.
3600         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3601         range.cc: Likewise.
3602         * testsuite/26_numerics/random/piecewise_linear_distribution/
3603         operators/equal.cc: Likewise.
3604         * testsuite/26_numerics/random/piecewise_linear_distribution/
3605         operators/inequal.cc: Likewise.
3606         * testsuite/26_numerics/random/poisson_distribution/cons/default.cc:
3607         Likewise.
3608         * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
3609         Likewise.
3610         * testsuite/26_numerics/random/poisson_distribution/operators/
3611         equal.cc: Likewise.
3612         * testsuite/26_numerics/random/poisson_distribution/operators/
3613         inequal.cc: Likewise.
3614         * testsuite/26_numerics/random/random_device/cons/default.cc: Likewise.
3615         * testsuite/26_numerics/random/random_device/cons/token.cc: Likewise.
3616         * testsuite/26_numerics/random/ranlux24.cc: Likewise.
3617         * testsuite/26_numerics/random/ranlux24_base.cc: Likewise.
3618         * testsuite/26_numerics/random/ranlux48.cc: Likewise.
3619         * testsuite/26_numerics/random/ranlux48_base.cc: Likewise.
3620         * testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Likewise.
3621         * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
3622         Likewise.
3623         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3624         equal.cc: Likewise.
3625         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3626         inequal.cc: Likewise.
3627         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3628         serialize.cc: Likewise.
3629         * testsuite/26_numerics/random/student_t_distribution/cons/
3630         default.cc: Likewise.
3631         * testsuite/26_numerics/random/student_t_distribution/cons/
3632         parms.cc: Likewise.
3633         * testsuite/26_numerics/random/student_t_distribution/operators/
3634         equal.cc: Likewise.
3635         * testsuite/26_numerics/random/student_t_distribution/operators/
3636         inequal.cc: Likewise.
3637         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3638         55215.cc: Likewise.
3639         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3640         default.cc: Likewise.
3641         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3642         equal.cc: Likewise.
3643         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3644         inequal.cc: Likewise.
3645         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3646         serialize.cc: Likewise.
3647         * testsuite/26_numerics/random/uniform_int_distribution/cons/
3648         default.cc: Likewise.
3649         * testsuite/26_numerics/random/uniform_int_distribution/cons/
3650         parms.cc: Likewise.
3651         * testsuite/26_numerics/random/uniform_int_distribution/operators/
3652         equal.cc: Likewise.
3653         * testsuite/26_numerics/random/uniform_int_distribution/operators/
3654         inequal.cc: Likewise.
3655         * testsuite/26_numerics/random/uniform_real_distribution/cons/
3656         default.cc: Likewise.
3657         * testsuite/26_numerics/random/uniform_real_distribution/cons/
3658         parms.cc: Likewise.
3659         * testsuite/26_numerics/random/uniform_real_distribution/operators/
3660         equal.cc: Likewise.
3661         * testsuite/26_numerics/random/uniform_real_distribution/operators/
3662         inequal.cc: Likewise.
3663         * testsuite/26_numerics/random/weibull_distribution/cons/default.cc:
3664         Likewise.
3665         * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
3666         Likewise.
3667         * testsuite/26_numerics/random/weibull_distribution/operators/
3668         equal.cc: Likewise.
3669         * testsuite/26_numerics/random/weibull_distribution/operators/
3670         inequal.cc: Likewise.
3671         * testsuite/26_numerics/slice/1.cc: Likewise.
3672         * testsuite/26_numerics/slice_array/array_assignment.cc: Likewise.
3673         * testsuite/26_numerics/valarray/27867.cc: Likewise.
3674         * testsuite/26_numerics/valarray/28277.cc: Likewise.
3675         * testsuite/26_numerics/valarray/30416.cc: Likewise.
3676         * testsuite/26_numerics/valarray/dr543.cc: Likewise.
3677         * testsuite/26_numerics/valarray/dr630-1.cc: Likewise.
3678         * testsuite/26_numerics/valarray/dr630-2.cc: Likewise.
3679         * testsuite/26_numerics/valarray/dr630-3.C: Likewise.
3680         * testsuite/26_numerics/valarray/init-list.cc: Likewise.
3681         * testsuite/26_numerics/valarray/moveable.cc: Likewise.
3682         * testsuite/26_numerics/valarray/operators.cc: Likewise.
3683         * testsuite/26_numerics/valarray/swap.cc: Likewise.
3684         * testsuite/experimental/deque/erasure.cc: Likewise.
3685         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
3686         Likewise.
3687         * testsuite/experimental/filesystem/iterators/
3688         recursive_directory_iterator.cc: Likewise.
3689         * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
3690         * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
3691         * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
3692         * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
3693         * testsuite/experimental/filesystem/operations/create_directories.cc:
3694         Likewise.
3695         * testsuite/experimental/filesystem/operations/create_directory.cc:
3696         Likewise.
3697         * testsuite/experimental/filesystem/operations/current_path.cc:
3698         Likewise.
3699         * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
3700         * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
3701         * testsuite/experimental/filesystem/operations/last_write_time.cc:
3702         Likewise.
3703         * testsuite/experimental/filesystem/operations/permissions.cc: Likewise.
3704         * testsuite/experimental/filesystem/operations/status.cc: Likewise.
3705         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
3706         Likewise.
3707         * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
3708         * testsuite/experimental/forward_list/erasure.cc: Likewise.
3709         * testsuite/experimental/list/erasure.cc: Likewise.
3710         * testsuite/experimental/map/erasure.cc: Likewise.
3711         * testsuite/experimental/memory/shared_ptr/assign/assign.cc: Likewise.
3712         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
3713         Likewise.
3714         * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: Likewise.
3715         * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: Likewise.
3716         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: Likewise.
3717         * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc:
3718         Likewise.
3719         * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: Likewise.
3720         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
3721         Likewise.
3722         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
3723         Likewise.
3724         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
3725         Likewise.
3726         * testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise.
3727         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Likewise.
3728         * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: Likewise.
3729         * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
3730         Likewise.
3731         * testsuite/experimental/memory/shared_ptr/observers/operators.cc:
3732         Likewise.
3733         * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
3734         Likewise.
3735         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
3736         Likewise.
3737         * testsuite/experimental/memory_resource/1.cc: Likewise.
3738         * testsuite/experimental/memory_resource/null_memory_resource.cc:
3739         Likewise.
3740         * testsuite/experimental/memory_resource/resource_adaptor.cc: Likewise.
3741         * testsuite/experimental/set/erasure.cc: Likewise.
3742         * testsuite/experimental/string/erasure.cc: Likewise.
3743         * testsuite/experimental/string_view/capacity/1.cc: Likewise.
3744         * testsuite/experimental/string_view/cons/char/1.cc: Likewise.
3745         * testsuite/experimental/string_view/cons/char/2.cc: Likewise.
3746         * testsuite/experimental/string_view/cons/char/3.cc: Likewise.
3747         * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
3748         * testsuite/experimental/string_view/cons/wchar_t/2.cc: Likewise.
3749         * testsuite/experimental/string_view/cons/wchar_t/3.cc: Likewise.
3750         * testsuite/experimental/string_view/element_access/char/1.cc: Likewise.
3751         * testsuite/experimental/string_view/element_access/char/empty.cc:
3752         Likewise.
3753         * testsuite/experimental/string_view/element_access/char/
3754         front_back.cc: Likewise.
3755         * testsuite/experimental/string_view/element_access/wchar_t/1.cc:
3756         Likewise.
3757         * testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
3758         Likewise.
3759         * testsuite/experimental/string_view/element_access/wchar_t/
3760         front_back.cc: Likewise.
3761         * testsuite/experimental/string_view/inserters/char/1.cc: Likewise.
3762         * testsuite/experimental/string_view/inserters/char/2.cc: Likewise.
3763         * testsuite/experimental/string_view/inserters/char/3.cc: Likewise.
3764         * testsuite/experimental/string_view/inserters/pod/10081-out.cc:
3765         Likewise.
3766         * testsuite/experimental/string_view/inserters/wchar_t/1.cc: Likewise.
3767         * testsuite/experimental/string_view/inserters/wchar_t/2.cc: Likewise.
3768         * testsuite/experimental/string_view/inserters/wchar_t/3.cc: Likewise.
3769         * testsuite/experimental/string_view/modifiers/remove_prefix/char/
3770         1.cc: Likewise.
3771         * testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
3772         1.cc: Likewise.
3773         * testsuite/experimental/string_view/modifiers/remove_suffix/char/
3774         1.cc: Likewise.
3775         * testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
3776         1.cc: Likewise.
3777         * testsuite/experimental/string_view/operations/compare/char/1.cc:
3778         Likewise.
3779         * testsuite/experimental/string_view/operations/compare/char/
3780         13650.cc: Likewise.
3781         * testsuite/experimental/string_view/operations/compare/wchar_t/
3782         1.cc: Likewise.
3783         * testsuite/experimental/string_view/operations/compare/wchar_t/
3784         13650.cc: Likewise.
3785         * testsuite/experimental/string_view/operations/copy/char/1.cc:
3786         Likewise.
3787         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
3788         Likewise.
3789         * testsuite/experimental/string_view/operations/data/char/1.cc:
3790         Likewise.
3791         * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
3792         Likewise.
3793         * testsuite/experimental/string_view/operations/find/char/1.cc:
3794         Likewise.
3795         * testsuite/experimental/string_view/operations/find/char/2.cc:
3796         Likewise.
3797         * testsuite/experimental/string_view/operations/find/char/3.cc:
3798         Likewise.
3799         * testsuite/experimental/string_view/operations/find/char/4.cc:
3800         Likewise.
3801         * testsuite/experimental/string_view/operations/find/wchar_t/1.cc:
3802         Likewise.
3803         * testsuite/experimental/string_view/operations/find/wchar_t/2.cc:
3804         Likewise.
3805         * testsuite/experimental/string_view/operations/find/wchar_t/3.cc:
3806         Likewise.
3807         * testsuite/experimental/string_view/operations/find/wchar_t/4.cc:
3808         Likewise.
3809         * testsuite/experimental/string_view/operations/rfind/char/1.cc:
3810         Likewise.
3811         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
3812         Likewise.
3813         * testsuite/experimental/string_view/operations/rfind/char/3.cc:
3814         Likewise.
3815         * testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc:
3816         Likewise.
3817         * testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc:
3818         Likewise.
3819         * testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc:
3820         Likewise.
3821         * testsuite/experimental/string_view/operations/substr/char/1.cc:
3822         Likewise.
3823         * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
3824         Likewise.
3825         * testsuite/experimental/string_view/operations/to_string/1.cc:
3826         Likewise.
3827         * testsuite/experimental/string_view/operators/char/2.cc: Likewise.
3828         * testsuite/experimental/string_view/operators/wchar_t/2.cc: Likewise.
3829         * testsuite/experimental/unordered_map/erasure.cc: Likewise.
3830         * testsuite/experimental/unordered_set/erasure.cc: Likewise.
3831         * testsuite/experimental/vector/erasure.cc: Likewise.
3832         * testsuite/ext/array_allocator/1.cc: Likewise.
3833         * testsuite/ext/array_allocator/2.cc: Likewise.
3834         * testsuite/ext/array_allocator/3.cc: Likewise.
3835         * testsuite/ext/array_allocator/variadic_construct.cc: Likewise.
3836         * testsuite/ext/bitmap_allocator/variadic_construct.cc: Likewise.
3837         * testsuite/ext/codecvt/1.cc: Likewise.
3838         * testsuite/ext/codecvt/char-1.cc: Likewise.
3839         * testsuite/ext/codecvt/char-2.cc: Likewise.
3840         * testsuite/ext/codecvt/wchar_t.cc: Likewise.
3841         * testsuite/ext/enc_filebuf/char/13189.cc: Likewise.
3842         * testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
3843         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
3844         * testsuite/ext/ext_pointer/1.cc: Likewise.
3845         * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
3846         * testsuite/ext/malloc_allocator/variadic_construct.cc: Likewise.
3847         * testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: Likewise.
3848         * testsuite/ext/mt_allocator/tune-1.cc: Likewise.
3849         * testsuite/ext/mt_allocator/tune-2.cc: Likewise.
3850         * testsuite/ext/mt_allocator/tune-3.cc: Likewise.
3851         * testsuite/ext/mt_allocator/tune-4.cc: Likewise.
3852         * testsuite/ext/mt_allocator/variadic_construct.cc: Likewise.
3853         * testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
3854         * testsuite/ext/pod_char_traits.cc: Likewise.
3855         * testsuite/ext/pool_allocator/variadic_construct.cc: Likewise.
3856         * testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise.
3857         * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
3858         * testsuite/ext/random/arcsine_distribution/operators/equal.cc:
3859         Likewise.
3860         * testsuite/ext/random/arcsine_distribution/operators/inequal.cc:
3861         Likewise.
3862         * testsuite/ext/random/arcsine_distribution/operators/serialize.cc:
3863         Likewise.
3864         * testsuite/ext/random/beta_distribution/cons/default.cc: Likewise.
3865         * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
3866         * testsuite/ext/random/beta_distribution/operators/equal.cc: Likewise.
3867         * testsuite/ext/random/beta_distribution/operators/inequal.cc: Likewise.
3868         * testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise.
3869         * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
3870         * testsuite/ext/random/hoyt_distribution/operators/equal.cc: Likewise.
3871         * testsuite/ext/random/hoyt_distribution/operators/inequal.cc: Likewise.
3872         * testsuite/ext/random/hoyt_distribution/operators/serialize.cc:
3873         Likewise.
3874         * testsuite/ext/random/hypergeometric_distribution/cons/default.cc:
3875         Likewise.
3876         * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
3877         Likewise.
3878         * testsuite/ext/random/hypergeometric_distribution/operators/
3879         equal.cc: Likewise.
3880         * testsuite/ext/random/hypergeometric_distribution/operators/
3881         inequal.cc: Likewise.
3882         * testsuite/ext/random/hypergeometric_distribution/operators/
3883         serialize.cc: Likewise.
3884         * testsuite/ext/random/k_distribution/cons/default.cc: Likewise.
3885         * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
3886         * testsuite/ext/random/k_distribution/operators/equal.cc: Likewise.
3887         * testsuite/ext/random/k_distribution/operators/inequal.cc: Likewise.
3888         * testsuite/ext/random/k_distribution/operators/serialize.cc: Likewise.
3889         * testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise.
3890         * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
3891         * testsuite/ext/random/logistic_distribution/operators/equal.cc:
3892         Likewise.
3893         * testsuite/ext/random/logistic_distribution/operators/inequal.cc:
3894         Likewise.
3895         * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
3896         Likewise.
3897         * testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise.
3898         * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
3899         * testsuite/ext/random/nakagami_distribution/operators/equal.cc:
3900         Likewise.
3901         * testsuite/ext/random/nakagami_distribution/operators/inequal.cc:
3902         Likewise.
3903         * testsuite/ext/random/nakagami_distribution/operators/serialize.cc:
3904         Likewise.
3905         * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
3906         * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
3907         * testsuite/ext/random/normal_mv_distribution/operators/equal.cc:
3908         Likewise.
3909         * testsuite/ext/random/normal_mv_distribution/operators/inequal.cc:
3910         Likewise.
3911         * testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise.
3912         * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
3913         * testsuite/ext/random/pareto_distribution/operators/equal.cc: Likewise.
3914         * testsuite/ext/random/pareto_distribution/operators/inequal.cc:
3915         Likewise.
3916         * testsuite/ext/random/pareto_distribution/operators/serialize.cc:
3917         Likewise.
3918         * testsuite/ext/random/rice_distribution/cons/default.cc: Likewise.
3919         * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
3920         * testsuite/ext/random/rice_distribution/operators/equal.cc: Likewise.
3921         * testsuite/ext/random/rice_distribution/operators/inequal.cc: Likewise.
3922         * testsuite/ext/random/rice_distribution/operators/serialize.cc:
3923         Likewise.
3924         * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/
3925         default.cc: Likewise.
3926         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
3927         equal.cc: Likewise.
3928         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
3929         inequal.cc: Likewise.
3930         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
3931         serialize.cc: Likewise.
3932         * testsuite/ext/random/triangular_distribution/cons/default.cc:
3933         Likewise.
3934         * testsuite/ext/random/triangular_distribution/cons/parms.cc: Likewise.
3935         * testsuite/ext/random/triangular_distribution/operators/equal.cc:
3936         Likewise.
3937         * testsuite/ext/random/triangular_distribution/operators/inequal.cc:
3938         Likewise.
3939         * testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc:
3940         Likewise.
3941         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3942         equal.cc: Likewise.
3943         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3944         generate.cc: Likewise.
3945         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3946         inequal.cc: Likewise.
3947         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3948         serialize.cc: Likewise.
3949         * testsuite/ext/random/von_mises_distribution/cons/default.cc: Likewise.
3950         * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
3951         * testsuite/ext/random/von_mises_distribution/operators/equal.cc:
3952         Likewise.
3953         * testsuite/ext/random/von_mises_distribution/operators/inequal.cc:
3954         Likewise.
3955         * testsuite/ext/rope/2.cc: Likewise.
3956         * testsuite/ext/rope/3.cc: Likewise.
3957         * testsuite/ext/rope/4.cc: Likewise.
3958         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
3959         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
3960         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: Likewise.
3961         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
3962         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
3963         * testsuite/ext/stdio_filebuf/char/10063-1.cc: Likewise.
3964         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
3965         * testsuite/ext/stdio_filebuf/char/10063-3.cc: Likewise.
3966         * testsuite/ext/stdio_filebuf/char/2.cc: Likewise.
3967         * testsuite/ext/stdio_sync_filebuf/char/1.cc: Likewise.
3968         * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Likewise.
3969         * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Likewise.
3970         * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Likewise.
3971         * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Likewise.
3972         * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise.
3973         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
3974         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Likewise.
3975         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Likewise.
3976         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Likewise.
3977         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Likewise.
3978         * testsuite/ext/throw_allocator/variadic_construct.cc: Likewise.
3979         * testsuite/ext/type_traits/add_unsigned.cc: Likewise.
3980         * testsuite/ext/type_traits/remove_unsigned.cc: Likewise.
3981         * testsuite/ext/vstring/capacity/29134.cc: Likewise.
3982         * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
3983         * testsuite/ext/vstring/cons/58415-1.cc: Likewise.
3984         * testsuite/ext/vstring/cons/moveable.cc: Likewise.
3985         * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
3986         * testsuite/ext/vstring/element_access/char/front_back.cc: Likewise.
3987         * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
3988         * testsuite/ext/vstring/element_access/wchar_t/front_back.cc: Likewise.
3989         * testsuite/ext/vstring/hash/char/1.cc: Likewise.
3990         * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
3991         * testsuite/ext/vstring/init-list.cc: Likewise.
3992         * testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.
3993         * testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: Likewise.
3994         * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Likewise.
3995         * testsuite/ext/vstring/modifiers/pop_back/char/1.cc: Likewise.
3996         * testsuite/ext/vstring/modifiers/pop_back/wchar_t/1.cc: Likewise.
3997         * testsuite/ext/vstring/operators/1.cc: Likewise.
3998         * testsuite/ext/vstring/operators/2.cc: Likewise.
4000 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
4002         PR libstdc++/65122
4003         * include/ext/malloc_allocator.h (malloc_allocator::allocate): Use
4004         aligned_alloc for types with extended alignment if available,
4005         otherwise throw bad_alloc if malloc doesn't return a suitable value.
4006         * include/ext/bitmap_allocator.h (bitmap_allocator::allocate)
4007         (bitmap_allocator::deallocate): Use aligned new/delete for types with
4008         extended alignment.
4009         * include/ext/mt_allocator.h (__mt_alloc::allocate)
4010         (__mt_alloc::deallocate): Likewise.
4011         * include/ext/new_allocator.h (new_allocator::allocate)
4012         (new_allocator::deallocate): Likewise.
4013         * include/ext/pool_allocator.h (__pool_alloc::allocate)
4014         (__pool_alloc::deallocate): Likewise.
4015         * testsuite/20_util/allocator/overaligned.cc: New test.
4016         * testsuite/ext/bitmap_allocator/overaligned.cc: New test.
4017         * testsuite/ext/malloc_allocator/overaligned.cc: New test.
4018         * testsuite/ext/mt_allocator/overaligned.cc: New test.
4019         * testsuite/ext/new_allocator/overaligned.cc: New test.
4020         * testsuite/ext/pool_allocator/overaligned.cc: New test.
4022 2016-10-14  Tim Shen  <timshen@google.com>
4024         PR libstdc++/77944
4025         * include/std/variant: Include <bits/funcexcept.h> for __try and
4026         __catch.
4028 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
4030         * include/std/functional (_Reference_wrapper_base_impl): Remove.
4031         (_Refwrap_base_arg1, _Refwrap_base_arg2): New helpers using __void_t.
4032         (_Reference_wrapper_base): Inherit from new helpers.
4034 2016-10-13  Paolo Carlini  <paolo.carlini@oracle.com>
4036         * testsuite/24_iterators/container_access.cc: Remove 'test' variables.
4037         * testsuite/24_iterators/istream_iterator/2.cc: Likewise.
4038         * testsuite/24_iterators/istreambuf_iterator/2.cc: Likewise.
4039         * testsuite/24_iterators/istreambuf_iterator/2627.cc: Likewise.
4040         * testsuite/24_iterators/operations/next.cc: Likewise.
4041         * testsuite/24_iterators/operations/prev.cc: Likewise.
4042         * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
4043         * testsuite/24_iterators/random_access_iterator/26020.cc: Likewise.
4044         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
4045         * testsuite/24_iterators/reverse_iterator/11729.cc: Likewise.
4046         * testsuite/24_iterators/reverse_iterator/3.cc: Likewise.
4047         * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
4048         * testsuite/25_algorithms/all_of/1.cc: Likewise.
4049         * testsuite/25_algorithms/any_of/1.cc: Likewise.
4050         * testsuite/25_algorithms/binary_search/2.cc: Likewise.
4051         * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
4052         * testsuite/25_algorithms/clamp/1.cc: Likewise.
4053         * testsuite/25_algorithms/clamp/2.cc: Likewise.
4054         * testsuite/25_algorithms/copy/1.cc: Likewise.
4055         * testsuite/25_algorithms/copy/2.cc: Likewise.
4056         * testsuite/25_algorithms/copy/3.cc: Likewise.
4057         * testsuite/25_algorithms/copy/34595.cc: Likewise.
4058         * testsuite/25_algorithms/copy/4.cc: Likewise.
4059         * testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
4060         * testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
4061         * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
4062         * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
4063         * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
4064         * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
4065         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
4066         Likewise.
4067         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
4068         Likewise.
4069         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
4070         Likewise.
4071         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
4072         Likewise.
4073         * testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
4074         * testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
4075         * testsuite/25_algorithms/copy_n/1.cc: Likewise.
4076         * testsuite/25_algorithms/copy_n/2.cc: Likewise.
4077         * testsuite/25_algorithms/copy_n/3.cc: Likewise.
4078         * testsuite/25_algorithms/copy_n/4.cc: Likewise.
4079         * testsuite/25_algorithms/copy_n/50119.cc: Likewise.
4080         * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
4081         * testsuite/25_algorithms/equal_range/2.cc: Likewise.
4082         * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
4083         * testsuite/25_algorithms/fill/1.cc: Likewise.
4084         * testsuite/25_algorithms/fill/2.cc: Likewise.
4085         * testsuite/25_algorithms/fill/3.cc: Likewise.
4086         * testsuite/25_algorithms/fill/4.cc: Likewise.
4087         * testsuite/25_algorithms/fill_n/1.cc: Likewise.
4088         * testsuite/25_algorithms/find/39546.cc: Likewise.
4089         * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: Likewise.
4090         * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Likewise.
4091         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
4092         Likewise.
4093         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
4094         Likewise.
4095         * testsuite/25_algorithms/find_if/1.cc: Likewise.
4096         * testsuite/25_algorithms/find_if_not/1.cc: Likewise.
4097         * testsuite/25_algorithms/for_each/1.cc: Likewise.
4098         * testsuite/25_algorithms/heap/1.cc: Likewise.
4099         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
4100         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
4101         * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
4102         * testsuite/25_algorithms/includes/1.cc: Likewise.
4103         * testsuite/25_algorithms/inplace_merge/1.cc: Likewise.
4104         * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
4105         * testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise.
4106         * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
4107         * testsuite/25_algorithms/is_heap/1.cc: Likewise.
4108         * testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
4109         * testsuite/25_algorithms/is_partitioned/1.cc: Likewise.
4110         * testsuite/25_algorithms/is_permutation/1.cc: Likewise.
4111         * testsuite/25_algorithms/is_permutation/2.cc: Likewise.
4112         * testsuite/25_algorithms/is_permutation/vectorbool.cc: Likewise.
4113         * testsuite/25_algorithms/is_sorted/1.cc: Likewise.
4114         * testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
4115         * testsuite/25_algorithms/iter_swap/20577.cc: Likewise.
4116         * testsuite/25_algorithms/lower_bound/2.cc: Likewise.
4117         * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
4118         * testsuite/25_algorithms/make_heap/complexity.cc: Likewise.
4119         * testsuite/25_algorithms/max/1.cc: Likewise.
4120         * testsuite/25_algorithms/max/2.cc: Likewise.
4121         * testsuite/25_algorithms/max/3.cc: Likewise.
4122         * testsuite/25_algorithms/max/37547.cc: Likewise.
4123         * testsuite/25_algorithms/max/4.cc: Likewise.
4124         * testsuite/25_algorithms/min/1.cc: Likewise.
4125         * testsuite/25_algorithms/min/2.cc: Likewise.
4126         * testsuite/25_algorithms/min/3.cc: Likewise.
4127         * testsuite/25_algorithms/min/37547.cc: Likewise.
4128         * testsuite/25_algorithms/min/4.cc: Likewise.
4129         * testsuite/25_algorithms/minmax/1.cc: Likewise.
4130         * testsuite/25_algorithms/minmax/2.cc: Likewise.
4131         * testsuite/25_algorithms/minmax/3.cc: Likewise.
4132         * testsuite/25_algorithms/minmax/37547.cc: Likewise.
4133         * testsuite/25_algorithms/minmax_element/1.cc: Likewise.
4134         * testsuite/25_algorithms/move/1.cc: Likewise.
4135         * testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
4136         * testsuite/25_algorithms/move_backward/1.cc: Likewise.
4137         * testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
4138         * testsuite/25_algorithms/next_permutation/moveable.cc: Likewise.
4139         * testsuite/25_algorithms/none_of/1.cc: Likewise.
4140         * testsuite/25_algorithms/nth_element/1.cc: Likewise.
4141         * testsuite/25_algorithms/nth_element/2.cc: Likewise.
4142         * testsuite/25_algorithms/nth_element/3.cc: Likewise.
4143         * testsuite/25_algorithms/nth_element/moveable.cc: Likewise.
4144         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
4145         * testsuite/25_algorithms/partial_sort/2.cc: Likewise.
4146         * testsuite/25_algorithms/partial_sort/check_compare_by_value.cc:
4147         Likewise.
4148         * testsuite/25_algorithms/partial_sort/moveable.cc: Likewise.
4149         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
4150         * testsuite/25_algorithms/partial_sort_copy/2.cc: Likewise.
4151         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
4152         * testsuite/25_algorithms/partition/1.cc: Likewise.
4153         * testsuite/25_algorithms/partition/moveable.cc: Likewise.
4154         * testsuite/25_algorithms/partition_copy/1.cc: Likewise.
4155         * testsuite/25_algorithms/partition_point/1.cc: Likewise.
4156         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
4157         * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
4158         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
4159         * testsuite/25_algorithms/random_shuffle/1.cc: Likewise.
4160         * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
4161         * testsuite/25_algorithms/rotate/1.cc: Likewise.
4162         * testsuite/25_algorithms/rotate/moveable.cc: Likewise.
4163         * testsuite/25_algorithms/rotate/moveable2.cc: Likewise.
4164         * testsuite/25_algorithms/rotate/rotate.cc: Likewise.
4165         * testsuite/25_algorithms/search/1.cc: Likewise.
4166         * testsuite/25_algorithms/search_n/58358.cc: Likewise.
4167         * testsuite/25_algorithms/shuffle/1.cc: Likewise.
4168         * testsuite/25_algorithms/sort/1.cc: Likewise.
4169         * testsuite/25_algorithms/sort/check_compare_by_value.cc: Likewise.
4170         * testsuite/25_algorithms/sort/moveable.cc: Likewise.
4171         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
4172         * testsuite/25_algorithms/sort/vectorbool.cc: Likewise.
4173         * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc: Likewise.
4174         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
4175         * testsuite/25_algorithms/stable_partition/1.cc: Likewise.
4176         * testsuite/25_algorithms/stable_partition/mem_check.cc: Likewise.
4177         * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
4178         * testsuite/25_algorithms/stable_sort/2.cc: Likewise.
4179         * testsuite/25_algorithms/stable_sort/3.cc: Likewise.
4180         * testsuite/25_algorithms/stable_sort/49559.cc: Likewise.
4181         * testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
4182         Likewise.
4183         * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
4184         * testsuite/25_algorithms/stable_sort/moveable.cc: Likewise.
4185         * testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise.
4186         * testsuite/25_algorithms/swap_ranges/1.cc: Likewise.
4187         * testsuite/25_algorithms/unique/11480.cc: Likewise.
4188         * testsuite/25_algorithms/unique/2.cc: Likewise.
4189         * testsuite/25_algorithms/unique/moveable.cc: Likewise.
4190         * testsuite/25_algorithms/unique_copy/1.cc: Likewise.
4191         * testsuite/25_algorithms/unique_copy/2.cc: Likewise.
4192         * testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
4193         * testsuite/25_algorithms/upper_bound/2.cc: Likewise.
4194         * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
4195         * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Likewise.
4196         * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc:
4197         Likewise.
4198         * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc:
4199         Likewise.
4200         * testsuite/28_regex/algorithms/regex_match/basic/
4201         string_range_00_03.cc: Likewise.
4202         * testsuite/28_regex/algorithms/regex_match/basic/
4203         string_range_01_03.cc: Likewise.
4204         * testsuite/28_regex/algorithms/regex_match/basic/
4205         string_range_02_03.cc: Likewise.
4206         * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
4207         Likewise.
4208         * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
4209         Likewise.
4210         * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
4211         Likewise.
4212         * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc:
4213         Likewise.
4214         * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
4215         Likewise.
4216         * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
4217         Likewise.
4218         * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc:
4219         Likewise.
4220         * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
4221         Likewise.
4222         * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
4223         Likewise.
4224         * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Likewise.
4225         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
4226         Likewise.
4227         * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc:
4228         Likewise.
4229         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
4230         Likewise.
4231         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/
4232         anymatcher.cc: Likewise.
4233         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
4234         Likewise.
4235         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc:
4236         Likewise.
4237         * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
4238         Likewise.
4239         * testsuite/28_regex/algorithms/regex_match/extended/
4240         cstring_questionmark.cc: Likewise.
4241         * testsuite/28_regex/algorithms/regex_match/extended/
4242         cstring_range.cc: Likewise.
4243         * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
4244         Likewise.
4245         * testsuite/28_regex/algorithms/regex_match/extended/
4246         string_range_00_03.cc: Likewise.
4247         * testsuite/28_regex/algorithms/regex_match/extended/
4248         string_range_01_03.cc: Likewise.
4249         * testsuite/28_regex/algorithms/regex_match/extended/
4250         string_range_02_03.cc: Likewise.
4251         * testsuite/28_regex/algorithms/regex_match/extended/
4252         wstring_locale.cc: Likewise.
4253         * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
4254         Likewise.
4255         * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc: Likewise.
4256         * testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise.
4257         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
4258         Likewise.
4259         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
4260         Likewise.
4261         * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Likewise.
4262         * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Likewise.
4263         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
4264         Likewise.
4265         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
4266         * testsuite/28_regex/basic_regex/assign/char/cstring_op.cc: Likewise.
4267         * testsuite/28_regex/basic_regex/assign/char/moveable.cc: Likewise.
4268         * testsuite/28_regex/basic_regex/assign/char/pstring.cc: Likewise.
4269         * testsuite/28_regex/basic_regex/assign/char/range.cc: Likewise.
4270         * testsuite/28_regex/basic_regex/assign/char/string.cc: Likewise.
4271         * testsuite/28_regex/basic_regex/assign/char/string_op.cc: Likewise.
4272         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc: Likewise.
4273         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc: Likewise.
4274         * testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc: Likewise.
4275         * testsuite/28_regex/basic_regex/assign/wchar_t/range.cc: Likewise.
4276         * testsuite/28_regex/basic_regex/assign/wchar_t/string.cc: Likewise.
4277         * testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc: Likewise.
4278         * testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc:
4279         Likewise.
4280         * testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
4281         Likewise.
4282         * testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
4283         * testsuite/28_regex/basic_regex/ctors/extended/
4284         string_range_01_02_03.cc: Likewise.
4285         * testsuite/28_regex/basic_regex/ctors/move_char.cc: Likewise.
4286         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
4287         * testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc: Likewise.
4288         * testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc: Likewise.
4289         * testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc: Likewise.
4290         * testsuite/28_regex/basic_regex/imbue/string.cc: Likewise.
4291         * testsuite/28_regex/constants/error_type.cc: Likewise.
4292         * testsuite/28_regex/constants/match_flag_type.cc: Likewise.
4293         * testsuite/28_regex/init-list.cc: Likewise.
4294         * testsuite/28_regex/iterators/regex_iterator/char/64140.cc: Likewise.
4295         * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
4296         Likewise.
4297         * testsuite/28_regex/iterators/regex_iterator/char/
4298         string_position_01.cc
4299         * testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc:
4300         Likewise.
4301         * testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/
4302         default.cc: Likewise.
4303         * testsuite/28_regex/iterators/regex_iterator/typedefs.cc: Likewise.
4304         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
4305         Likewise.
4306         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
4307         Likewise.
4308         * testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Likewise.
4309         * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
4310         Likewise.
4311         * testsuite/28_regex/iterators/regex_token_iterator/ctors/char/
4312         default.cc: Likewise.
4313         * testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/
4314         default.cc: Likewise.
4315         * testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc:
4316         Likewise.
4317         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4318         string_01.cc: Likewise.
4319         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4320         wstring_02.cc: Likewise.
4321         * testsuite/28_regex/match_results/ctors/char/default.cc: Likewise.
4322         * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
4323         * testsuite/28_regex/match_results/format.cc: Likewise.
4324         * testsuite/28_regex/match_results/out_of_range_submatches.cc: Likewise.
4325         * testsuite/28_regex/match_results/swap.cc: Likewise.
4326         * testsuite/28_regex/match_results/typedefs.cc: Likewise.
4327         * testsuite/28_regex/regex_error/regex_error.cc: Likewise.
4328         * testsuite/28_regex/regression.cc: Likewise.
4329         * testsuite/28_regex/sub_match/cast_char.cc: Likewise.
4330         * testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
4331         * testsuite/28_regex/sub_match/embedded_zeros_cmp.cc: Likewise.
4332         * testsuite/28_regex/sub_match/length.cc: Likewise.
4333         * testsuite/28_regex/traits/char/ctor.cc: Likewise.
4334         * testsuite/28_regex/traits/char/isctype.cc: Likewise.
4335         * testsuite/28_regex/traits/char/length.cc: Likewise.
4336         * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
4337         * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
4338         * testsuite/28_regex/traits/char/transform.cc: Likewise.
4339         * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
4340         * testsuite/28_regex/traits/char/translate.cc: Likewise.
4341         * testsuite/28_regex/traits/char/translate_nocase.cc: Likewise.
4342         * testsuite/28_regex/traits/char/user_defined.cc: Likewise.
4343         * testsuite/28_regex/traits/char/value.cc: Likewise.
4344         * testsuite/28_regex/traits/wchar_t/ctor.cc: Likewise.
4345         * testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise.
4346         * testsuite/28_regex/traits/wchar_t/length.cc: Likewise.
4347         * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: Likewise.
4348         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
4349         * testsuite/28_regex/traits/wchar_t/transform.cc: Likewise.
4350         * testsuite/28_regex/traits/wchar_t/transform_primary.cc: Likewise.
4351         * testsuite/28_regex/traits/wchar_t/translate.cc: Likewise.
4352         * testsuite/28_regex/traits/wchar_t/translate_nocase.cc: Likewise.
4353         * testsuite/28_regex/traits/wchar_t/user_defined.cc: Likewise.
4354         * testsuite/28_regex/traits/wchar_t/value.cc: Likewise.
4355         * testsuite/29_atomics/atomic/60658.cc: Likewise.
4356         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
4357         * testsuite/29_atomics/atomic_flag/clear/1.cc: Likewise.
4358         * testsuite/backward/11460.cc: Likewise.
4359         * testsuite/backward/hash_map/1.cc: Likewise.
4360         * testsuite/backward/hash_map/25896.cc: Likewise.
4361         * testsuite/backward/hash_set/1.cc: Likewise.
4362         * testsuite/backward/hash_set/25896.cc: Likewise.
4363         * testsuite/decimal/binary-arith.cc: Likewise.
4364         * testsuite/decimal/comparison.cc: Likewise.
4365         * testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
4366         * testsuite/decimal/compound-assignment.cc: Likewise.
4367         * testsuite/decimal/conversion-from-float.cc: Likewise.
4368         * testsuite/decimal/conversion-from-integral.cc: Likewise.
4369         * testsuite/decimal/conversion-to-generic-float.cc: Likewise.
4370         * testsuite/decimal/conversion-to-integral.cc: Likewise.
4371         * testsuite/decimal/ctor.cc: Likewise.
4372         * testsuite/decimal/incdec-memfunc.cc: Likewise.
4373         * testsuite/decimal/incdec.cc: Likewise.
4374         * testsuite/decimal/make-decimal.cc: Likewise.
4375         * testsuite/decimal/pr54036-1.cc: Likewise.
4376         * testsuite/decimal/pr54036-2.cc: Likewise.
4377         * testsuite/decimal/pr54036-3.cc: Likewise.
4378         * testsuite/decimal/unary-arith.cc: Likewise.
4379         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise.
4380         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
4381         Likewise.
4382         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise.
4383         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
4384         Likewise.
4385         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
4386         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
4387         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
4388         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: Likewise.
4389         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
4390         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: Likewise.
4391         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
4392         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Likewise.
4393         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
4394         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Likewise.
4395         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
4396         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
4397         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Likewise.
4398         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
4399         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Likewise.
4400         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
4401         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
4402         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
4403         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
4404         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
4405         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
4406         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
4407         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
4408         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
4409         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
4410         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
4411         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
4412         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
4413         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
4414         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
4415         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
4416         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
4417         * testsuite/special_functions/18_riemann_zeta/check_value.cc: Likewise.
4418         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
4419         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
4420         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
4421         * testsuite/special_functions/20_sph_legendre/check_value.cc: Likewise.
4422         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
4423         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
4424         * testsuite/tr2/bases/value.cc: Likewise.
4425         * testsuite/tr2/direct_bases/value.cc: Likewise.
4426         * testsuite/util/debug/checks.h: Likewise.
4427         * testsuite/util/debug/unordered_checks.h: Likewise.
4428         * testsuite/util/testsuite_allocator.h: Likewise.
4429         * testsuite/util/testsuite_api.h: Likewise.
4430         * testsuite/util/testsuite_common_types.h: Likewise.
4431         * testsuite/util/testsuite_random.h: Likewise.
4432         * testsuite/util/testsuite_rvalref.h: Likewise.
4434 2016-10-13  Jonathan Wakely  <jwakely@redhat.com>
4436         * include/bits/shared_ptr_base.h: Include <functional>.
4437         [!__cpp_rtti]: Do not include <typeinfo>.
4438         * include/experimental/array: Do not include <functional>.
4439         * include/experimental/memory: Include <bits/functional_hash.h>
4440         instead of <functional>.
4441         * include/experimental/propagate_const: Include <bits/stl_function.h>,
4442         <bits/functional_hash.h>, and <bits/move.h> instead of <functional>.
4443         * include/experimental/tuple: Do not include <functional>.
4444         * include/std/future: Include <functional>.
4445         * include/std/memory: Do not include <functional>.
4446         * include/std/mutex: [_GLIBCXX_HAVE_TLS]: Likewise.
4447         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
4448         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
4449         missing includes.
4450         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4451         * testsuite/20_util/specialized_algorithms/memory_management_tools/
4452         1.cc: Likewise.
4453         * testsuite/30_threads/call_once/60497.cc: Likewise.
4454         * testsuite/30_threads/lock/2.cc: Likewise.
4455         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
4456         * testsuite/experimental/algorithm/sample.cc: Likewise.
4457         * testsuite/experimental/array/make_array.cc: Likewise.
4458         * testsuite/experimental/array/neg.cc: Likewise. Adjust dg-error line.
4459         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
4460         Adjust dg-error lines.
4461         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
4462         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
4463         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
4464         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
4465         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
4467         * testsuite/experimental/algorithm/sample.cc: Add missing header.
4469         * include/experimental/propagate_const (element_type): Qualify
4470         declval.
4472         * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
4473         instead of assert.
4475         * include/experiumental/functional (boyer_moore_searcher)
4476         (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
4477         with _GLIBCXX_STD_C.
4478         * include/std/functional: Likewise.
4480         * include/std/chrono (floor): Replace non-constexpr operation.
4481         * testsuite/20_util/duration_cast/rounding.cc: Test conversion to
4482         durations with floating pointer representations.
4484         * src/c++11/compatibility-thread-c++0x.cc (_Bind_simple)
4485         (_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols.
4487         * include/std/functional (_Bind_simple, _Bind_simple_helper)
4488         (__bind_simple): Remove.
4489         * include/std/future: Include <bits/invoke.h> instead of <functional>.
4490         (__future_base::_Task_state::_M_run)
4491         (__future_base::_Task_state::_M_run_delayed): Use lambda expressions
4492         instead of __bind_simple.
4493         (__future_base::_Task_state::_S_maybe_wrap_ref): Remove.
4494         (async): Use thread::__make_invoker instead of __bind_simple.
4495         * include/std/thread: Include <tuple> and <bits/invoke.h> instead of
4496         <functional>.
4497         (thread::_Invoker, thread::__make_invoker): Define helpers to do
4498         INVOKE(DECAY_COPY(f), DECAY_COPY(args)...).
4500         * include/std/functional (_Not_fn): Make exception specifications
4501         depend on whether negating the result can throw.
4502         * testsuite/20_util/not_fn/1.cc: Move to ...
4503         * testsuite/20_util/function_objects/not_fn/1.cc: ... here. Add tests
4504         for types that can throw when negated and that cannot be negated.
4506         * include/bits/invoke.h (__invoke): Fix exception-specification.
4507         * include/std/functional (invoke): Likewise.
4508         * testsuite/20_util/function_objects/invoke/1.cc: New test.
4510 2016-10-12  Paolo Carlini  <paolo.carlini@oracle.com>
4512         * testsuite/util/testsuite_hooks.h: Rewrite VERIFY in terms of
4513         __builtin_printf and __builtin_abort.
4514         * testsuite/lib/libstdc++.exp: Remove _GLIBCXX_ASSERT use.
4515         * scripts/testsuite_flags.in: Likewise.
4516         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
4517         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
4518         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
4519         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
4520         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise, adjust.
4521         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
4522         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
4523         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
4524         * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
4525         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
4526         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
4527         Likewise.
4528         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
4529         Likewise.
4530         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
4531         Likewise.
4532         * testsuite/27_io/objects/char/7.cc: Likewise.
4533         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
4534         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
4535         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
4536         * testsuite/18_support/50594.cc: Remove 'test' variable, adjust.
4537         * testsuite/18_support/bad_alloc/what.cc: Likewise.
4538         * testsuite/18_support/bad_cast/what.cc: Likewise.
4539         * testsuite/18_support/bad_exception/what.cc: Likewise.
4540         * testsuite/18_support/bad_typeid/what.cc: Likewise.
4541         * testsuite/18_support/exception/38732.cc: Likewise.
4542         * testsuite/18_support/exception/what.cc: Likewise.
4543         * testsuite/18_support/exception_ptr/64241.cc: Likewise.
4544         * testsuite/18_support/exception_ptr/current_exception.cc: Likewise.
4545         * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
4546         * testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise.
4547         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
4548         * testsuite/18_support/nested_exception/cons.cc: Likewise.
4549         * testsuite/18_support/nested_exception/nested_ptr.cc: Likewise.
4550         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise.
4551         * testsuite/18_support/nested_exception/rethrow_nested.cc: Likewise.
4552         * testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise.
4553         * testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise.
4554         * testsuite/18_support/numeric_limits/digits10.cc: Likewise.
4555         * testsuite/18_support/numeric_limits/dr559.cc: Likewise.
4556         * testsuite/18_support/numeric_limits/epsilon.cc: Likewise.
4557         * testsuite/18_support/numeric_limits/is_iec559.cc: Likewise.
4558         * testsuite/18_support/numeric_limits/is_signed.cc: Likewise.
4559         * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
4560         * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
4561         * testsuite/18_support/numeric_limits/min_max.cc: Likewise.
4562         * testsuite/18_support/numeric_limits/specialization_default_values.cc:
4563         Likewise.
4564         * testsuite/18_support/type_info/hash_code.cc: Likewise.
4565         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
4566         * testsuite/19_diagnostics/error_category/cons/default.cc: Likewise.
4567         * testsuite/19_diagnostics/error_category/operators/equal.cc: Likewise.
4568         * testsuite/19_diagnostics/error_category/operators/
4569         not_equal.cc: Likewise.
4570         * testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
4571         * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
4572         * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
4573         * testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
4574         * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
4575         * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
4576         * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise.
4577         * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
4578         * testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
4579         Likewise.
4580         * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
4581         * testsuite/19_diagnostics/error_condition/operators/equal.cc:
4582         Likewise.
4583         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
4584         Likewise.
4585         * testsuite/19_diagnostics/logic_error/what-1.cc: Likewise.
4586         * testsuite/19_diagnostics/logic_error/what-2.cc: Likewise.
4587         * testsuite/19_diagnostics/logic_error/what-3.cc: Likewise.
4588         * testsuite/19_diagnostics/logic_error/what-big.cc: Likewise.
4589         * testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise.
4590         * testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise.
4591         * testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
4592         * testsuite/19_diagnostics/runtime_error/what-big.cc: Likewise.
4593         * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
4594         * testsuite/19_diagnostics/system_error/what-1.cc: Likewise.
4595         * testsuite/19_diagnostics/system_error/what-2.cc: Likewise.
4596         * testsuite/19_diagnostics/system_error/what-3.cc: Likewise.
4597         * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
4598         * testsuite/19_diagnostics/system_error/what-big.cc: Likewise.
4599         * testsuite/20_util/addressof/1.cc: Likewise.
4600         * testsuite/20_util/align/1.cc: Likewise.
4601         * testsuite/20_util/align/2.cc: Likewise.
4602         * testsuite/20_util/allocator/1.cc: Likewise.
4603         * testsuite/20_util/allocator/10378.cc: Likewise.
4604         * testsuite/20_util/allocator/8230.cc: Likewise.
4605         * testsuite/20_util/allocator_traits/members/allocate_hint.cc:
4606         Likewise.
4607         * testsuite/20_util/allocator_traits/members/construct.cc: Likewise.
4608         * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
4609         * testsuite/20_util/allocator_traits/members/max_size.cc: Likewise.
4610         * testsuite/20_util/any/assign/exception.cc: Likewise.
4611         * testsuite/20_util/auto_ptr/1.cc: Likewise.
4612         * testsuite/20_util/auto_ptr/2.cc: Likewise.
4613         * testsuite/20_util/auto_ptr/3.cc: Likewise.
4614         * testsuite/20_util/auto_ptr/4.cc: Likewise.
4615         * testsuite/20_util/auto_ptr/5.cc: Likewise.
4616         * testsuite/20_util/auto_ptr/6.cc: Likewise.
4617         * testsuite/20_util/auto_ptr/7.cc: Likewise.
4618         * testsuite/20_util/bind/all_bound.cc: Likewise.
4619         * testsuite/20_util/bind/conv_result.cc: Likewise.
4620         * testsuite/20_util/bind/cv_quals.cc: Likewise.
4621         * testsuite/20_util/bind/cv_quals_2.cc
4622         * testsuite/20_util/bind/nested.cc: Likewise.
4623         * testsuite/20_util/bind/placeholders.cc: Likewise.
4624         * testsuite/20_util/bind/ref.cc: Likewise.
4625         * testsuite/20_util/bind/ref2.cc: Likewise.
4626         * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
4627         * testsuite/20_util/duration/arithmetic/1.cc: Likewise.
4628         * testsuite/20_util/duration/arithmetic/2.cc: Likewise.
4629         * testsuite/20_util/duration/arithmetic/58850.cc: Likewise.
4630         * testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise.
4631         * testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise.
4632         * testsuite/20_util/duration/comparison_operators/1.cc: Likewise.
4633         * testsuite/20_util/duration/cons/1.cc: Likewise.
4634         * testsuite/20_util/duration/cons/2.cc: Likewise.
4635         * testsuite/20_util/enable_if/requirements/typedefs.cc: Likewise.
4636         * testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Likewise.
4637         * testsuite/20_util/enable_shared_from_this/members/assign.cc:
4638         Likewise.
4639         * testsuite/20_util/exchange/1.cc: Likewise.
4640         * testsuite/20_util/forward/a.cc: Likewise.
4641         * testsuite/20_util/forward/b.cc: Likewise.
4642         * testsuite/20_util/forward/d.cc: Likewise.
4643         * testsuite/20_util/function/1.cc: Likewise.
4644         * testsuite/20_util/function/2.cc: Likewise.
4645         * testsuite/20_util/function/3.cc: Likewise.
4646         * testsuite/20_util/function/4.cc: Likewise.
4647         * testsuite/20_util/function/43397.cc: Likewise.
4648         * testsuite/20_util/function/5.cc: Likewise.
4649         * testsuite/20_util/function/6.cc: Likewise.
4650         * testsuite/20_util/function/7.cc: Likewise.
4651         * testsuite/20_util/function/8.cc: Likewise.
4652         * testsuite/20_util/function/9.cc: Likewise.
4653         * testsuite/20_util/function/assign/move.cc: Likewise.
4654         * testsuite/20_util/function/cons/move.cc: Likewise.
4655         * testsuite/20_util/function_objects/dr660.cc: Likewise.
4656         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Likewise.
4657         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
4658         * testsuite/20_util/hash/chi2_q_document_words.cc: Likewise.
4659         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
4660         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
4661         * testsuite/20_util/hash/operators/size_t.cc: Likewise.
4662         * testsuite/20_util/hash/quality.cc: Likewise.
4663         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
4664         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
4665         * testsuite/20_util/is_function/24808.cc: Likewise.
4666         * testsuite/20_util/is_object/24808.cc: Likewise.
4667         * testsuite/20_util/move_if_noexcept/1.cc: Likewise.
4668         * testsuite/20_util/move_if_noexcept/constexpr.cc: Likewise.
4669         * testsuite/20_util/owner_less/cmp.cc: Likewise.
4670         * testsuite/20_util/pair/1.cc: Likewise.
4671         * testsuite/20_util/pair/2.cc: Likewise.
4672         * testsuite/20_util/pair/3.cc: Likewise.
4673         * testsuite/20_util/pair/4.cc: Likewise.
4674         * testsuite/20_util/pair/make_pair/constexpr.cc: Likewise.
4675         * testsuite/20_util/pair/moveable.cc: Likewise.
4676         * testsuite/20_util/pair/piecewise.cc: Likewise.
4677         * testsuite/20_util/pair/swap.cc: Likewise.
4678         * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
4679         * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.
4680         * testsuite/20_util/ratio/comparisons/comp3.cc: Likewise.
4681         * testsuite/20_util/ratio/cons/cons1.cc: Likewise.
4682         * testsuite/20_util/ratio/operations/45866.cc: Likewise.
4683         * testsuite/20_util/ratio/operations/47913.cc: Likewise.
4684         * testsuite/20_util/ratio/operations/ops1.cc: Likewise.
4685         * testsuite/20_util/ratio/operations/ops2.cc: Likewise.
4686         * testsuite/20_util/ratio/operations/ops3.cc: Likewise.
4687         * testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
4688         * testsuite/20_util/scoped_allocator/1.cc: Likewise.
4689         * testsuite/20_util/scoped_allocator/2.cc: Likewise.
4690         * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise.
4691         * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
4692         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
4693         * testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
4694         * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
4695         * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
4696         Likewise.
4697         * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
4698         * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise.
4699         * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise.
4700         * testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
4701         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
4702         * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
4703         * testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
4704         * testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
4705         * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise.
4706         * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
4707         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
4708         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Likewise.
4709         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Likewise.
4710         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc:
4711         Likewise.
4712         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
4713         Likewise.
4714         * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
4715         * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
4716         * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
4717         * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
4718         * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
4719         * testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
4720         * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
4721         * testsuite/20_util/shared_ptr/hash/1.cc: Likewise.
4722         * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
4723         * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise.
4724         * testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
4725         * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
4726         * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
4727         * testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
4728         * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
4729         * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
4730         * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
4731         * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
4732         * testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
4733         * testsuite/20_util/shared_ptr/observers/owner_before.cc: Likewise.
4734         * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
4735         * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
4736         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
4737         Likewise.
4738         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4739         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
4740         move_iterators/1.cc: Likewise.
4741         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
4742         move_iterators/1.cc: Likewise.
4743         * testsuite/20_util/temporary_buffer.cc: Likewise.
4744         * testsuite/20_util/time_point/1.cc: Likewise.
4745         * testsuite/20_util/time_point/2.cc: Likewise.
4746         * testsuite/20_util/time_point/3.cc: Likewise.
4747         * testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise.
4748         * testsuite/20_util/tuple/48476.cc: Likewise.
4749         * testsuite/20_util/tuple/comparison_operators/comparisons.cc:
4750         Likewise.
4751         * testsuite/20_util/tuple/cons/allocators.cc: Likewise.
4752         * testsuite/20_util/tuple/cons/assignment.cc: Likewise.
4753         * testsuite/20_util/tuple/cons/big_tuples.cc: Likewise.
4754         * testsuite/20_util/tuple/cons/constructor.cc: Likewise.
4755         * testsuite/20_util/tuple/creation_functions/23978.cc: Likewise.
4756         * testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.
4757         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise.
4758         * testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc:
4759         Likewise.
4760         * testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise.
4761         * testsuite/20_util/tuple/creation_functions/tie.cc: Likewise.
4762         * testsuite/20_util/tuple/creation_functions/tie2.cc: Likewise.
4763         * testsuite/20_util/tuple/cv_tuple_size.cc: Likewise.
4764         * testsuite/20_util/tuple/element_access/get.cc: Likewise.
4765         * testsuite/20_util/tuple/element_access/get_by_type.cc: Likewise.
4766         * testsuite/20_util/tuple/moveable.cc: Likewise.
4767         * testsuite/20_util/tuple/swap.cc: Likewise.
4768         * testsuite/20_util/tuple/tuple_size.cc: Likewise.
4769         * testsuite/20_util/typeindex/comparison_operators.cc: Likewise.
4770         * testsuite/20_util/typeindex/hash.cc: Likewise.
4771         * testsuite/20_util/typeindex/hash_code.cc: Likewise.
4772         * testsuite/20_util/typeindex/name.cc: Likewise.
4773         * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
4774         * testsuite/20_util/unique_ptr/assign/move.cc: Likewise.
4775         * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise.
4776         * testsuite/20_util/unique_ptr/assign/nullptr.cc: Likewise.
4777         * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise.
4778         * testsuite/20_util/unique_ptr/cons/nullptr.cc: Likewise.
4779         * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise.
4780         * testsuite/20_util/unique_ptr/cons/pointer_array.cc: Likewise.
4781         * testsuite/20_util/unique_ptr/cons/ptr_deleter.cc: Likewise.
4782         * testsuite/20_util/unique_ptr/creation/array.cc: Likewise.
4783         * testsuite/20_util/unique_ptr/creation/single.cc: Likewise.
4784         * testsuite/20_util/unique_ptr/hash/1.cc: Likewise.
4785         * testsuite/20_util/unique_ptr/modifiers/43183.cc: Likewise.
4786         * testsuite/20_util/unique_ptr/specialized_algorithms/
4787         comparisons.cc: Likewise.
4788         * testsuite/20_util/unique_ptr/specialized_algorithms/
4789         comparisons_array.cc: Likewise.
4790         * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc:
4791         Likewise.
4792         * testsuite/20_util/uses_allocator/construction.cc: Likewise.
4793         * testsuite/20_util/uses_allocator/value.cc: Likewise.
4794         * testsuite/20_util/variant/run.cc: Likewise.
4795         * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
4796         * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
4797         * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
4798         Likewise.
4799         * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
4800         * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
4801         Likewise.
4802         * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
4803         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
4804         Likewise.
4805         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
4806         Likewise.
4807         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
4808         Likewise.
4809         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
4810         Likewise.
4811         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
4812         Likewise.
4813         * testsuite/21_strings/basic_string/capacity/1.cc: Likewise.
4814         * testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise.
4815         * testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise.
4816         * testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise.
4817         * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
4818         Likewise.
4819         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise.
4820         * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
4821         Likewise.
4822         * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Likewise.
4823         * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
4824         Likewise.
4825         * testsuite/21_strings/basic_string/cons/char/1.cc: Likewise.
4826         * testsuite/21_strings/basic_string/cons/char/2.cc: Likewise.
4827         * testsuite/21_strings/basic_string/cons/char/3.cc: Likewise.
4828         * testsuite/21_strings/basic_string/cons/char/4.cc: Likewise.
4829         * testsuite/21_strings/basic_string/cons/char/42261.cc: Likewise.
4830         * testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
4831         * testsuite/21_strings/basic_string/cons/char/6.cc: Likewise.
4832         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
4833         * testsuite/21_strings/basic_string/cons/char/8.cc: Likewise.
4834         * testsuite/21_strings/basic_string/cons/char/moveable.cc: Likewise.
4835         * testsuite/21_strings/basic_string/cons/char/moveable2.cc: Likewise.
4836         * testsuite/21_strings/basic_string/cons/wchar_t/1.cc: Likewise.
4837         * testsuite/21_strings/basic_string/cons/wchar_t/2.cc: Likewise.
4838         * testsuite/21_strings/basic_string/cons/wchar_t/3.cc: Likewise.
4839         * testsuite/21_strings/basic_string/cons/wchar_t/4.cc: Likewise.
4840         * testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.
4841         * testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
4842         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Likewise.
4843         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
4844         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
4845         * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
4846         * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
4847         Likewise.
4848         * testsuite/21_strings/basic_string/element_access/char/1.cc: Likewise.
4849         * testsuite/21_strings/basic_string/element_access/char/2.cc: Likewise.
4850         * testsuite/21_strings/basic_string/element_access/char/3.cc: Likewise.
4851         * testsuite/21_strings/basic_string/element_access/char/4.cc: Likewise.
4852         * testsuite/21_strings/basic_string/element_access/char/58163.cc:
4853         Likewise.
4854         * testsuite/21_strings/basic_string/element_access/char/empty.cc:
4855         Likewise.
4856         * testsuite/21_strings/basic_string/element_access/char/front_back.cc:
4857         Likewise.
4858         * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc:
4859         Likewise.
4860         * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc:
4861         Likewise.
4862         * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc:
4863         Likewise.
4864         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
4865         Likewise.
4866         * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
4867         Likewise.
4868         * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
4869         Likewise.
4870         * testsuite/21_strings/basic_string/element_access/wchar_t/
4871         front_back.cc: Likewise.
4872         * testsuite/21_strings/basic_string/init-list.cc: Likewise.
4873         * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
4874         Likewise.
4875         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
4876         Likewise.
4877         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
4878         Likewise.
4879         * testsuite/21_strings/basic_string/inserters_extractors/char/
4880         28277.cc: Likewise.
4881         * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
4882         Likewise.
4883         * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
4884         Likewise.
4885         * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
4886         Likewise.
4887         * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
4888         Likewise.
4889         * testsuite/21_strings/basic_string/inserters_extractors/char/8.cc:
4890         Likewise.
4891         * testsuite/21_strings/basic_string/inserters_extractors/char/9.cc:
4892         Likewise.
4893         * testsuite/21_strings/basic_string/inserters_extractors/pod/
4894         10081-in.cc: Likewise.
4895         * testsuite/21_strings/basic_string/inserters_extractors/pod/
4896         10081-out.cc: Likewise.
4897         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
4898         Likewise.
4899         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4900         10.cc: Likewise.
4901         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4902         11.cc: Likewise.
4903         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4904         28277.cc: Likewise.
4905         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
4906         Likewise.
4907         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
4908         Likewise.
4909         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
4910         Likewise.
4911         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
4912         Likewise.
4913         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc:
4914         Likewise.
4915         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc:
4916         Likewise.
4917         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc:
4918         Likewise.
4919         * testsuite/21_strings/basic_string/modifiers/append/char/2.cc:
4920         Likewise.
4921         * testsuite/21_strings/basic_string/modifiers/append/char/3.cc:
4922         Likewise.
4923         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
4924         Likewise.
4925         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
4926         Likewise.
4927         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc:
4928         Likewise.
4929         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc:
4930         Likewise.
4931         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
4932         Likewise.
4933         * testsuite/21_strings/basic_string/modifiers/assign/char/1.cc:
4934         Likewise.
4935         * testsuite/21_strings/basic_string/modifiers/assign/char/2.cc:
4936         Likewise.
4937         * testsuite/21_strings/basic_string/modifiers/assign/char/3.cc:
4938         Likewise.
4939         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
4940         Likewise.
4941         * testsuite/21_strings/basic_string/modifiers/assign/char/
4942         move_assign.cc: Likewise.
4943         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc:
4944         Likewise.
4945         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc:
4946         Likewise.
4947         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc:
4948         Likewise.
4949         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
4950         Likewise.
4951         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
4952         move_assign.cc: Likewise.
4953         * testsuite/21_strings/basic_string/modifiers/insert/char/1.cc:
4954         Likewise.
4955         * testsuite/21_strings/basic_string/modifiers/insert/char/2.cc:
4956         Likewise.
4957         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
4958         Likewise.
4959         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc:
4960         Likewise.
4961         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc:
4962         Likewise.
4963         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
4964         Likewise.
4965         * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc:
4966         Likewise.
4967         * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc:
4968         Likewise.
4969         * testsuite/21_strings/basic_string/modifiers/replace/char/1.cc:
4970         Likewise.
4971         * testsuite/21_strings/basic_string/modifiers/replace/char/2.cc:
4972         Likewise.
4973         * testsuite/21_strings/basic_string/modifiers/replace/char/3.cc:
4974         Likewise.
4975         * testsuite/21_strings/basic_string/modifiers/replace/char/4.cc:
4976         Likewise.
4977         * testsuite/21_strings/basic_string/modifiers/replace/char/5.cc:
4978         Likewise.
4979         * testsuite/21_strings/basic_string/modifiers/replace/char/6.cc:
4980         Likewise.
4981         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
4982         Likewise.
4983         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc:
4984         Likewise.
4985         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc:
4986         Likewise.
4987         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc:
4988         Likewise.
4989         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc:
4990         Likewise.
4991         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc:
4992         Likewise.
4993         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc:
4994         Likewise.
4995         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
4996         Likewise.
4997         * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
4998         Likewise.
4999         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
5000         Likewise.
5001         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
5002         Likewise.
5003         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
5004         Likewise.
5005         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
5006         Likewise.
5007         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
5008         Likewise.
5009         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
5010         Likewise.
5011         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
5012         Likewise.
5013         * testsuite/21_strings/basic_string/numeric_conversions/char/
5014         stoull.cc: Likewise.
5015         * testsuite/21_strings/basic_string/numeric_conversions/char/
5016         to_string.cc: Likewise.
5017         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5018         dr1261.cc: Likewise.
5019         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5020         stod.cc: Likewise.
5021         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5022         stof.cc: Likewise.
5023         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5024         stoi.cc: Likewise.
5025         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5026         stol.cc: Likewise.
5027         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5028         stold.cc: Likewise.
5029         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5030         stoll.cc: Likewise.
5031         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5032         stoul.cc: Likewise.
5033         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5034         stoull.cc: Likewise.
5035         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5036         to_wstring.cc: Likewise.
5037         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
5038         Likewise.
5039         * testsuite/21_strings/basic_string/operations/compare/char/13650.cc:
5040         Likewise.
5041         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
5042         Likewise.
5043         * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
5044         Likewise.
5045         * testsuite/21_strings/basic_string/operations/compare/wchar_t/
5046         13650.cc: Likewise.
5047         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
5048         Likewise.
5049         * testsuite/21_strings/basic_string/operations/data/char/1.cc:
5050         Likewise.
5051         * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc:
5052         Likewise.
5053         * testsuite/21_strings/basic_string/operations/find/char/1.cc:
5054         Likewise.
5055         * testsuite/21_strings/basic_string/operations/find/char/2.cc:
5056         Likewise.
5057         * testsuite/21_strings/basic_string/operations/find/char/3.cc:
5058         Likewise.
5059         * testsuite/21_strings/basic_string/operations/find/char/4.cc:
5060         Likewise.
5061         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
5062         Likewise.
5063         * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc:
5064         Likewise.
5065         * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc:
5066         Likewise.
5067         * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc:
5068         Likewise.
5069         * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc:
5070         Likewise.
5071         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
5072         Likewise.
5073         * testsuite/21_strings/basic_string/operations/rfind/char/1.cc:
5074         Likewise.
5075         * testsuite/21_strings/basic_string/operations/rfind/char/2.cc:
5076         Likewise.
5077         * testsuite/21_strings/basic_string/operations/rfind/char/3.cc:
5078         Likewise.
5079         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc:
5080         Likewise.
5081         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc:
5082         Likewise.
5083         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc:
5084         Likewise.
5085         * testsuite/21_strings/basic_string/operations/substr/char/1.cc:
5086         Likewise.
5087         * testsuite/21_strings/basic_string/operations/substr/wchar_t/
5088         1.cc: Likewise.
5089         * testsuite/21_strings/basic_string/operators/char/1.cc: Likewise.
5090         * testsuite/21_strings/basic_string/operators/char/2.cc: Likewise.
5091         * testsuite/21_strings/basic_string/operators/char/3.cc: Likewise.
5092         * testsuite/21_strings/basic_string/operators/char/4.cc: Likewise.
5093         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
5094         * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Likewise.
5095         * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Likewise.
5096         * testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise.
5097         * testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise.
5098         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
5099         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
5100         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
5101         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
5102         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
5103         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
5104         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
5105         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
5106         * testsuite/21_strings/basic_string_view/element_access/char/
5107         1.cc: Likewise.
5108         * testsuite/21_strings/basic_string_view/element_access/char/
5109         empty.cc: Likewise.
5110         * testsuite/21_strings/basic_string_view/element_access/char/
5111         front_back.cc: Likewise.
5112         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5113         1.cc: Likewise.
5114         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5115         empty.cc: Likewise.
5116         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5117         front_back.cc: Likewise.
5118         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
5119         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
5120         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
5121         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
5122         Likewise.
5123         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
5124         Likewise.
5125         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
5126         Likewise.
5127         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
5128         Likewise.
5129         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
5130         char/1.cc: Likewise.
5131         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
5132         wchar_t/1.cc: Likewise.
5133         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
5134         char/1.cc: Likewise.
5135         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
5136         wchar_t/1.cc: Likewise.
5137         * testsuite/21_strings/basic_string_view/operations/compare/char/
5138         1.cc: Likewise.
5139         * testsuite/21_strings/basic_string_view/operations/compare/char/
5140         13650.cc: Likewise.
5141         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
5142         1.cc: Likewise.
5143         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
5144         13650.cc: Likewise.
5145         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
5146         Likewise.
5147         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
5148         Likewise.
5149         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
5150         Likewise.
5151         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
5152         Likewise.
5153         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
5154         Likewise.
5155         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
5156         Likewise.
5157         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
5158         Likewise.
5159         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
5160         Likewise.
5161         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5162         1.cc: Likewise.
5163         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5164         2.cc: Likewise.
5165         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5166         3.cc: Likewise.
5167         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5168         4.cc: Likewise.
5169         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5170         1.cc: Likewise.
5171         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5172         2.cc: Likewise.
5173         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5174         3.cc: Likewise.
5175         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5176         1.cc: Likewise.
5177         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5178         2.cc: Likewise.
5179         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5180         3.cc: Likewise.
5181         * testsuite/21_strings/basic_string_view/operations/string_conversion/
5182         1.cc: Likewise.
5183         * testsuite/21_strings/basic_string_view/operations/substr/char/
5184         1.cc: Likewise.
5185         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
5186         1.cc: Likewise.
5187         * testsuite/21_strings/basic_string_view/operators/char/2.cc:
5188         Likewise.
5189         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
5190         Likewise.
5191         * testsuite/21_strings/c_strings/char/1.cc: Likewise.
5192         * testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise.
5193         * testsuite/21_strings/char_traits/requirements/char/1.cc: Likewise.
5194         * testsuite/21_strings/char_traits/requirements/char/57704.cc:
5195         Likewise.
5196         * testsuite/21_strings/char_traits/requirements/short/1.cc: Likewise.
5197         * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Likewise.
5199         * doc/xml/manual/test.xml: Fix typo.
5201 2016-10-12  Jonathan Wakely  <jwakely@redhat.com>
5203         * doc/xml/manual/status_cxx2017.xml: Add std::sample status.
5204         * doc/html/*: Regenerate.
5205         * include/experimental/algorithm (__sample): Move to bits/stl_algo.h
5206         and into namespace std.
5207         * include/bits/stl_algo.h (__sample): Define here. Fix invalid use
5208         of input iterator. Defend against overloaded comma operator.
5209         (sample): Define for C++17.
5210         * testsuite/25_algorithms/sample/1.cc: New test.
5212         * testsuite/util/testsuite_common_types.h
5213         (bitwise_assignment_operators): Use direct-initialization for C++11
5214         and later, to avoid CopyConstructible requirement.
5215         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
5216         line numbers.
5217         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
5218         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
5219         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
5220         * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
5221         Adjust expected errors and line numbers.
5223         * include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove.
5224         (call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call.
5226         * include/bits/stl_uninitialized.h
5227         (__uninitialized_default_novalue_n_1<true>): Add missing return.
5228         * testsuite/20_util/specialized_algorithms/memory_management_tools/
5229         1.cc: Check return values of uninitialized_xxx_n algorithms.
5231         * libsupc++/nested_exception.h (throw_with_nested): Remove return.
5233         * doc/xml/manual/intro.xml: Document LWG 2442 status.
5234         * include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
5235         [_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define
5236         partial specialization to unpack args and forward to std::invoke.
5237         (call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call
5238         instead of __bind_simple and __once_call_impl.
5239         (call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of
5240         __bind_simple.
5241         * testsuite/30_threads/call_once/dr2442.cc: New test.
5243 2016-10-11  Jonathan Wakely  <jwakely@redhat.com>
5245         * include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
5246         _M_assign_dispatch directly with correct tag.
5248         * doc/xml/manual/intro.xml: Document LWG 2484 status.
5249         * libsupc++/nested_exception.h (_Throw_with_nested_impl)
5250         (_Throw_with_nested_helper): Remove.
5251         (__throw_with_nested_impl): New overloaded functions to implement
5252         throw_with_nested logic.
5253         (throw_with_nested): Call __throw_with_nested_impl.
5254         (_Rethrow_if_nested_impl): Remove
5255         (__rethrow_if_nested_impl): New overloaded functions to implement
5256         rethrow_if_nested logic.
5257         (rethrow_if_nested): Call __rethrow_if_nested_impl.
5258         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
5259         problem cases from LWG 2484.
5261         * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
5262         Register printer for std::__cxx11::list.
5263         * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
5264         std::__cxx11::list as well as std::list.
5266         * include/experimental/string_view (basic_string_view::_S_compare):
5267         Remove redundant const from return type.
5268         * include/std/string_view (basic_string_view:_S_compare): Likewise.
5270         * include/bits/std_mutex.h (mutex::native_handle)
5271         (lock_guard(mutex_type&, adopt_lock_t)
5272         (unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
5273         * include/std/mutex (recursive_mutex, timed_mutex)
5274         (recursive_timed_mutex): Likewise.
5276 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
5278         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5279         Replace <literallayout> with nested <variablelist> elements. Update
5280         some more outdated text.
5281         * doc/html/*: Regenerate.
5283 2016-10-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
5285         Make any's copy assignment operator exception-safe,
5286         don't copy the underlying value when any is moved,
5287         make in_place constructors explicit.
5288         * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)):
5289         Make explicit.
5290         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
5291         Likewise.
5292         (operator=(const any&)): Make strongly exception-safe.
5293         (operator=(any&&)): reset() unconditionally in the case where
5294         rhs has a value.
5295         (operator=(_ValueType&&)): Indent the return type.
5296         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
5297         * testsuite/20_util/any/assign/2.cc: Adjust.
5298         * testsuite/20_util/any/assign/exception.cc: New.
5299         * testsuite/20_util/any/cons/2.cc: Adjust.
5300         * testsuite/20_util/any/cons/explicit.cc: New.
5301         * testsuite/20_util/any/misc/any_cast_neg.cc: Ajust.
5303 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
5305         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5306         Describe other subdirectories and add markup. Remove outdated
5307         reference to check-script target.
5308         * doc/html/*: Regenerate.
5310         * doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
5312         * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
5313         with noexcept.
5315         * include/std/functional (_Bind_result::__enable_if_void): Use alias
5316         template instead of class template.
5317         (_Bind_result::__disable_if_void): Likewise.
5318         (_Bind_result::__call): Adjust uses of __enable_if_void and
5319         __disable_if_void.
5321         * doc/xml/manual/intro.xml: Document DR 2296 status.
5322         * doc/xml/manual/status_cxx2017.xml: Update status.
5323         * include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and
5324         call __builtin_addressof.
5325         (addressof): Add _GLIBCXX17_CONSTEXPR.
5326         * testsuite/20_util/addressof/requirements/constexpr.cc: New test.
5327         * testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno.
5328         * testsuite/20_util/forward/f_neg.cc: Likewise.
5330         * include/bits/allocator.h (allocator<T>::is_always_equal): Define.
5331         * testsuite/20_util/allocator/requirements/typedefs.cc: Test for
5332         is_always_equal.
5333         * testsuite/util/testsuite_allocator.h
5334         (uneq_allocator::is_always_equal): Define as false_type.
5336         * include/experimental/numeric (gcd, lcm): Make bool arguments
5337         ill-formed.
5338         * include/std/numeric (gcd, lcm): Likewise.
5339         * testsuite/26_numerics/gcd/gcd_neg.cc: New test.
5340         * testsuite/26_numerics/lcm/lcm_neg.cc: New test.
5342         * include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this):
5343         Add noexcept.
5344         * include/bits/shared_ptr_base.h
5345         (__enable_shared_from_this::weak_from_this): Likewise.
5346         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
5347         Test exception-specification of weak_from_this.
5349 2016-10-07  Jonathan Wakely  <jwakely@redhat.com>
5351         * doc/xml/manual/status_cxx1998.xml: Improve documentation of
5352         implementation-defined properties.
5353         * doc/xml/manual/status_cxx2011.xml: Likewise.
5354         * doc/xml/manual/status_cxx2017.xml: Likewise.
5356         * doc/xml/manual/status_cxx2017.xml: Update status.
5357         * include/std/type_traits (has_unique_object_representations): Define.
5358         * testsuite/20_util/has_unique_object_representations/value.cc: New.
5359         * testsuite/20_util/has_unique_object_representations/requirements/
5360         explicit_instantiation.cc: New.
5361         * testsuite/20_util/has_unique_object_representations/requirements/
5362         typedefs.cc: New.
5364 2016-10-06  Jonathan Wakely  <jwakely@redhat.com>
5366         * doc/xml/manual/status_cxx2011.xml: Update status.
5367         * include/std/scoped_allocator (__outer_allocator_t, __outermost_type):
5368         New helpers for recursive OUTERMOST.
5369         (__outermost): Use __outermost_type::_S_outermost.
5370         (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove.
5371         (scoped_allocator_adaptor::__outermost_alloc_traits): Use new
5372         __outermost_type helper.
5373         (scoped_allocator_adaptor::_Constructible): New alias template.
5374         (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>):
5375         Constrain template constructors.
5376         * testsuite/20_util/scoped_allocator/3.cc: New test.
5377         * testsuite/20_util/scoped_allocator/outermost.cc: New test.
5379 2016-10-05  Jonathan Wakely  <jwakely@redhat.com>
5381         PR libstdc++/70564
5382         * testsuite/20_util/not_fn/1.cc: Fix test.
5383         * testsuite/experimental/functional/not_fn.cc: Likewise.
5385         PR libstdc++/70101
5386         * include/bits/stl_queue.h (priority_queue): Fix allocator-extended
5387         constructors.
5388         * testsuite/23_containers/priority_queue/allocator.cc: New test.
5390         PR libstdc++/77864
5391         * include/bits/stl_map.h (map::map()): Use nothrow constructibility
5392         of comparison function in conditional noexcept.
5393         * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
5394         * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
5395         * include/bits/stl_set.h (set::set()): Likewise.
5396         * testsuite/23_containers/map/cons/noexcept_default_construct.cc:
5397         New test.
5398         * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
5399         Likewise.
5400         * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
5401         Likewise.
5402         * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
5403         Likewise.
5405         * include/bits/node_handle.h (_Node_handle): Remove invalid and unused
5406         alias declaration.
5408         PR libstdc++/70564
5409         * include/experimental/functional (_Not_fn): Remove.
5410         (not_fn): Use std::_Not_fn.
5411         * include/std/functional (_Not_fn): Add second parameter to
5412         disambiguate copying from initialization by not_fn. Define for C++14.
5413         (not_fn): Add second argument to initialization.
5414         * testsuite/20_util/not_fn/1.cc: Copy call wrapper using
5415         direct-initialization.
5417 2016-10-03  François Dumont  <fdumont@gcc.gnu.org>
5419         * src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move
5420         declaration...
5421         * src/c++11/mutex_pool.h: ... here. New.
5422         * src/c++11/debug.cc: Use latter.
5424 2016-10-03  Jonathan Wakely  <jwakely@redhat.com>
5426         * doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status.
5427         * doc/html/*: Regenerate.
5428         * include/experimental/numeric (__abs): Move to <numeric>.
5429         (gcd, lcm): Use __detail::gcd and __detail::lcm.
5430         * include/std/numeric (__detail::__abs_integral)
5431         (__detail::__gcd, __detail::__lcm): Define.
5432         (gcd, lcm): Define for C++17.
5433         * testsuite/26_numerics/gcd/1.cc: New test.
5434         * testsuite/26_numerics/lcm/1.cc: New test.
5435         * testsuite/experimental/numeric/gcd.cc: Swap contents with ...
5436         * testsuite/experimental/numeric/lcd.cc: ... this.
5438         PR libstdc++/68323
5439         PR libstdc++/77794
5440         * config/abi/pre/gnu-versioned-namespace.ver: Add exports for
5441         __cxa_thread_atexit and __gnu_cxx::__freeres.
5442         * include/Makefile.am: Add <experimental/bits/lfts_config.h>
5443         * include/Makefile.in: Regenerate.
5444         * include.bits/basic_string.h: Fix nesting of versioned namespaces.
5445         * include/bits/c++config: Declare versioned namespaces for literals.
5446         * include/bits/regex.h (basic_regex, match_results): Add workarounds
5447         for PR c++/59256.
5448         * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
5449         * include/std/chrono: Likewise.
5450         * include/std/complex: Likewise.
5451         * include/std/string_view: Likewise.
5452         * include/std/variant: Likewise. Add workaround for PR c++/59256.
5453         * include/experimental/bits/fs_fwd.h: Declare versioned namespace.
5454         * include/experimental/bits/lfts_config.h: Declare versioned
5455         namespaces.
5456         * include/experimental/algorithm: Include
5457         <experimental/bits/lfts_config.h>.
5458         * include/experimental/any: Likewise.
5459         * include/experimental/bits/erase_if.h: Likewise.
5460         * include/experimental/chrono: Likewise.
5461         * include/experimental/functional: Likewise.
5462         * include/experimental/memory_resource: Likewise.
5463         * include/experimental/optional: Likewise.
5464         * include/experimental/propagate_const: Likewise.
5465         * include/experimental/random: Likewise.
5466         * include/experimental/ratio: Likewise.
5467         * include/experimental/system_error: Likewise.
5468         * include/experimental/tuple: Likewise.
5469         * include/experimental/type_traits: Likewise.
5470         * include/experimental/utility: Likewise.
5471         * include/experimental/string_view: Likewise. Fix nesting of
5472         versioned namespaces.
5473         * include/experimental/bits/string_view.tcc: Reopen inline namespace
5474         for non-inline function definitions.
5475         * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
5476         * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
5477         * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
5478         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
5479         Likewise.
5480         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
5481         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
5482         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
5483         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
5484         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
5485         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
5487         PR libstdc++/77814
5488         * include/bits/std_abs.h: Use "C++" language linkage.
5489         * testsuite/17_intro/headers/c++2011/linkage.cc: Move <complex.h> to
5490         the end. Add <stdalign.h>.
5492 2016-10-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
5494         PR libstdc++/77802
5495         * testsuite/20_util/tuple/77802.cc: New.
5497         Revert:
5498         2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5499         Implement LWG 2729 for tuple.
5500         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
5501         Suppress conditionally.
5502         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
5503         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
5504         (_Tuple_impl(const _Head&)): Constrain.
5505         (_Tuple_impl(_UHead&&)): Likewise.
5506         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
5507         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
5508         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
5509         (operator=(const tuple&)): Enable conditionally.
5510         (operator=(tuple&&)): Suppress conditionally.
5511         (operator=(const tuple<_UElements...>&)): Constrain.
5512         (operator=(tuple<_UElements...>&&)): Likewise.
5513         (operator=(const tuple&)): Enable conditionally (2-param tuple).
5514         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
5515         (operator=(const tuple<_U1, _U2>&)): Constrain.
5516         (operator=(tuple<_U1, _U2>&&)): Likewise.
5517         (operator=(const pair<_U1, _U2>&)): Likewise.
5518         (operator=(pair<_U1, _U2>&&)): Likewise.
5519         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
5520         * testsuite/20_util/tuple/tuple_traits.cc: New.
5522 2016-09-30  Jonathan Wakely  <jwakely@redhat.com>
5524         PR libstdc++/77795
5525         * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check
5526         for gets.
5527         * config.h.in: Regenerate.
5528         * configure: Regenerate.
5529         * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare
5530         for C++98 and C++11.
5531         * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise.
5532         * testsuite/27_io/headers/cstdio/functions_neg.cc: New test.
5534         * doc/xml/manual/intro.xml: Document LWG 2192 changes.
5535         * doc/html/*: Regenerate.
5536         * include/Makefile.am: Add bits/std_abs.h.
5537         * include/Makefile.in: Regenerate.
5538         * include/bits/std_abs.h: New header defining all required overloads
5539         of std::abs in one place (LWG 2294).
5540         * include/c_global/cmath (abs(double), abs(float), abs(long double)):
5541         Move to bits/std_abs.h.
5542         (abs<_Tp>(_Tp)): Remove.
5543         * include/c_global/cstdlib (abs(long), abs(long long), abs(__int<N>)):
5544         Move to bits/std_abs.h.
5545         * testsuite/26_numerics/headers/cmath/dr2192.cc: New test.
5546         * testsuite/26_numerics/headers/cmath/dr2192_neg.cc: New test.
5547         * testsuite/26_numerics/headers/cstdlib/dr2192.cc: New test.
5548         * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: New test.
5550         PR libstdc++/77801
5551         * include/experimental/numeric: Include <numeric>.
5552         (__abs): Define.
5553         (gcd, lcm): Use __abs instead of std::abs.
5554         * testsuite/experimental/numeric/77801.cc: New test.
5555         * testsuite/experimental/numeric/gcd.cc: Test unsigned inputs.
5556         * testsuite/experimental/numeric/lcm.cc: Likewise.
5558 2016-09-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
5560         Make optional::reset noexcept, make optional::value
5561         work in constant expressions.
5562         * include/std/optional (_M_get): Make constexpr.
5563         (reset): Make noexcept.
5564         * testsuite/20_util/optional/assignment/7.cc: New.
5565         * testsuite/20_util/optional/observers/6.cc: New.
5567 2016-09-29  Jonathan Wakely  <jwakely@redhat.com>
5569         * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads
5570         outside _GLIBCXX_USE_C99_MATH_TR1 condition.
5572 2016-09-29  Alan Modra  <amodra@gmail.com>
5574         * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST.
5575         * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo):
5576         Use LONG_DOUBLE_COMPAT_FLAGS.
5577         * Makefile.in: Regenerate.
5578         * configure: Regenerate.
5579         * doc/Makefile.in: Regenerate.
5580         * include/Makefile.in: Regenerate.
5581         * libsupc++/Makefile.in: Regenerate.
5582         * po/Makefile.in: Regenerate.
5583         * python/Makefile.in: Regenerate.
5584         * src/Makefile.in: Regenerate.
5585         * src/c++11/Makefile.in: Regenerate.
5586         * src/c++98/Makefile.in: Regenerate.
5587         * src/filesystem/Makefile.in: Regenerate.
5588         * testsuite/Makefile.in: Regenerate.
5590 2016-09-28  Jonathan Wakely  <jwakely@redhat.com>
5592         * include/std/chrono (system_clock): Fix typo in comment.
5594         * include/experimental/bits/fs_fwd.h (file_time_type): Simplify
5595         definition.
5596         * src/filesystem/ops.cc (file_time): Take error_code parameter and
5597         check for overflow.
5598         (do_copy_file, last_write_time): Pass error_code in file_time calls.
5599         * testsuite/experimental/filesystem/operations/last_write_time.cc:
5600         New.
5601         * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper.
5603         PR libstdc++/77686
5604         * include/std/functional (_Any_data): Add may_alias attribute.
5606 2016-09-27  Jonathan Wakely  <jwakely@redhat.com>
5608         * doc/xml/manual/status_cxx2017.xml: Update status.
5609         * doc/html/*: Regenerate.
5610         * include/std/functional (__cpp_lib_boyer_moore_searcher): Define.
5611         * testsuite/20_util/function_objects/searchers.cc: Test feature macro.
5613         * doc/xml/manual/status_cxx2017.xml: Update status.
5614         * include/c_global/cmath (hypot): Add three-dimensional overloads.
5615         * testsuite/26_numerics/headers/cmath/hypot.cc: New.
5617 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
5619         PR libstdc++/77727
5620         * include/std/optional (optional(const optional<_Up>&)):
5621         Default-initialize the base and use emplace.
5622         (optional(optional<_Up>&&)): Likewise.
5623         * testsuite/20_util/optional/cons/77727.cc: New.
5625 2016-09-26  François Dumont  <fdumont@gcc.gnu.org>
5627         * include/debug/safe_base.h
5628         (_Safe_iterator_base::_M_detach_single): Make public.
5630 2016-09-26  Jonathan Wakely  <jwakely@redhat.com>
5632         * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
5633         redefine macro defined in <bits/stl_iterator.h>.
5635         * include/bits/stl_map.h (map::extract(const_iterator)): Assert that
5636         iterator is not past-the-end.
5637         * include/bits/stl_multimap.h (multimap::extract(const_iterator)):
5638         Likewise.
5639         * include/bits/stl_multiset.h (multiset::extract(const_iterator)):
5640         Likewise.
5641         * include/bits/stl_set.h (set::extract(const_iterator)): Likewise.
5642         * include/bits/unordered_map.h (unordered_map::extract(const_iterator))
5643         (unordered_multimap::extract(const_iterator)): Likewise.
5644         * include/bits/unordered_set.h (unordered_set::extract(const_iterator))
5645         (unordered_multiset::extract(const_iterator)): Likewise.
5647 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
5649         PR libstdc++/77717
5650         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
5651         Fix an out-of-bounds access.
5653 2016-09-26  Marek Polacek  <polacek@redhat.com>
5655         PR c/7652
5656         * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]].
5658 2016-09-25  François Dumont  <fdumont@gcc.gnu.org>
5660         * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
5661         functional.
5662         (get_safe_base_mutex): Get mutex based on address lowest non nil bits.
5663         * testsuite/23_containers/vector/debug/mutex_association.cc: New.
5665         * include/debug/bitset (bitset::reference::reference(const _Base_ref&,
5666         bitset*)): Remove __unused__ attribute.
5667         * include/debug/safe_base.h (_Safe_iterator_base): Make
5668         _Safe_sequence_base a friend.
5669         (_Safe_iterator_base::_M_attach): Make protected.
5670         (_Safe_iterator_base::_M_attach_single): Likewise.
5671         (_Safe_iterator_base::_M_detach): Likewise.
5672         (_Safe_iterator_base::_M_detach_single): Likewise.
5673         (_Safe_sequence_base): Make _Safe_iterator_base a friend.
5674         (_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New.
5675         (_Safe_sequence_base::_M_swap): Make protected.
5676         (_Safe_sequence_base::_M_attach): Make private.
5677         (_Safe_sequence_base::_M_attach_single): Likewise.
5678         (_Safe_sequence_base::_M_detach): Likewise.
5679         (_Safe_sequence_base::_M_detach_single): Likewise.
5680         * include/debug/safe_container.h
5681         (_Safe_container::_Safe_container(_Safe_container&&)): Make default.
5682         * include/debug/safe_iterator.h
5683         (_Safe_iterator::operator++()): Name __scoped_lock instance.
5684         * include/debug/safe_iterator.tcc: Remove trailing line.
5685         * include/debug/safe_unordered_base.h
5686         (_Safe_local_iterator_base::_M_attach): Make protected.
5687         (_Safe_local_iterator_base::_M_attach_single): Likewise.
5688         (_Safe_local_iterator_base::_M_detach): Likewise.
5689         (_Safe_local_iterator_base::_M_detach_single): Likewise.
5690         (_Safe_unordered_container_base): Make _Safe_local_iterator_base friend.
5691         (_Safe_unordered_container_base::_M_attach_local): Make private.
5692         (_Safe_unordered_container_base::_M_attach_local_single): Likewise.
5693         (_Safe_unordered_container_base::_M_detach_local): Likewise.
5694         (_Safe_unordered_container_base::_M_detach_local_single): Likewise.
5696         * include/parallel/algo.h: Generalize usage of std::__iterator_category.
5697         Adjust whitespaces.
5699 2016-09-23  Jonathan Wakely  <jwakely@redhat.com>
5701         PR libstdc++/56166
5702         PR libstdc++/77582
5703         * include/bits/basic_string.h (basic_string::clear()): Drop reference
5704         and use empty rep.
5705         * include/ext/rc_string_base.h (__rc_string_base::_M_clear()):
5706         Likewise.
5707         * testsuite/21_strings/basic_string/56166.cc: New.
5708         * testsuite/ext/vstring/modifiers/clear/56166.cc: New.
5710         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
5711         (basic_string::erase(size_type, size_type)): Add fast path for
5712         truncating the string, by calling _M_set_length directly.
5713         (basic_string::erase(__const_iterator, __const_iterator)): Likewise.
5714         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
5715         (basic_string::resize(size_type, _CharT)): Likewise.
5717 2016-09-22  Jason Merrill  <jason@redhat.com>
5719         * configure.ac: Define HAVE_MEMALIGN for newlib.
5721 2015-09-23  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5723         * config/cpu/m68k/atomicity.h: Adjust comment.
5724         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
5725         explicit atomicity_dir setup via configure.host.
5726         * configure.host (rtems-*): Set atomicity_dir.
5727         * configure: Regenerate.
5729 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
5731         Implement C++17 node extraction and insertion (P0083R5)
5732         * doc/xml/manual/status_cxx2017.xml: Document status.
5733         * doc/html/*: Regenerate.
5734         * include/Makefile.am: Add bits/node_handle.h and reorder.
5735         * include/Makefile.in: Regenerate.
5736         * include/bits/hashtable.h (_Hashtable::node_type)
5737         (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node)
5738         (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract)
5739         (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define.
5740         (_Hash_merge_helper): Define primary template.
5741         * include/bits/node_handle.h: New header.
5742         * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as
5743         friend.
5744         (map::node_type, map::insert_return_type, map::extract, map::merge)
5745         (map::insert(node_type&&), map::insert(const_iterator, node_type&&)):
5746         Define new members.
5747         (_Rb_tree_merge_helper): Specialize for map.
5748         * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper
5749         as friend.
5750         (multimap::node_type, multimap::extract, multimap::merge)
5751         (multimap::insert(node_type&&))
5752         (multimap::insert(const_iterator, node_type&&)): Define.
5753         (_Rb_tree_merge_helper): Specialize for multimap.
5754         * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper
5755         as friend.
5756         (multiset::node_type, multiset::extract, multiset::merge)
5757         (multiset::insert(node_type&&))
5758         (multiset::insert(const_iterator, node_type&&)): Define.
5759         * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as
5760         friend.
5761         (set::node_type, set::insert_return_type, set::extract, set::merge)
5762         (set::insert(node_type&&), set::insert(const_iterator, node_type&&)):
5763         Define.
5764         (_Rb_tree_merge_helper): Specialize for set.
5765         * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend.
5766         (_Rb_tree::node_type, _Rb_tree::insert_return_type)
5767         (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal)
5768         (_Rb_tree::_M_reinsert_node_hint_unique)
5769         (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract)
5770         (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define.
5771         (_Rb_tree_merge_helper): Specialize for multiset.
5772         * include/bits/unordered_map.h (unordered_map): Declare
5773         unordered_map<> and unordered_multimap<> as friends.
5774         (unordered_map::node_type, unordered_map::insert_return_type)
5775         (unordered_map::extract, unordered_map::merge)
5776         (unordered_map::insert(node_type&&))
5777         (unordered_map::insert(const_iterator, node_type&&))
5778         (unordered_multimap): Declare _Hash_merge_helper as friend.
5779         (unordered_multimap::node_type, unordered_multimap::extract)
5780         (unordered_multimap::merge, unordered_multimap::insert(node_type&&))
5781         (unordered_multimap::insert(const_iterator, node_type&&)): Define.
5782         (_Hash_merge_helper): Specialize for unordered maps and multimaps.
5783         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
5784         Declare _Hash_merge_helper as friend.
5785         (unordered_set::node_type, unordered_set::insert_return_type)
5786         (unordered_set::extract, unordered_set::merge)
5787         (unordered_set::insert(node_type&&))
5788         (unordered_set::insert(const_iterator, node_type&&)): Define.
5789         (unordered_multiset::node_type, unordered_multiset::extract)
5790         (unordered_multiset::merge, unordered_multiset::insert(node_type&&))
5791         (unordered_multiset::insert(const_iterator, node_type&&)): Define.
5792         (_Hash_merge_helper): Specialize for unordered sets and multisets.
5793         * include/debug/map.h (map): Add using declarations or forwarding
5794         functions for new members.
5795         * include/debug/map.h (multimap): Likewise.
5796         * include/debug/map.h (multiset): Likewise.
5797         * include/debug/map.h (set): Likewise.
5798         * include/debug/unordered_map (unordered_map, unordered_multimap):
5799         Likewise.
5800         * include/debug/unordered_set( unordered_set, unordered_multiset):
5801         Likewise.
5802         * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New
5803         helper function.
5804         (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper.
5805         (StdNodeHandlePrinter): Define printer for node handles.
5806         (build_libstdcxx_dictionary): Register StdNodeHandlePrinter.
5807         * testsuite/23_containers/map/modifiers/extract.cc: New.
5808         * testsuite/23_containers/map/modifiers/merge.cc: New.
5809         * testsuite/23_containers/multimap/modifiers/extract.cc: New.
5810         * testsuite/23_containers/multimap/modifiers/merge.cc: New.
5811         * testsuite/23_containers/multiset/modifiers/extract.cc: New.
5812         * testsuite/23_containers/multiset/modifiers/merge.cc: New.
5813         * testsuite/23_containers/set/modifiers/extract.cc: New.
5814         * testsuite/23_containers/set/modifiers/merge.cc: New.
5815         * testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
5816         * testsuite/23_containers/unordered_map/modifiers/merge.cc: New.
5817         * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
5818         New.
5819         * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New.
5820         * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
5821         New.
5822         * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New.
5823         * testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
5824         * testsuite/23_containers/unordered_set/modifiers/merge.cc: New.
5825         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
5826         dg-error lineno.
5827         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles.
5829 2016-09-22  Ville Voutilainen  <ville.voutilainen@gmail.com>
5831         Fix tests on old arm platforms for optional.
5832         * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
5834 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
5836         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for
5837         recent change to _Variant_storage.
5838         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with
5839         reference type.
5841         * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify
5842         std::forward and ::new. Cast pointer to void*.
5843         * include/std/variant (_Variant_storage, _Union, _Variant_base)
5844         (__access, __visit_invoke, variant, visit): Qualify std::forward.
5845         * testsuite/20_util/variant/compile.cc: Test for ADL problems.
5847 2016-09-22  Tim Shen  <timshen@google.com>
5849         * include/std/variant (variant::operator=): Fix assignment
5850         on references.
5851         * testsuite/20_util/variant/compile.cc: Add test.
5853 2016-09-22  Tim Shen  <timshen@google.com>
5855         PR libstdc++/77641
5856         * include/std/variant (_Variant_storage::_Variant_storage):
5857         Change _Variant_storage's union to be default constructible.
5858         * testsuite/20_util/variant/compile.cc: New test.
5860 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5862         PR libstdc++/77288
5863         * include/std/optional (__is_optional_impl, __is_optional): Remove.
5864         (__converts_from_optional, __assigns_from_optional): New.
5865         (optional(_Up&&)): Use is_same instead of __is_optional.
5866         (optional(const optional<_Up>&)): Constrain with
5867         __converts_from_optional.
5868         (optional(optional<_Up>&&)): Likewise.
5869         (operator=(_Up&&)): Use is_same instead of __is_optional, check
5870         is_same and is_scalar.
5871         (operator=(const optional<_Up>&)): Constrain with
5872         __converts_from_optional and __assigns_from_optional.
5873         (operator=(optional<_Up>&&)): Likewise.
5874         * testsuite/20_util/optional/77288.cc: New.
5875         * testsuite/20_util/optional/cons/value.cc: Adjust.
5877 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5879         Implement LWG 2729 for tuple.
5880         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
5881         Suppress conditionally.
5882         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
5883         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
5884         (_Tuple_impl(const _Head&)): Constrain.
5885         (_Tuple_impl(_UHead&&)): Likewise.
5886         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
5887         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
5888         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
5889         (operator=(const tuple&)): Enable conditionally.
5890         (operator=(tuple&&)): Suppress conditionally.
5891         (operator=(const tuple<_UElements...>&)): Constrain.
5892         (operator=(tuple<_UElements...>&&)): Likewise.
5893         (operator=(const tuple&)): Enable conditionally (2-param tuple).
5894         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
5895         (operator=(const tuple<_U1, _U2>&)): Constrain.
5896         (operator=(tuple<_U1, _U2>&&)): Likewise.
5897         (operator=(const pair<_U1, _U2>&)): Likewise.
5898         (operator=(pair<_U1, _U2>&&)): Likewise.
5899         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
5900         * testsuite/20_util/tuple/tuple_traits.cc: New.
5902 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5904         PR libstdc++/77537
5905         Implement LWG 2729 for pair.
5906         * include/bits/stl_pair.h (_PCC): New.
5907         (_ConstructiblePair, _ImplicitlyConvertiblePair):
5908         Turn into static member functions of _PCC.
5909         (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
5910         (_PCCP): New.
5911         (pair(const _T1&, const _T2&)): Adjust.
5912         (_PCCFP): New.
5913         (pair(const pair<_U1, _U2>&)): Adjust.
5914         (pair(_U1&&, const _T2&)): Likewise.
5915         (pair(const _T1&, _U2&&)): Likewise.
5916         (pair(_U1&&, _U2&&)): Likewise.
5917         (pair(pair<_U1, _U2>&&)): Likewise.
5918         (operator=(const pair&)): Make conditionally deleted.
5919         (operator=(pair&&)): Make conditionally suppressed.
5920         (operator=(const pair<_U1, _U2>&)): Constrain.
5921         (operator=(pair<_U1, _U2>&&): Likewise.
5922         * include/std/type_traits (__nonesuch): New.
5923         * testsuite/20_util/pair/traits.cc: New.
5925 2016-09-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
5927         PR libstdc++/77619
5928         * include/bits/stl_construct.h: (_Construct_novalue): New.
5929         (_Destroy_n_aux, _Destroy_n): New.
5930         * include/bits/stl_uninitialized.h: (type_traits):
5931         New include in C++11 mode.
5932         (__uninitialized_default_novalue_1): New.
5933         (__uninitialized_default_novalue_n_1): Likewise.
5934         (__uninitialized_default_novalue): Likewise.
5935         (__uninitialized_default_novalue_n): Likewise.
5936         (__uninitialized_copy_n_pair): Likewise.
5937         (uninitialized_default_construct):
5938         Use __uninitialized_default_novalue.
5939         (uninitialized_default_construct_n):
5940         Use __uninitialized_default_novalue_n.
5941         (uninitialized_value_construct): Use __uninitialized_default.
5942         (uninitialized_value_construct_n): Use __uninitialized_default_n.
5943         (uninitialized_move): Use uninitialized_copy.
5944         (uninitialized_move_n): Use __uninitialized_copy_n_pair.
5945         (destroy_at): Use _Destroy.
5946         (destroy): Likewise.
5947         (destroy_n): Likewise.
5948         * testsuite/20_util/specialized_algorithms/
5949         memory_management_tools/1.cc: Add tests for exceptions,
5950         add tests for trivial cases for construct and move.
5952 2016-09-20  Jonathan Wakely  <jwakely@redhat.com>
5954         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
5955         (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
5957 2016-09-19  Jonathan Wakely  <jwakely@redhat.com>
5959         PR libstdc++/77645
5960         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
5961         (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
5962         division to int to work with Python 3.
5964         * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
5966         * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
5967         display_hint to be set by subclasses.
5968         (StdVariantPrinter): Use array for display_hint. Adjust output to be
5969         more similar to std::any and std::optional output.
5970         (register_type_printers): Add type printers for basic_string_view
5971         typedefs and experimental::any. Adjust type printers for
5972         fundamentals_v1 templates to match fundamentals_v2 and later.
5973         * testsuite/libstdc++-prettyprinters/cxx17.cc: New.
5975         PR libstdc++/77645
5976         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
5977         argument.
5978         (ListWorkerBase.get_value_from_node): Define new method.
5979         (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
5981 2016-09-17  Jonathan Wakely  <jwakely@redhat.com>
5983         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
5984         (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
5985         Register for C++17 components in namespace std. Strip inline namespace
5986         from typename.
5988 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
5990         * doc/xml/manual/profile_mode.xml: Fix typo.
5991         * doc/html/manual/profile_mode_devel.html: Regenerate.
5993 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
5994             Marc Glisse  <marc.glisse@inria.fr>
5996         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
5997         (operator new(size_t, align_val_t)): Replace modulus operator with
5998         mask.
6000 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
6002         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
6003         Increase alignment if less than sizeof(void*).
6004         [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
6005         Increase size if not a multiple of alignment.
6007 2016-09-15  Jonathan Wakely  <jwakely@redhat.com>
6009         * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
6010         * doc/html/*: Regenerate.
6012         * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
6013         -Wno-deprecated.
6014         * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
6016 2016-09-14  Marek Polacek  <polacek@redhat.com>
6018         * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
6019         -Wno-deprecated.
6021 2016-09-14  Christophe Lyon  <christophe.lyon@linaro.org>
6023         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
6024         Move dg-do directive before dg-skip.
6025         * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
6026         Move dg-do directive before dg-require.
6027         * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
6028         * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
6029         * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
6030         * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
6031         * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
6032         * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
6033         * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
6034         * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
6035         * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
6036         * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
6037         * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
6038         * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
6039         * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
6040         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
6041         * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
6042         Likewise.
6043         * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
6044         * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
6045         * testsuite/27_io/objects/char/12048-5.cc: Likewise.
6046         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
6047         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
6049 2016-09-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
6051         Implement P0040R3, Extending memory management tools.
6052         * include/bits/stl_uninitialized.h (utility): New include
6053         in C++17 mode.
6054         (uninitialized_default_construct): New.
6055         (uninitialized_default_construct_n): Likewise.
6056         (uninitialized_value_construct): Likewise.
6057         (uninitialized_value_construct_n): Likewise.
6058         (uninitialized_move): Likewise.
6059         (uninitialized_move_n): Likewise.
6060         (destroy_at, destroy, destroy_n): Likewise.
6061         * testsuite/20_util/specialized_algorithms/memory_management_tools/
6062         1.cc: New.
6064 2016-09-12  Jason Merrill  <jason@redhat.com>
6066         * config/abi/pre/gnu.ver: Use [jmy] for size_t.
6068 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
6070         Implement P0253R1, Fixing a design mistake in the searchers
6071         interface in Library Fundamentals.
6072         * include/std/functional: (utility): New include in C++17 mode.
6073         (default_searcher): Use a pair as return type, adjust the definition.
6074         (boyer_moore_searcher): Likewise.
6075         (boyer_moore_horspool_searcher): Likewise.
6076         * testsuite/20_util/function_objects/searchers.cc: Adjust.
6078 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
6080         Implement C++17 string searchers.
6081         * include/std/functional: (unordered_map, vector): New includes
6082         in C++17 mode.
6083         (array, bits/stl_algo.h): Likewise.
6084         (default_searcher, __boyer_moore_map_base): New.
6085         (__boyer_moore_array_base, __is_std_equal_to): Likewise.
6086         (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
6087         (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
6088         (make_boyer_moore_searcher): Likewise.
6089         (make_boyer_moore_horspool_searcher): Likewise.
6090         * testsuite/20_util/function_objects/searchers.cc: New.
6092 2016-09-12  Matthew Wahab  <matthew.wahab@arm.com>
6094         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
6095         Move dg-do directive before dg-require.
6096         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
6097         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
6098         Likewise.
6099         * testsuite/22_locale/codecvt/utf8.cc: Likewise.
6100         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
6101         * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
6102         * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
6103         * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
6104         * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
6105         * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
6106         * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
6107         * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
6108         * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
6109         * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
6110         * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
6111         * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
6112         Likewise.
6113         * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
6114         Likewise.
6115         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
6116         * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
6117         * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
6118         Likewise.
6119         * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
6120         Likewise.
6121         * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
6122         Likewise.
6123         * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
6124         Likewise.
6125         * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
6126         Likewise.
6127         * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
6128         Likewise.
6129         * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
6130         Likewise.
6131         * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
6132         Likewise.
6133         * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
6134         Likewise.
6135         * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
6136         Likewise.
6137         * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
6138         Likewise.
6139         * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
6140         Likewise.
6141         * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
6142         Likewise.
6143         * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
6144         Likewise.
6145         * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
6146         Likewise.
6147         * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
6148         Likewise.
6149         * testsuite/23_containers/forward_list/debug/
6150         iterator_self_move_assign_neg.cc: Likewise.
6151         * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
6152         Likewise.
6153         * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
6154         Likewise.
6155         * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
6156         Likewise.
6157         * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
6158         Likewise.
6159         * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
6160         Likewise.
6161         * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
6162         Likewise.
6163         * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
6164         Likewise.
6165         * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
6166         Likewise.
6167         * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
6168         * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
6169         * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
6170         * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
6171         * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
6172         * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
6173         * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
6174         * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
6175         * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
6176         * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
6177         * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
6178         Likewise.
6179         * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
6180         * testsuite/23_containers/map/debug/60499.cc: Likewise.
6181         * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
6182         * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
6183         * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
6184         * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
6185         * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
6186         * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
6187         * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
6188         Likewise.
6189         * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
6190         * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
6191         * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
6192         * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
6193         * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
6194         * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
6195         * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
6196         * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
6197         * testsuite/23_containers/multimap/debug/
6198         iterator_self_move_assign_neg.cc: Likewise.
6199         * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
6200         Likewise.
6201         * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
6202         * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
6203         * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
6204         * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
6205         * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
6206         * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
6207         * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
6208         * testsuite/23_containers/multiset/debug/
6209         iterator_self_move_assign_neg.cc: Likewise.
6210         * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
6211         Likewise.
6212         * testsuite/23_containers/set/debug/60499.cc: Likewise.
6213         * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
6214         * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
6215         * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
6216         * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
6217         * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
6218         * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
6219         * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
6220         Likewise.
6221         * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
6222         * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
6223         * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
6224         * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
6225         * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
6226         Likewise.
6227         * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
6228         * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
6229         * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
6230         Likewise.
6231         * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
6232         Likewise.
6233         * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
6234         Likewise.
6235         * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
6236         * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
6237         * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
6238         * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
6239         * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
6240         * testsuite/23_containers/unordered_map/debug/
6241         invalid_local_iterator_compare_neg.cc: Likewise.
6242         * testsuite/23_containers/unordered_map/debug/
6243         invalid_local_iterator_range_neg.cc: Likewise.
6244         * testsuite/23_containers/unordered_map/debug/
6245         iterator_self_move_assign_neg.cc: Likewise.
6246         * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
6247         Likewise.
6248         * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
6249         Likewise.
6250         * testsuite/23_containers/unordered_map/debug/
6251         use_erased_local_iterator_neg.cc: Likewise.
6252         * testsuite/23_containers/unordered_map/debug/
6253         use_invalid_iterator_neg.cc: Likewise.
6254         * testsuite/23_containers/unordered_map/debug/
6255         use_invalid_local_iterator_neg.cc: Likewise.
6256         * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
6257         * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc:
6258         Likewise.
6259         * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
6260         Likewise.
6261         * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
6262         Likewise.
6263         * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
6264         Likewise.
6265         * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
6266         Likewise.
6267         * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
6268         Likewise.
6269         * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
6270         Likewise.
6271         * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
6272         Likewise.
6273         * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
6274         Likewise.
6275         * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
6276         Likewise.
6277         * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
6278         Likewise.
6279         * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
6280         Likewise.
6281         * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
6282         Likewise.
6283         * testsuite/23_containers/unordered_multimap/debug/
6284         invalid_local_iterator_compare_neg.cc: Likewise.
6285         * testsuite/23_containers/unordered_multimap/debug/
6286         invalid_local_iterator_range_neg.cc: Likewise.
6287         * testsuite/23_containers/unordered_multimap/debug/
6288         iterator_self_move_assign_neg.cc: Likewise.
6289         * testsuite/23_containers/unordered_multimap/debug/
6290         max_load_factor_neg.cc: Likewise.
6291         * testsuite/23_containers/unordered_multimap/debug/
6292         self_move_assign_neg.cc: Likewise.
6293         * testsuite/23_containers/unordered_multimap/debug/
6294         use_erased_local_iterator_neg.cc: Likewise.
6295         * testsuite/23_containers/unordered_multimap/debug/
6296         use_invalid_iterator_neg.cc: Likewise.
6297         * testsuite/23_containers/unordered_multimap/debug/
6298         use_invalid_local_iterator_neg.cc: Likewise.
6299         * testsuite/23_containers/unordered_multiset/debug/60499.cc:
6300         Likewise.
6301         * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
6302         Likewise.
6303         * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
6304         Likewise.
6305         * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
6306         Likewise.
6307         * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
6308         Likewise.
6309         * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
6310         Likewise.
6311         * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
6312         Likewise.
6313         * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
6314         Likewise.
6315         * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
6316         Likewise.
6317         * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
6318         Likewise.
6319         * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
6320         Likewise.
6321         * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
6322         Likewise.
6323         * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
6324         Likewise.
6325         * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
6326         Likewise.
6327         * testsuite/23_containers/unordered_multiset/debug/
6328         invalid_local_iterator_compare_neg.cc: Likewise.
6329         * testsuite/23_containers/unordered_multiset/debug/
6330         invalid_local_iterator_range_neg.cc: Likewise.
6331         * testsuite/23_containers/unordered_multiset/debug/
6332         iterator_self_move_assign_neg.cc: Likewise.
6333         * testsuite/23_containers/unordered_multiset/debug/
6334         max_load_factor_neg.cc: Likewise.
6335         * testsuite/23_containers/unordered_multiset/debug/
6336         self_move_assign_neg.cc: Likewise.
6337         * testsuite/23_containers/unordered_multiset/debug/
6338         use_erased_local_iterator_neg.cc: Likewise.
6339         * testsuite/23_containers/unordered_multiset/debug/
6340         use_invalid_iterator_neg.cc: Likewise.
6341         * testsuite/23_containers/unordered_multiset/debug/
6342         use_invalid_local_iterator_neg.cc: Likewise.
6343         *  testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
6344         * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
6345         * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
6346         * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
6347         Likewise.
6348         * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
6349         * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
6350         * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
6351         Likewise.
6352         * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
6353         Likewise.
6354         * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
6355         Likewise.
6356         * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
6357         * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
6358         * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
6359         * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
6360         * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
6361         * testsuite/23_containers/unordered_set/debug/
6362         invalid_local_iterator_compare_neg.cc: Likewise.
6363         * testsuite/23_containers/unordered_set/debug/
6364         invalid_local_iterator_range_neg.cc: Likewise.
6365         * testsuite/23_containers/unordered_set/debug/
6366         iterator_self_move_assign_neg.cc: Likewise.
6367         * testsuite/23_containers/unordered_set/debug/
6368         max_load_factor_neg.cc: Likewise.
6369         * testsuite/23_containers/unordered_set/debug/
6370         self_move_assign_neg.cc: Likewise.
6371         * testsuite/23_containers/unordered_set/debug/
6372         use_erased_local_iterator_neg.cc: Likewise.
6373         * testsuite/23_containers/unordered_set/debug/
6374         use_invalid_iterator_neg.cc: Likewise.
6375         * testsuite/23_containers/unordered_set/debug/
6376         use_invalid_local_iterator_neg.cc: Likewise.
6377         * testsuite/23_containers/vector/debug/52433.cc: Likewise.
6378         * testsuite/23_containers/vector/debug/60499.cc: Likewise.
6379         * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
6380         * testsuite/23_containers/vector/debug/
6381         iterator_self_move_assign_neg.cc: Likewise.
6382         * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
6383         Likewise.
6384         * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
6385         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
6386         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
6387         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
6388         * testsuite/29_atomics/atomic/60658.cc: Likewise.
6389         * testsuite/29_atomics/atomic/60695.cc: Likewise.
6390         * testsuite/29_atomics/atomic/62259.cc: Likewise.
6391         * testsuite/29_atomics/atomic/64658.cc: Likewise.
6392         * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
6393         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
6394         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
6395         Likewise.
6397 2016-09-11  Jonathan Wakely  <jwakely@redhat.com>
6399         * libsupc++/new_opant.cc: Include exception_defines.h.
6400         * libsupc++/new_opvant.cc: Likewise.
6402 2016-09-09  Jason Merrill  <jason@redhat.com>
6404         Implement P0035R4, C++17 new of over-aligned types.
6405         * libsupc++/new: Declare aligned new/delete operators.
6406         * config/abi/pre/gnu.ver: Export them.
6407         * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
6408         _aligned_malloc.
6409         * libsupc++/new_opa.cc: New.
6410         * libsupc++/new_opant.cc: New.
6411         * libsupc++/new_opva.cc: New.
6412         * libsupc++/new_opva.cc: New.
6413         * libsupc++/del_opa.cc: New.
6414         * libsupc++/del_opant.cc: New.
6415         * libsupc++/del_opsa.cc: New.
6416         * libsupc++/del_opva.cc: New.
6417         * libsupc++/del_opvant.cc: New.
6418         * libsupc++/del_opvsa.cc: New.
6419         * libsupc++/Makefile.am: Build them.
6421 2016-09-05  Tim Shen  <timshen@google.com>
6423         * include/std/variant: include bits/move.h for std::addressof.
6425 2016-09-05  Mikhail Strelnikov  <mikhail.strelnikov@gmail.com>
6427         * include/std/variant (_Variant_storage::_M_storage()): Use
6428         std::addressof instead of operator& to take address.
6430 2016-09-02  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
6432         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
6433         setrlimit on both native and cross targets.
6434         * configure: Regenerate.
6436 2016-08-31  Jonathan Wakely  <jwakely@redhat.com>
6438         * include/bits/shared_ptr.h (_Assignable): New alias template.
6439         (shared_ptr::operator=(const shared_ptr<_Tp1>&))
6440         (shared_ptr::operator=(shared_ptr<_Tp1>&&))
6441         (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
6442         _Assignable.
6443         * include/bits/shared_ptr_base.h (_Assignable): New alias template.
6444         (__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
6445         (__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
6446         (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
6447         _Assignable.
6448         (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
6449         (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
6450         _Convertible.
6451         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
6452         match on any line.
6453         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
6454         * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
6455         * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
6456         expected errors. Remove unnecessary code.
6457         * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
6459         * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
6460         comparison object.
6461         * testsuite/23_containers/set/move_comparison.cc: New test.
6463         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
6464         New test.
6466 2016-08-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
6468         PR libstdc++/77395
6469         * include/std/type_traits (is_constructible): Forward-declare...
6470         (__is_base_to_derived_ref): ...and use here.
6471         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
6472         * testsuite/20_util/is_constructible/77395.cc: New.
6473         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
6474         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
6475         Likewise.
6476         * testsuite/20_util/tuple/77395.cc: New.
6478 2016-08-30  Uros Bizjak  <ubizjak@gmail.com>
6480         * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
6481         directive above dg-require-namedlocale directive.
6482         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
6483         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
6484         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
6485         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
6486         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
6488 2016-08-27  Tim Shen  <timshen@google.com>
6490         PR libstdc++/77356
6491         * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
6492         _M_expression_term): Modify to support dash literal.
6493         * include/bits/regex_scanner.h: Add dash as a token type to make
6494         a different from the mandated dash literal by escaping.
6495         * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
6496         token in bracket expression parsing.
6497         * testsuite/28_regex/regression.cc: Add new testcases.
6499 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6501         PR libstdc++/51960
6502         * doc/xml/manual/intro.xml: Document DR 2127 change.
6503         * doc/html/*: Regenerate.
6504         * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
6505         (operator++(), operator++(int)): Use injected class name.
6506         * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
6508         * testsuite/*: Use { target c++11 } or { target c++14 } instead of
6509         using -std in dg-options.
6511 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6512             Pedro Alves  <palves@redhat.com>
6514         * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
6515         and restore dg-interpreter-batch-mode.
6516         * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
6517         gdb-dg-runtest instead of dg-runtest.
6518         * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
6520 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6522         * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
6523         precise patterns for basic_string constructors.
6524         (GLIBCXX_3.4.23): Export new constructors.
6525         * doc/xml/manual/intro.xml: Document LWG 2583 status.
6526         * doc/html/*: Regenerate.
6527         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
6528         (basic_string(const basic_string&, size_type, const Alloc&)): Add
6529         new constructor for LWG 2583.
6530         (basic_string(const basic_string&, size_type, size_type)): Remove
6531         default argument.
6532         [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
6533         * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
6534         * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
6535         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
6537 2016-08-24  Aditya Kumar  <hiraditya@msn.com>
6539         * include/bits/algorithmfwd.h: Remove trailing whitespace.
6540         * include/bits/shared_ptr_base.h: Likewise.
6542 2016-08-23  Jonathan Wakely  <jwakely@redhat.com>
6544         * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
6545         * include/profile/array (array): Likewise.
6546         (array::swap): Fix exception specification for zero-sized arrays.
6548         PR libstdc++/77334
6549         * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
6550         (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
6551         * testsuite/23_containers/map/77334.cc: New test.
6553         * doc/xml/manual/using.xml: Remove reference to -pthreads option.
6554         * doc/html/*: Regenerate.
6556         * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
6557         * testsuite/experimental/feat-lib-fund.cc: Likewise.
6559         PR libstdc++/71771
6560         * include/bits/stl_iterator.h
6561         (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
6562         define for C++98 mode.
6563         (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
6564         * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
6565         -std=gnu++98.
6566         * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
6567         * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
6568         * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
6569         * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
6570         difference operator.
6571         * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
6572         difference operator for C++98.
6573         * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
6575         * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
6576         * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
6577         (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
6578         * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
6579         (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
6580         Likewise.
6581         * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
6582         _GLIBCXX14_CONSTEXPR.
6583         (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
6584         * include/std/array (array::begin, array::end, array::rbegin)
6585         (array::rend, array::cbegin, array:cend, array::crbegin)
6586         (array::crend, array::operator[], array::at, array::front)
6587         (array::back, array::data): Likewise.
6588         * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
6589         with separate tests for C++11, C++14, and C++17.
6590         * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
6591         * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
6592         * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
6594 2016-08-22  Tim Shen  <timshen@google.com>
6596         Split _M_dfs() into smaller functions.
6597         * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
6598         (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
6599         (_M_handle_line_end_assertion, _M_handle_word_boundary)
6600         (_M_handle_subexpr_lookahead, _M_handle_match)
6601         (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
6602         Add separate function declarations.
6603         * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
6605 2016-08-22  Gleb Natapov  <gleb@scylladb.com>
6607         PR libstdc++/68297
6608         * config/abi/pre/gnu-versioned-namespace.ver: Export
6609         __cxa_init_primary_exception and std::exception_ptr(void*).
6610         * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
6611         export __cxa_init_primary_exception and std::exception_ptr(void*).
6612         * include/Makefile.am: Add new headers.
6613         * include/Makefile.in: Regenerate.
6614         * libsupc++/Makefile.am: Add new headers.
6615         * libsupc++/Makefile.in: Regenerate.
6616         * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
6617         * libsupc++/cxxabi_init_exception.h: New header.
6618         (__cxa_init_primary_exception): Declare.
6619         * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
6620         (__cxa_throw): Use __cxa_init_primary_exception.
6621         * libsupc++/exception (std::exception): Move to ...
6622         * libsupc++/exception.h: New header.
6623         * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
6624         friend declaration.
6625         (__exception_ptr::__dest_thunk): New function template.
6626         (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
6627         Use __cxa_allocate_exception and __cxa_init_primary_exception to
6628         create exception_ptr.
6629         * libsupc++/typeinfo: Include bits/exception.h instead of exception.
6630         * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
6632 2016-08-22  Jonathan Wakely  <jwakely@redhat.com>
6634         * doc/xml/api.xml: Replace hardcoded links for specific versions with
6635         link to docs for all releases.
6636         * doc/html/*: Regenerate.
6638         PR libstdc++/77322
6639         * doc/xml/manual/intro.xml: Document DR 2062 change.
6640         * include/std/functional (function::swap): Add noexcept.
6641         (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
6642         * testsuite/20_util/function/77322.cc: New test.
6644 2016-08-19  Jonathan Wakely  <jwakely@redhat.com>
6646         * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
6647         *-*-solaris* instead of -pthreads.
6648         * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
6649         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
6650         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
6651         * testsuite/23_containers/list/pthread1.cc: Likewise.
6652         * testsuite/23_containers/list/pthread5.cc: Likewise.
6653         * testsuite/23_containers/map/pthread6.cc: Likewise.
6654         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
6655         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
6656         * testsuite/30_threads/shared_mutex/*: Likewise.
6657         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
6658         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6659         default_weaktoshared.cc: Likewise.
6660         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6661         mutex_weaktoshared.cc: Likewise.
6662         * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
6663         dg-require-effective-target instead of using -std option.
6664         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
6665         Likewise.
6666         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
6667         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
6668         Likewise.
6669         * testsuite/30_threads/async/*: Likewise.
6670         * testsuite/30_threads/call_once/*: Likewise.
6671         * testsuite/30_threads/condition_variable/*: Likewise.
6672         * testsuite/30_threads/condition_variable_any/*: Likewise.
6673         * testsuite/30_threads/future/*: Likewise.
6674         * testsuite/30_threads/lock/*: Likewise.
6675         * testsuite/30_threads/mutex/*: Likewise.
6676         * testsuite/30_threads/packaged_task/*: Likewise.
6677         * testsuite/30_threads/promise/*: Likewise.
6678         * testsuite/30_threads/recursive_mutex/*: Likewise.
6679         * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
6680         * testsuite/30_threads/shared_future/*: Likewise.
6681         * testsuite/30_threads/shared_lock/*: Likewise.
6682         * testsuite/30_threads/shared_timed_mutex/*: Likewise.
6683         * testsuite/30_threads/this_thread/*: Likewise.
6684         * testsuite/30_threads/thread/*: Likewise.
6685         * testsuite/30_threads/timed_mutex/*: Likewise.
6686         * testsuite/30_threads/try_lock/*: Likewise.
6687         * testsuite/30_threads/unique_lock/*: Likewise.
6689         * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
6690         * doc/html/*: Regenerate.
6691         * include/experimental/functional (_Not_fn, not_fn): Match C++17
6692         semantics.
6693         * include/std/functional (_Not_fn, not_fn): Define for C++17.
6694         * testsuite/20_util/not_fn/1.cc: New.
6695         * testsuite/experimental/functional/not_fn.cc: Test abstract class.
6696         Remove test for volatile-qualified wrapper.
6698         * include/std/atomic (atomic::is_always_lock_free): Define.
6699         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
6700         * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
6701         * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
6702         * doc/xml/manual/status_cxx2017.xml: Update status.
6703         * doc/html/*: Regenerate.
6705         * include/experimental/tuple (apply): Qualify call to __apply_impl.
6706         * include/std/tuple (apply): Likewise.
6707         * testsuite/experimental/system_error/value.cc: Fix ambiguities in
6708         C++17 mode.
6709         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
6710         * testsuite/experimental/type_traits/value.cc: Likewise.
6712         * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
6713         and variant.
6714         * doc/html/*: Regenerate.
6716 2016-08-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
6718         Implement the latest proposed resolution of LWG 2756.
6719         * include/std/optional (Optional_base(const _Tp&))
6720         (Optional_base(_Tp&&), using _Base::_Base): Remove.
6721         (optional(nullopt_t)): New.
6722         (optional(_Up&&)): Invoke base directly with in_place
6723         rather than creating a temporary, add default template
6724         argument, change constraints.
6725         (optional(const optional<_Up>&)): Invoke base directly
6726         with in_place, remove unnecessary constraints.
6727         (optional(optional<_Up>&& __t)): Likewise.
6728         (optional(in_place_t, _Args&&...)): New.
6729         (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
6730         (operator=(_Up&&)): Add default template argument, change constraints.
6731         (operator=(const optional<_Up>&)): Put is_same first in the
6732         constraints.
6733         (operator=(optional<_Up>&&)): Likewise.
6734         * testsuite/20_util/optional/assignment/5.cc: Add a test to
6735         verify assignment from something that can't be perfect-forwarded.
6736         * testsuite/20_util/optional/cons/value.cc: Add tests to verify
6737         that a nested optional is disengaged when constructed
6738         from a disengaged element type, and to verify that assignments
6739         from an engaged element type engage the optional.
6741 2016-08-18  Tim Shen  <timshen@google.com>
6743         Implement <variant>
6745         * include/Makefile.am: Add new file std/variant.
6746         * include/Makefile.in: Generated from Makefile.am.
6747         * include/bits/enable_special_members.h: Add a tag type to allow
6748         the construction in non-default constructor.
6749         * include/bits/uses_allocator.h: Add convenience traits to
6750         detect constructibility.
6751         * include/std/variant: Implement <variant>.
6752         * testsuite/20_util/variant/compile.cc: Compile-time tests.
6753         * testsuite/20_util/variant/run.cc: Runtime tests.
6755 2016-08-18  Jonathan Wakely  <jwakely@redhat.com>
6757         * doc/xml/manual/test.xml (test.run.permutations): Expand section.
6758         (test.new_tests): Rewrite section.
6759         (tests.dg.directives): New section.
6760         * doc/html/*: Regenerate.
6762         * doc/xml/manual/test.xml: Improve documentation of test targets.
6763         Document new-abi-baseline, check-debug, and check-parallel targets.
6765         * doc/xml/manual/build_hacking.xml: New section on shared library
6766         versioning.
6768         * doc/xml/manual/build_hacking.xml: Improve markup.
6769         * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
6770         to "Testing".
6771         * doc/xml/faq.xml: Change link text to "Testing".
6773         * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
6774         dg-options directive.
6776 2016-08-17  Jonathan Wakely  <jwakely@redhat.com>
6778         * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
6779         directive and use effective target instead of dg-options.
6781         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
6782         instead of -std in dg-options.
6783         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
6784         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
6785         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
6786         * testsuite/20_util/hash/quality.cc: Likewise.
6787         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
6788         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
6789         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
6790         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
6791         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
6792         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
6794         * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
6795         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
6796         * testsuite/27_io/rvalue_streams.cc: Likewise.
6798         * testsuite/26_numerics/complex/literals/types.cc: Add comment.
6800         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
6801         Remove duplicate dg-options directive.
6803         * testsuite/ext/profile/all.cc: Use effective target instead of
6804         -std=gnu++11. Use dg-additional-options instead of repeating options.
6806         * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
6807         -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
6808         instead of dg-excess-errors.
6810         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
6811         test for C++17.
6812         * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
6813         * testsuite/experimental/ratio/value.cc: Likewise.
6814         * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
6815         C++17.
6816         * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
6817         * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
6818         * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
6819         * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
6820         * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
6821         * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
6822         * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
6823         * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
6824         * testsuite/tr1/5_numerical_facilities/special_functions/
6825         10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
6826         C++17 compatibility.
6828         * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
6829         expected signatures for C++14 compatibility.
6831         PR libstdc++/77264
6832         * include/bits/basic_string.h (operator=(__sv_type)
6833         (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
6834         (replace(size_type, size_type, __sv_type))
6835         (replace(const_iterator, const_iterator, __sv_type))
6836         (find(__sv_type, size_type), rfind(__sv_type, size_type))
6837         (compare(size_type, size_type, __sv_type)): Reformat.
6838         (_If_sv): Define helper for SFINAE constaints.
6839         (append(const _Tp&, size_type, size_type))
6840         (assign(const _Tp&, size_type, size_type))
6841         (insert(size_type, const _Tp&, size_type, size_type))
6842         (replace(size_type, size_type, const _Tp&, size_type, size_type)):
6843         Use _If_sv.
6844         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
6845         SFINAE constraints.
6846         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
6847         Likewise.
6848         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
6849         Likewise.
6850         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
6851         Likewise.
6852         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
6853         Likewise.
6854         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
6855         Likewise.
6856         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
6857         Likewise.
6858         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
6859         Likewise.
6860         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
6861         Likewise.
6862         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
6863         Likewise.
6864         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
6865         Likewise.
6867 2016-08-16  Jonathan Wakely  <jwakely@redhat.com>
6869         PR libstdc++/72847
6870         * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
6871         pointers to start and end of storage.
6872         * testsuite/23_containers/vector/bool/72847.cc: New test.
6873         * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
6874         _M_finish after deallocating.
6875         (vector<bool>::_M_fill_insert): Likewise.
6876         (vector<bool>::_M_insert_range): Likewise.
6877         (vector<bool>::_M_insert_aux): Likewise.
6879 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
6881         Implement LWG 2744 and LWG 2754.
6882         * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
6883         (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
6884         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
6885         Likewise.
6886         (emplace(_Args&&...)): Likewise.
6887         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
6888         * include/std/utility: (__is_in_place_type_impl): New.
6889         (__is_in_place_type): Likewise.
6890         * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
6891         emplace.
6892         * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
6893         in_place constructor.
6894         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
6895         * testsuite/20_util/any/requirements.cc: Add a test for
6896         in_place-constructing a non-default-constructible type.
6898 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
6900         Add a feature macro for C++17 make_from_tuple.
6901         * include/std/tuple (__cpp_lib_make_from_tuple): New.
6902         (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
6903         Qualify the call to get<>().
6904         * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
6906 2016-08-15  Uros Bizjak  <ubizjak@gmail.com>
6908         * src/filesystem/ops.cc: Always include ostream and
6909         ext/stdio_filebuf.h.
6910         (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
6911         [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
6912         sendfile fails with ENOSYS or EINVAL.
6914 2016-08-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
6916         PR libstdc++/72840
6917         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
6918         syntax.
6920 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
6922         Implement C++17 make_from_tuple.
6923         * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
6924         * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
6926 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
6928         Implement LWG 2758.
6929         * include/bits/basic_string.h
6930         (append(__sv_type, size_type, size_type)): Turn into a template,
6931         change parameter type, constrain, add a conversion to __sv_type
6932         from the dependent parameter type.
6933         (assign(__sv_type, size_type, size_type)): Likewise.
6934         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
6935         (replace(size_type, size_type, __sv_type, size_type, size_type)):
6936         Likewise.
6937         (compare(size_type, size_type,__sv_type, size_type, size_type)):
6938         Likewise.
6939         * testsuite/21_strings/basic_string/lwg2758.cc: New.
6941 2016-08-06  Jonathan Wakely  <jwakely@redhat.com>
6943         * doc/xml/manual/status_cxx2017.xml: Update status table.
6944         * doc/html/manual/status.html: Regenerate.
6946         * testsuite/lib/libstdc++.exp: Fix typo in comment.
6948         PR libstdc++/72820
6949         * include/std/functional (_Function_base::_Base_manager::_M_clone):
6950         Qualify new operator.
6951         * testsuite/20_util/function/cons/72820.cc: New test.
6953         * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
6954         * doc/html/manual/status.html: Regenerate.
6955         * include/Makefile.am: Add new header.
6956         * include/Makefile.in: Regenerate.
6957         * include/bits/invoke.h: New header.
6958         (__invoke): Make constexpr. Add && to types in exception specification.
6959         * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
6960         names. Include <bits/invoke.h> and use std::__invoke.
6961         * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
6962         new header.
6963         (invoke): Add && to types in exception specification.
6964         * include/std/tuple (apply, __apply_impl): Define for C++17.
6965         * testsuite/20_util/tuple/apply/1.cc: New test.
6966         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
6967         lineno.
6969 2016-08-05  Jonathan Wakely  <jwakely@redhat.com>
6971         * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
6972         * doc/html/manual/status.html: Regenerate.
6974         * include/std/chrono (floor, ceil, round, abs): New for C++17.
6975         * testsuite/20_util/duration_cast/rounding.cc: New test.
6976         * testsuite/20_util/time_point_cast/rounding.cc: New test.
6977         * doc/xml/manual/status_cxx2017.xml: Update status table.
6978         * doc/html/manual/status.html: Regenerate.
6979         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
6980         dg-error lineno.
6981         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
6982         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
6983         * testsuite/20_util/duration/literals/range.cc: Likewise.
6985         * include/std/functional (__callable_functor): Remove.
6986         (_Function_handler::_M_invoke): Use __invoke instead of
6987         __callable_functor or mem_fn.
6988         (function::_Callable): Use lvalue in result_of expression.
6989         (function): Remove TODO comments about allocators.
6990         * testsuite/20_util/function/cons/refqual.cc: New test.
6992 2016-08-04  Jonathan Wakely  <jwakely@redhat.com>
6994         * doc/xml/manual/status_cxx2017.xml: Update status table.
6995         * include/std/functional (__inv_unwrap): Move to <type_traits>.
6996         (__invoke_impl): Remove exception specifications.
6997         (__invoke, invoke): Add exception specifications using
6998         __is_nothrow_callable.
6999         * include/std/type_traits (__inv_unwrap): Move from <functional>.
7000         (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
7001         (__is_callable, __is_nothrow_callable): New traits.
7002         (is_callable, is_callable_v): New C++17 traits.
7003         (is_nothrow_callable, is_nothrow_callable_v): Likewise.
7004         * testsuite/20_util/is_callable/requirements/
7005         explicit_instantiation.cc: New test.
7006         * testsuite/20_util/is_callable/requirements/
7007         explicit_instantiation_ext.cc: New test.
7008         * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
7009         * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
7010         test.
7011         * testsuite/20_util/is_callable/value.cc: New test.
7012         * testsuite/20_util/is_callable/value_ext.cc: New test.
7013         * testsuite/20_util/is_nothrow_callable/requirements/
7014         explicit_instantiation.cc: New test.
7015         * testsuite/20_util/is_nothrow_callable/requirements/
7016         explicit_instantiation_ext.cc: New test.
7017         * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
7018         New test.
7019         * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
7020         New test.
7021         * testsuite/20_util/is_nothrow_callable/value.cc: New test.
7022         * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
7024         * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
7025         * doc/html/manual/status.html: Regenerate.
7027         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
7028         effective target not dg-options. Move check for feature-test macro to:
7029         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
7030         New test.
7032         * include/std/functional (_Unwrap): Rename to __inv_unwrap.
7033         (__invfwd): Adjust.
7034         (__invoke_impl): Remove unused template parameters.
7035         * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
7036         parameter.
7037         * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
7038         and test __invoke extension for C++11.
7040 2016-08-03  Jonathan Wakely  <jwakely@redhat.com>
7042         * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
7043         Define feature-test macro.
7044         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
7045         for the macro.
7047         * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
7048         * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
7049         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
7050         * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
7051         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
7053         * include/std/utility (as_const): Define.
7054         * testsuite/20_util/as_const/1.cc: New test.
7055         * testsuite/20_util/as_const/rvalue_neg.cc: New test.
7057         * include/bits/shared_ptr.h (owner_less): Add default template
7058         argument.
7059         * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
7060         specialization.
7061         (owner_less<void>): Define specialization.
7062         * include/bits/stl_function.h (__cpp_lib_transparent_operators):
7063         Update value.
7064         * testsuite/20_util/owner_less/void.cc: New test.
7065         * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
7067         * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
7068         Define feature-test macro.
7069         * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
7070         * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
7071         * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
7072         (__cpp_lib_type_trait_variable_templates): Define.
7074         * include/bits/stl_function.h: Remove commented-out macro.
7075         * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
7076         Define feature-test macro.
7077         * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
7079         * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
7080         C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
7081         true.
7082         * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
7083         do #error for C++17.
7084         * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
7085         of __STDCPP_WANT_MATH_SPEC_FUNCS__.
7086         * include/tr1/bessel_function.tcc: Likewise.
7087         * include/tr1/beta_function.tcc: Likewise.
7088         * include/tr1/cmath: Likewise.
7089         * include/tr1/ell_integral.tcc: Likewise.
7090         * include/tr1/exp_integral.tcc: Likewise.
7091         * include/tr1/gamma.tcc: Likewise.
7092         * include/tr1/hypergeometric.tcc: Likewise.
7093         * include/tr1/legendre_function.tcc: Likewise.
7094         * include/tr1/modified_bessel_func.tcc: Likewise.
7095         * include/tr1/poly_hermite.tcc: Likewise.
7096         * include/tr1/poly_laguerre.tcc: Likewise.
7097         * include/tr1/riemann_zeta.tcc: Likewise.
7098         * include/tr1/special_function_util.h: Likewise.
7099         * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
7101         * include/std/type_traits (has_trivial_default_constructor): Remove.
7102         (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
7103         * testsuite/20_util/has_trivial_copy_assign/requirements/
7104         explicit_instantiation.cc: Remove test.
7105         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
7106         line number.
7107         * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
7108         Likewise.
7109         * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
7110         * testsuite/20_util/has_trivial_copy_constructor/requirements/
7111         explicit_instantiation.cc: Likewise.
7112         * testsuite/20_util/has_trivial_copy_constructor/requirements/
7113         typedefs.cc: Likewise.
7114         * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
7115         * testsuite/20_util/has_trivial_default_constructor/requirements/
7116         explicit_instantiation.cc: Likewise.
7117         * testsuite/20_util/has_trivial_default_constructor/requirements/
7118         typedefs.cc: Likewise.
7119         * testsuite/20_util/has_trivial_default_constructor/value.cc:
7120         Likewise.
7121         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
7122         Check has_trivial_default_constructor, has_trivial_copy_constructor,
7123         and has_trivial_copy_assign are not defined.
7124         * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
7125         tests.
7126         * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
7127         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
7128         dg-error line number.
7129         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
7130         Likewise.
7132 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
7134         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
7135         Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
7136         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
7137         Likewise.
7138         * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
7139         Likewise.
7140         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
7141         Likewise.
7142         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
7143         Likewise.
7144         * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
7145         Likewise.
7146         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
7147         Likewise.
7149         * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
7150         comments.
7152         * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
7153         dg-error to relevant line.
7154         * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
7155         Likewise.
7156         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
7158         * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
7160         * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
7161         options are present that aren't valid for C.
7162         * testsuite/abi/header_cxxabi.c: Likewise.
7164         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
7165         check_value.cc: Do not add special functions to namespace std in TR1
7166         test.
7168         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
7169         run for C++11 and later.
7170         * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
7171         Likewise.
7172         * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
7173         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
7174         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
7175         * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
7176         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
7177         Likewise.
7178         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
7179         Likewise.
7180         * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
7181         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
7182         Likewise.
7183         * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
7184         Likewise.
7185         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
7186         Likewise.
7187         * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
7188         * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
7189         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
7190         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
7191         * testsuite/special_functions/03_beta/compile.cc: Likewise.
7192         * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
7193         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
7194         * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
7195         Likewise.
7196         * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
7197         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
7198         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
7199         * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
7200         Likewise.
7201         * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
7202         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
7203         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
7204         * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
7205         Likewise.
7206         * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
7207         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
7208         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
7209         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
7210         Likewise.
7211         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
7212         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
7213         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
7214         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
7215         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
7216         Likewise.
7217         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
7218         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
7219         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
7220         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
7221         Likewise.
7222         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
7223         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
7224         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
7225         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
7226         * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
7227         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
7228         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
7229         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
7230         * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
7231         * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
7232         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
7233         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
7234         * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
7235         * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
7236         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
7237         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
7238         * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
7239         * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
7240         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
7241         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
7242         * testsuite/special_functions/14_expint/compile.cc: Likewise.
7243         * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
7244         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
7245         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
7246         * testsuite/special_functions/15_hermite/compile.cc: Likewise.
7247         * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
7248         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
7249         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
7250         * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
7251         * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
7252         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
7253         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
7254         * testsuite/special_functions/17_legendre/compile.cc: Likewise.
7255         * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
7256         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
7257         * testsuite/special_functions/18_riemann_zeta/check_value.cc:
7258         Likewise.
7259         * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
7260         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
7261         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
7262         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
7263         * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
7264         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
7265         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
7266         * testsuite/special_functions/20_sph_legendre/check_value.cc:
7267         Likewise.
7268         * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
7269         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
7270         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
7271         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
7272         * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
7273         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
7275         * testsuite/tr1/5_numerical_facilities/special_functions/
7276         08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
7277         of [[gnu::unused]].
7278         * testsuite/tr1/5_numerical_facilities/special_functions/
7279         09_cyl_bessel_j/check_value.cc: Likewise.
7280         * testsuite/tr1/5_numerical_facilities/special_functions/
7281         10_cyl_bessel_k/check_value.cc: Likewise.
7282         * testsuite/tr1/5_numerical_facilities/special_functions/
7283         11_cyl_neumann/check_value.cc: Likewise.
7284         * testsuite/tr1/5_numerical_facilities/special_functions/
7285         21_sph_bessel/check_value.cc: Likewise.
7286         * testsuite/tr1/5_numerical_facilities/special_functions/
7287         23_sph_neumann/check_value.cc: Likewise.
7289 2016-08-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7291         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
7292         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
7293         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
7294         * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
7295         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
7296         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
7298 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
7300         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
7301         test if -flto used.
7303         * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
7304         additional flags for compiling libtestc++.a objects.
7306 2016-08-01  Jonathan Wakely  <jwakely@redhat.com>
7308         * include/bits/basic_string.h (data() const): Update comment.
7309         (data()): Add non-const overload for C++17.
7310         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
7311         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
7313         * include/bits/basic_string.tcc: Disable explicit instantiation
7314         declarations for C++17.
7316         * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
7317         ignored "xfail" from { dg-do compile { xfail selector } } directive.
7318         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
7319         Likewise.
7320         * testsuite/26_numerics/headers/cmath/
7321         c99_classification_macros_c++11.cc: Likewise.
7322         * testsuite/26_numerics/headers/cmath/
7323         c99_classification_macros_c++98.cc: Likewise.
7324         * testsuite/26_numerics/headers/cmath/
7325         c99_classification_macros_c.cc: Likewise.
7327         * testsuite/backward/hash_set/check_construct_destroy.cc: Account
7328         for different construct/destroy counts in C++98 mode.
7330         * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
7332         * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
7333         later.
7334         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
7335         Likewise.
7337         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
7338         C++98-compatible initialization for array.
7340         * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
7341         unused header and variable from compile-only test.
7342         * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
7343         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
7344         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
7345         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
7346         Likewise.
7348         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
7349         Remove duplicate dg-options directive.
7351         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
7352         808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
7354         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
7355         linker options from compile-only tests.
7356         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7357         Likewise.
7359         * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
7360         supported for C++11 and later.
7361         * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
7362         * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
7364 2016-08-01  Uros Bizjak  <ubizjak@gmail.com>
7366         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
7368 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
7370         * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
7371         compile-only test.
7373         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7374         Ensure test is compiled with optimization.
7376         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7377         Adjust dg-prune-output pattern for error in C++98 mode.
7379         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
7380         run for C++11 or later.
7382         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
7383         test to not rely on GNU extension (escaped normal characters in POSIX
7384         BRE). Enable tests for other strings which are now supported.
7386         * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
7387         c++11 instead of setting -std=gnu++14.
7389         PR libstdc++/72745
7390         * include/std/array (get): Use positive message for static assertions.
7391         * include/std/functional (_Safe_tuple_element_t): Fix indentation.
7392         * include/std/tuple (tuple_element<I, tuple<>>): Add partial
7393         specialization for invalid indices, with static assertion.
7394         * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
7396         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
7397         dg-error to relevant line.
7398         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
7399         Likewise.
7400         * testsuite/23_containers/forward_list/requirements/dr438/
7401         assign_neg.cc: Likewise.
7402         * testsuite/23_containers/forward_list/requirements/dr438/
7403         constructor_1_neg.cc: Likewise.
7404         * testsuite/23_containers/forward_list/requirements/dr438/
7405         constructor_2_neg.cc: Likewise.
7406         * testsuite/23_containers/forward_list/requirements/dr438/
7407         insert_neg.cc: Likewise.
7408         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
7409         Likewise.
7410         * testsuite/26_numerics/random/linear_congruential_engine/
7411         requirements/non_uint_neg.cc: Likewise.
7412         * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
7413         Likewise. Also test for std::atomic_address.
7415 2016-07-31  Ville Voutilainen  <ville.voutilainen@gmail.com>
7417         Add missing variable traits, fix testsuite failures.
7418         * include/bits/uses_allocator.h (uses_allocator_v): New.
7419         * include/std/functional (is_bind_expression_v, is_placeholder_v):
7420         Likewise.
7421         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
7422         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
7423         * testsuite/20_util/duration/literals/range.cc: Likewise.
7424         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
7425         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
7426         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
7427         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
7428         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
7429         Likewise.
7430         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
7431         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
7432         New.
7434 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
7436         * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
7437         not test 128-bit types.
7438         * testsuite/20_util/is_floating_point/value.cc: Likewise.
7439         * testsuite/20_util/is_integral/value.cc: Likewise.
7440         * testsuite/20_util/is_signed/value.cc: Likewise.
7441         * testsuite/20_util/is_unsigned/value.cc: Likewise.
7442         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
7443         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
7444         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
7445         Likewise.
7446         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7447         Likewise.
7449         * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
7451 2016-07-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
7453         Implement C++17 variable templates for type traits.
7454         * include/std/chrono (treat_as_floating_point_v): New.
7455         * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
7456         (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
7457         (ratio_greater_equal_v): Likewise.
7458         * include/std/system_error (is_error_code_enum_v)
7459         (is_error_condition_enum_v): Likewise.
7460         * include/std/tuple (tuple_size_v): Likewise.
7461         * type_traits (conjunction_v, disjunction_v, negation_v)
7462         (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
7463         (is_array_v, is_pointer_v, is_lvalue_reference_v)
7464         (is_rvalue_reference_v, is_member_object_pointer_v)
7465         (is_member_function_pointer_v, is_enum_v, is_union_v)
7466         (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
7467         (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
7468         (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
7469         (is_trivially_copyable_v, is_standard_layout_v)
7470         (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
7471         (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
7472         (is_constructible_v, is_default_constructible_v)
7473         (is_copy_constructible_v, is_move_constructible_v)
7474         (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
7475         (is_destructible_v, is_trivially_constructible_v)
7476         (is_trivially_default_constructible_v)
7477         (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
7478         (is_trivially_assignable_v, is_trivially_copy_assignable_v)
7479         (is_trivially_move_assignable_v, is_trivially_destructible_v)
7480         (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
7481         (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
7482         (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
7483         (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
7484         (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
7485         (is_same_v, is_base_of_v, is_convertible_v): Likewise.
7486         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
7487         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
7488         Likewise.
7489         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
7490         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
7491         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
7493 2016-07-29  Andreas Schwab  <schwab@linux-m68k.org>
7495         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
7496         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
7497         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
7499 2016-07-29  Jonathan Wakely  <jwakely@redhat.com>
7501         * doc/xml/manual/abi.xml: Document 6.0.22 library version.
7502         * doc/html/manual/abi.html: Regenerate.
7504         * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
7505         * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
7506         symbols.
7507         * configure: Regenerate.
7508         * testsuite/util/testsuite_abi.cc: Add new symbol version.
7510         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
7511         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
7512         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
7513         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
7514         Likewise.
7515         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
7516         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
7517         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
7519 2016-07-28  Jonathan Wakely  <jwakely@redhat.com>
7521         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
7522         Adjust dg-prune-output pattern for error in C++98 mode.
7523         * testsuite/23_containers/deque/requirements/dr438/
7524         constructor_1_neg.cc: Likewise.
7525         * testsuite/23_containers/deque/requirements/dr438/
7526         constructor_2_neg.cc: Likewise.
7527         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
7528         Likewise.
7529         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
7530         Likewise.
7531         * testsuite/23_containers/list/requirements/dr438/
7532         constructor_1_neg.cc: Likewise.
7533         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7534         Likewise.
7535         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
7536         Likewise.
7537         * testsuite/23_containers/vector/requirements/dr438/
7538         constructor_1_neg.cc: Likewise.
7539         * testsuite/23_containers/vector/requirements/dr438/
7540         constructor_2_neg.cc: Likewise.
7541         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
7542         Likewise.
7544         * testsuite/23_containers/vector/check_construct_destroy.cc: Account
7545         for different construct/destroy counts in C++98 mode.
7547         * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
7548         dg-options to dg-additional-options so that default options are used.
7549         * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
7550         Likewise.
7551         * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
7552         * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
7553         Likewise.
7554         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7555         Use dg-additional-options instead of repeating the common options.
7557         * testsuite/22_locale/conversions/string/1.cc: Remove unintended
7558         dg-do compile directive.
7559         * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
7560         dg-do directive.
7561         * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
7563 2016-07-28  Ville Voutilainen  <ville.voutilainen@gmail.com>
7565         Implement std::string_view and P0254r2,
7566         Integrating std::string_view and std::string.
7567         * include/Makefile.am: Add string_view and string_view.tcc
7568         to the exported headers.
7569         * include/Makefile.in: Likewise.
7570         * include/bits/basic_string.h: Include <string_view> in C++17 mode.
7571         (__sv_type): New.
7572         (basic_string(__sv_type, const _Alloc&)): Likewise.
7573         (operator=(__sv_type)): Likewise.
7574         (operator __sv_type()): Likewise.
7575         (operator+=(__sv_type)): Likewise.
7576         (append(__sv_type __sv)): Likewise.
7577         (append(__sv_type, size_type, size_type)): Likewise.
7578         (assign(__sv_type)): Likewise.
7579         (assign(__sv_type, size_type, size_type)): Likewise.
7580         (insert(size_type, __sv_type)): Likewise.
7581         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
7582         (replace(size_type, size_type, __sv_type)): Likewise.
7583         (replace(size_type, size_type, __sv_type, size_type, size_type)):
7584         Likewise.
7585         (replace(const_iterator, const_iterator, __sv_type)): Likewise.
7586         (find(__sv_type, size_type)): Likewise.
7587         (rfind(__sv_type, size_type)): Likewise.
7588         (find_first_of(__sv_type, size_type)): Likewise.
7589         (find_last_of(__sv_type, size_type)): Likewise.
7590         (find_first_not_of(__sv_type, size_type)): Likewise.
7591         (find_last_not_of(__sv_type, size_type)): Likewise.
7592         (compare(__sv_type)): Likewise.
7593         (compare(size_type, size_type, __sv_type)): Likewise.
7594         (compare(size_type, size_type, __sv_type, size_type, size_type)):
7595         Likewise.
7596         * include/bits/string_view.tcc: New.
7597         * include/std/string_view: Likewise.
7598         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
7599         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
7600         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
7601         Likewise.
7602         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
7603         Likewise.
7604         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
7605         Likewise.
7606         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
7607         Likewise.
7608         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
7609         Likewise.
7610         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
7611         Likewise.
7612         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
7613         Likewise.
7614         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
7615         Likewise.
7616         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
7617         Likewise.
7618         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
7619         Likewise.
7620         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
7621         Likewise.
7622         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
7623         Likewise.
7624         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
7625         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
7626         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
7627         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
7628         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
7629         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
7630         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
7631         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
7632         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
7633         * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
7634         Likewise.
7635         * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
7636         Likewise.
7637         * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
7638         Likewise.
7639         * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
7640         Likewise.
7641         * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
7642         Likewise.
7643         * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
7644         Likewise.
7645         * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
7646         Likewise.
7647         * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
7648         Likewise.
7649         * testsuite/21_strings/basic_string_view/include.cc: Likewise.
7650         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
7651         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
7652         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
7653         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
7654         Likewise.
7655         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
7656         Likewise.
7657         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
7658         Likewise.
7659         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
7660         Likewise.
7661         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
7662         Likewise.
7663         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
7664         Likewise.
7665         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
7666         Likewise.
7667         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
7668         Likewise.
7669         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
7670         Likewise.
7671         * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
7672         Likewise.
7673         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
7674         Likewise.
7675         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
7676         Likewise.
7677         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
7678         Likewise.
7679         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
7680         Likewise.
7681         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
7682         Likewise.
7683         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
7684         Likewise.
7685         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
7686         Likewise.
7687         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
7688         Likewise.
7689         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
7690         Likewise.
7691         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
7692         Likewise.
7693         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
7694         Likewise.
7695         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
7696         Likewise.
7697         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
7698         Likewise.
7699         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
7700         Likewise.
7701         * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
7702         Likewise.
7703         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
7704         Likewise.
7705         * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
7706         Likewise.
7707         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
7708         Likewise.
7709         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
7710         Likewise.
7711         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
7712         Likewise.
7713         * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
7714         Likewise.
7715         * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
7716         Likewise.
7717         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
7718         Likewise.
7719         * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
7720         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
7721         Likewise.
7722         * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
7723         Likewise.
7724         * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
7725         Likewise.
7726         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
7727         Likewise.
7728         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
7729         Likewise.
7730         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
7731         Likewise.
7732         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
7733         Likewise.
7734         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
7735         Likewise.
7736         * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
7737         Likewise.
7738         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
7739         * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
7741 2016-07-27  Jonathan Wakely  <jwakely@redhat.com>
7743         * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
7745 2016-07-25  Georeth Chow  <georeth2010@gmail.com>
7747         * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
7748         _S_concat enumerator.
7749         * testsuite/ext/rope/6.cc: New test.
7751 2016-07-25  Jonathan Wakely  <jwakely@redhat.com>
7753         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
7754         std::mt19937, std::thread and std::atomic to simplify test.
7755         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
7757 2016-07-22  Jonathan Wakely  <jwakely@redhat.com>
7759         PR libstdc++/71964
7760         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
7761         (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
7762         * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
7763         * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
7764         * testsuite/23_containers/set/allocator/71964.cc: New test.
7766         * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
7767         delete[] instead of delete.
7769 2016-07-21  Jonathan Wakely  <jwakely@redhat.com>
7771         * include/experimental/propagate_const (propagate_const::__t): Rename
7772         to _M_t and remove comment. Qualify std::move and std::forward.
7773         * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
7775         * testsuite/23_containers/vector/zero_sized_allocations.cc:
7776         Define sized deallocation function.
7777         * testsuite/util/testsuite_new_operators.h:
7778         (operator delete(void*, const std::nothrow_t&)): Define nothrow
7779         deallocation function.
7781         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
7782         reads past the end of strings.
7783         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
7784         Likewise.
7785         * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
7786         invalid array accesses.
7787         * testsuite/experimental/string_view/operations/compare/char/1.cc:
7788         Fix read past the end of string.
7789         * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
7791         * testsuite/24_iterators/container_access.cc: Fix missing returns.
7792         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
7794         * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
7795         leak) memory for arguments to placement delete.
7796         * testsuite/20_util/addressof/1.cc: Don't leak memory.
7797         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
7798         * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
7799         Likewise.
7801 2016-07-20  Jonathan Wakely  <jwakely@redhat.com>
7803         * doc/xml/manual/intro.xml: Document DR 2684 status.
7804         * doc/html/*: Regenerate.
7806         * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
7807         (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
7808         (atomic_uint64_t): Define (LWG 2441).
7809         * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
7810         lines.
7811         * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
7812         the new types.
7813         * doc/xml/manual/intro.xml: Document DR 2441 status.
7815         * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
7816         to use perfect forwarding (LWG 2328).
7817         * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
7818         * doc/xml/manual/intro.xml: Document DR 2328 status.
7820         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
7821         static objects for catching nullptr as pointer to member types.
7823 2016-07-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
7825         Clean up optional's comments.
7826         * include/std/optional: Remove incorrect section headers
7827         from comments when redundant, replace bare section
7828         headers with more descriptive comments.
7830 2016-07-15  Jonathan Wakely  <jwakely@redhat.com>
7832         * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
7833         * include/bits/move.h: Likewise.
7834         * include/bits/postypes.h: Likewise.
7835         * include/debug/bitset: Likewise.
7836         * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
7837         * include/ext/string_conversions.h: Change C++0x to __cxx11 in
7838         comment.
7839         * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
7840         * testsuite/util/thread/all.h: Likewise.
7842         * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
7843         and adjust comment.
7845         PR c++/58796
7846         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
7847         nullptr match handlers of pointer type.
7849 2016-07-15  Edward Smith-Rowland  <3dw4rd@verizon.net>
7851         Implement C++17 P0025 clamp.
7852         * include/bits/algorithmfwd.h: Declare clamp overloads.
7853         * include/bits/stl_algo.h: Implement clamp.  Feature __cpp_lib_clamp.
7854         * testsuite/25_algorithms/clamp/1.cc: New test.
7855         * testsuite/25_algorithms/clamp/2.cc: New test.
7856         * testsuite/25_algorithms/clamp/constexpr.cc: New test.
7857         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
7858         1.cc: New test.
7859         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
7860         pod.cc: New test.
7862 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
7864         Fix the constraints for any's assignment operator template to properly
7865         reject assignment from a non-copyable lvalue.
7866         * include/std/any (operator=(_ValueType&&)): Constrain the decayed
7867         type for is_copy_constructible,
7868         * testsuite/20_util/any/requirements.cc: Add a test for
7869         non-copyable lvalues.
7871 2016-07-14  Jonathan Wakely  <jwakely@redhat.com>
7873         * include/experimental/functional: Include <parallel/algorithm> in
7874         Parallel Mode.
7876         * testsuite/experimental/functional/searchers.cc: Include <algorithm>
7877         for std::search.
7879         PR libstdc++/70716
7880         * include/bits/forward_list.h (forward_list): Update doxygen comments
7881         to reflect allocator propagation semantics. Remove ambiguous
7882         statements about data being lost.
7883         * include/bits/stl_deque.h (deque): Likewise.
7884         * include/bits/stl_list.h (list): Likewise.
7885         * include/bits/stl_map.h (map): Likewise.
7886         * include/bits/stl_multimap.h (multimap): Likewise.
7887         * include/bits/stl_multiset.h (multiset): Likewise.
7888         * include/bits/stl_set.h (set): Likewise.
7889         * include/bits/stl_vector.h (vector): Likewise.
7890         * include/bits/unordered_map.h (unordered_map, unordered_multimap):
7891         Likewise.
7892         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
7893         Likewise.
7895 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
7897         Implement P0032R3, Homogeneous interface for variant, any and optional,
7898         for the parts concerning any and optional.
7899         * include/std/any (_Storage()): Make constexpr and have it
7900         initialize _M_ptr.
7901         (any()): Make constexpr.
7902         (any(const any&)): Adjust.
7903         (any(any&&)): Likewise.
7904         (__any_constructible_t): New.
7905         (any(_ValueType&&)): Constrain.
7906         (any(in_place_type_t<_Tp>, _Args&&...)): New.
7907         (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
7908         Likewise.
7909         (~any()): Adjust.
7910         (operator=(const any&)): Likewise.
7911         (operator=(any&&)): Likewise.
7912         (operator=(_ValueType&&)): Constrain.
7913         (emplace(_Args&&...)): New.
7914         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
7915         (clear()): Remove.
7916         (reset()): New.
7917         (swap(any&)): Adjust.
7918         (empty()): Remove.
7919         (has_value()): New.
7920         (type()): Adjust.
7921         (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
7922         (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
7923         (make_any(_Args&&...)): Likewise.
7924         (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
7925         * include/std/optional (in_place_t, in_place): Remove.
7926         (bad_optional_access): Add a comment referring to LEWG 72.
7927         (emplace(_Args&&...)): Constrain.
7928         (has_value()): New.
7929         (reset()): Likewise.
7930         (make_optional(_Args&&...)): Likewise.
7931         (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
7932         * include/std/utility (in_place_tag): New.
7933         (__in_place, __in_place_type, __in_place_index): Likewise.
7934         (in_place_t, in_place_type_t, in_place_index_t): Likewise.
7935         (in_place(__in_place*)): Likewise.
7936         (in_place(__in_place_type<_Tp>*)): Likewise.
7937         (in_place(__in_place_index<_Idx>*)): Likewise.
7938         * testsuite/20_util/any/assign/1.cc: Adjust.
7939         * testsuite/20_util/any/assign/emplace.cc: New.
7940         * testsuite/20_util/any/assign/self.cc: Adjust.
7941         * testsuite/20_util/any/cons/1.cc: Likewise.
7942         * testsuite/20_util/any/cons/in_place.cc: New.
7943         * testsuite/20_util/any/make_any.cc: Likewise.
7944         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
7945         * testsuite/20_util/any/misc/swap.cc: Likewise.
7946         * testsuite/20_util/any/modifiers/1.cc: Likewise.
7947         * testsuite/20_util/any/requirements.cc: New.
7948         * testsuite/20_util/in_place/requirements.cc: Likewise.
7949         * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
7950         * testsuite/20_util/optional/in_place.cc: Likewise.
7951         * testsuite/20_util/optional/make_optional.cc: Add tests for
7952         the new overloads of make_optional.
7954 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
7956         Implement P0307R2, Making Optional Greater Equal Again.
7957         * include/experimental/optional (_Has_addressof): Fix the comment.
7958         * include/std/optional (_Has_addressof): Likewise.
7959         (operator=(_Up&&)): Constrain.
7960         (operator=(const optional<_Up>&)): Likewise.
7961         (operator=(optional<_Up>&&)): Likewise.
7962         (__optional_relop_t): New.
7963         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7964         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
7965         Constrain and make transparent.
7966         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7967         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
7968         Constrain and make transparent.
7969         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7970         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7971         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
7972         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
7973         (operator!=(const optional<_Tp>&, _Tp const&)):
7974         Constrain and make transparent.
7975         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
7976         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
7977         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
7978         (operator>(const optional<_Tp>&, const _Tp&)):
7979         Constrain and make transparent.
7980         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
7981         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
7982         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
7983         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
7984         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
7985         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
7986         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
7987         * testsuite/20_util/optional/relops/1.cc: Likewise.
7988         * testsuite/20_util/optional/relops/2.cc: Likewise.
7989         * testsuite/20_util/optional/relops/3.cc: Likewise.
7990         * testsuite/20_util/optional/relops/4.cc: Likewise.
7991         * testsuite/20_util/optional/requirements.cc: Add tests to verify
7992         that optional's relops are transparent and don't synthesize
7993         operators. Also test that assignment sfinaes.
7995 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
7997         PR libstdc++/71856
7998         * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
7999         * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
8000         Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
8001         on _GLIBCXX_ASSERTIONS.
8002         * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
8003         Include <unistd.h> for sleep.
8004         * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
8005         * include/parallel/merge.h: Likewise.
8006         * include/parallel/multiway_merge.h: Likewise.
8007         * include/parallel/partition.h: Likewise.
8008         * include/parallel/queue.h: Likewise.
8009         * include/parallel/sort.h: Likewise.
8010         * testsuite/25_algorithms/headers/algorithm/
8011         parallel_algorithm_assert.cc: New.
8013         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
8014         (replace(__const_iterator, __const_iterator, initializer_list<C>)):
8015         Forward to different overload.
8017         * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
8018         static.
8020 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
8022         Revert "Add non-const overload of std::string::data()".
8024 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
8026         Implement P0307R2, Making Optional Greater Equal Again.
8027         * include/experimental/optional (_Has_addressof): Fix the comment.
8028         * include/std/optional (_Has_addressof): Likewise.
8029         (operator=(_Up&&)): Constrain.
8030         (operator=(const optional<_Up>&)): Likewise.
8031         (operator=(optional<_Up>&&)): Likewise.
8032         (__optional_relop_t): New.
8033         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8034         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
8035         Constrain and make transparent.
8036         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8037         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
8038         Constrain and make transparent.
8039         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8040         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8041         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
8042         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
8043         (operator!=(const optional<_Tp>&, _Tp const&)):
8044         Constrain and make transparent.
8045         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
8046         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
8047         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
8048         (operator>(const optional<_Tp>&, const _Tp&)):
8049         Constrain and make transparent.
8050         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
8051         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
8052         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
8053         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
8054         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
8055         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
8056         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8057         * testsuite/20_util/optional/relops/1.cc: Likewise.
8058         * testsuite/20_util/optional/relops/2.cc: Likewise.
8059         * testsuite/20_util/optional/relops/3.cc: Likewise.
8060         * testsuite/20_util/optional/relops/4.cc: Likewise.
8061         * testsuite/20_util/optional/requirements.cc: Add tests to verify
8062         that optional's relops are transparent and don't synthesize
8063         operators. Also test that assignment sfinaes.
8065 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
8067         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
8068         New function.
8069         (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
8070         instead of _M_data().
8071         (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
8072         Likewise.
8073         (append(const basic_string&)): Likewise.
8074         (append(const basic_string&, size_type, size_type)): Likewise.
8075         (assign(const basic_string&, size_type, size_type)): Likewise.
8076         (insert(size_type, const basic_string&)): Likewise.
8077         (insert(size_type, const basic_string&, size_type, size_type)):
8078         Likewise.
8079         (replace(size_type, size_type, const basic_string&, size_type,
8080         size_type)): Likewise.
8081         (replace(__const_iterator, __const_iterator, const basic_string&)):
8082         Likewise.
8083         (c_str(), data()): Use c_str() instead of _M_data().
8084         (data()): Add non-const overload as per LWG 2391 and P0272R1.
8085         (compare(const basic_string&)): Use data() instead of _M_data().
8086         [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
8087         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
8088         Pass raw pointers to _S_copy.
8089         (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
8090         _S_assign.
8091         (find(const _CharT*, size_type, size_type)): Use data instead of
8092         _M_data().
8093         * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
8094         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
8095         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
8097 2016-07-12  Jonathan Wakely  <jwakely@redhat.com>
8099         * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
8100         * doc/xml/manual/intro.xml: Document DR 2458 status.
8101         * doc/html*: Regenerate.
8103         * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
8104         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
8105         Only include <array>.
8106         * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
8107         Likewise.
8108         * doc/xml/manual/intro.xml: Document LWG 2212 support.
8109         * doc/html*: Regenerate.
8111         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8112         Add testcase from LWG 2164.
8114 2016-07-11  François Dumont  <fdumont@gcc.gnu.org>
8116         * include/bits/stl_vector.h (push_back(const value_type&)): Forward
8117         to _M_realloc_insert.
8118         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
8119         (_M_realloc_insert): Declare new function.
8120         (_M_emplace_back_aux): Remove definition.
8121         * include/bits/vector.tcc (emplace_back(_Args...)):
8122         Use _M_realloc_insert.
8123         (insert(const_iterator, const value_type&)): Likewise.
8124         (_M_insert_rval, _M_emplace_aux): Likewise.
8125         (_M_emplace_back_aux): Remove declaration.
8126         (_M_realloc_insert): Define.
8127         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
8128         Adjust expected results for emplacing an lvalue with reallocation.
8130 2016-07-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
8132         Implement std::optional.
8133         * include/Makefile.am: Add optional to exported headers.
8134         * include/Makefile.in: Likewise.
8135         * include/std/optional: New.
8136         * testsuite/20_util/optional/typedefs.cc: Likewise.
8137         * testsuite/20_util/optional/relops/2.cc: Likewise.
8138         * testsuite/20_util/optional/relops/3.cc: Likewise.
8139         * testsuite/20_util/optional/relops/4.cc: Likewise.
8140         * testsuite/20_util/optional/relops/5.cc: Likewise.
8141         * testsuite/20_util/optional/relops/1.cc: Likewise.
8142         * testsuite/20_util/optional/relops/6.cc: Likewise.
8143         * testsuite/20_util/optional/nullopt.cc: Likewise.
8144         * testsuite/20_util/optional/in_place.cc: Likewise.
8145         * testsuite/20_util/optional/make_optional.cc: Likewise.
8146         * testsuite/20_util/optional/assignment/2.cc: Likewise.
8147         * testsuite/20_util/optional/assignment/3.cc: Likewise.
8148         * testsuite/20_util/optional/assignment/4.cc: Likewise.
8149         * testsuite/20_util/optional/assignment/5.cc: Likewise.
8150         * testsuite/20_util/optional/assignment/1.cc: Likewise.
8151         * testsuite/20_util/optional/assignment/6.cc: Likewise.
8152         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
8153         * testsuite/20_util/optional/cons/default.cc: Likewise.
8154         * testsuite/20_util/optional/cons/move.cc: Likewise.
8155         * testsuite/20_util/optional/cons/value.cc: Likewise.
8156         * testsuite/20_util/optional/cons/copy.cc: Likewise.
8157         * testsuite/20_util/optional/requirements.cc: Likewise.
8158         * testsuite/20_util/optional/observers/2.cc: Likewise.
8159         * testsuite/20_util/optional/observers/3.cc: Likewise.
8160         * testsuite/20_util/optional/observers/4.cc: Likewise.
8161         * testsuite/20_util/optional/observers/5.cc: Likewise.
8162         * testsuite/20_util/optional/observers/1.cc: Likewise.
8163         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
8164         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
8165         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8166         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
8167         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
8168         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
8169         * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
8170         * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
8171         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
8172         * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
8173         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
8174         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
8175         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
8176         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
8177         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
8178         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
8179         * testsuite/20_util/optional/swap/1.cc: Likewise.
8181 2016-07-08  Jonathan Wakely  <jwakely@redhat.com>
8183         * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
8185 2016-07-07  Jonathan Wakely  <jwakely@redhat.com>
8187         * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
8188         * doc/html/*: Regenerate.
8190 2016-07-07  Ville Voutilainen  <ville.voutilainen@gmail.com>
8192         Implement std::any.
8193         * include/Makefile.am: Add any and c++17_warning.h to exported headers.
8194         * include/Makefile.in: Likewise.
8195         * include/std/any: New.
8196         * testsuite/20_util/any/assign/1.cc: Likewise.
8197         * testsuite/20_util/any/assign/2.cc: Likewise.
8198         * testsuite/20_util/any/assign/self.cc: Likewise.
8199         * testsuite/20_util/any/cons/1.cc: Likewise.
8200         * testsuite/20_util/any/cons/2.cc: Likewise.
8201         * testsuite/20_util/any/cons/aligned.cc: Likewise.
8202         * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
8203         * testsuite/20_util/any/misc/any_cast.cc: Likewise.
8204         * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
8205         * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
8206         * testsuite/20_util/any/misc/swap.cc: Likewise.
8207         * testsuite/20_util/any/modifiers/1.cc: Likewise.
8208         * testsuite/20_util/any/observers/type.cc: Likewise.
8209         * testsuite/20_util/any/typedefs.cc: Likewise.
8211 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8213         Add a new header for diagnosing the use of C++17 facilities
8214         in pre-C++17 modes.
8215         * include/bits/c++17_warning.h: New.
8217 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8219         Implement LWG 2451, optional<T> should 'forward' T's
8220         implicit conversions.
8221         * include/experimental/optional (__is_optional_impl, __is_optional):
8222         New.
8223         (optional()): Make constexpr and default.
8224         (optional(_Up&&), optional(const optional<_Up>&),
8225         optional(optional<_Up>&& __t): New.
8226         (operator=(_Up&&)): Constrain.
8227         (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
8228         * testsuite/experimental/optional/cons/value.cc:
8229         Add tests for the functionality added by LWG 2451.
8230         * testsuite/experimental/optional/cons/value_neg.cc: New.
8232 2016-07-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8234         Implement LWG 2509,
8235         any_cast doesn't work with rvalue reference targets and cannot
8236         move with a value target.
8237         * include/experimental/any (any(_ValueType&&)): Constrain and
8238         add an overload that doesn't forward.
8239         (any_cast(any&&)): Constrain and add an overload that moves.
8240         * testsuite/experimental/any/misc/any_cast.cc: Add tests for
8241         the functionality added by LWG 2509.
8243 2016-07-04  François Dumont  <fdumont@gcc.gnu.org>
8245         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8246         New test.
8247         * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
8248         test.
8250 2016-07-04  Jonathan Wakely  <jwakely@redhat.com>
8252         * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
8253         Define inline. Forward to _M_emplace_aux.
8254         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
8255         (_M_insert_rval, _M_emplace_aux): Declare new functions.
8256         (_Temporary_value): New RAII type using allocator to construct/destroy.
8257         (_S_insert_aux_assign): Remove.
8258         (_M_insert_aux): Make non-variadic.
8259         * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
8260         Use _Temporary_value.
8261         (emplace(const_iterator, _Args&&...)): Remove definition.
8262         (_M_insert_rval, _M_emplace_aux): Define.
8263         (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
8264         (_M_fill_insert): Use _Temporary_value.
8265         * testsuite/23_containers/vector/allocator/construction.cc: New test.
8266         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
8267         Adjust expected results for emplacing an lvalue with reallocation.
8268         * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
8269         expected results to account for construction/destruction of temporary
8270         using allocator.
8271         * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
8273 2016-07-04  Ville Voutilainen  <ville.voutilainen@gmail.com>
8275         PR libstdc++/71313
8276         * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
8277         Call remove_all for children of a directory.
8278         * testsuite/experimental/filesystem/operations/create_directories.cc:
8279         Adjust.
8281 2016-07-02  François Dumont  <fdumont@gcc.gnu.org>
8283         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
8284         dg-error line numbers.
8285         * testsuite/23_containers/array/tuple_interface/
8286         tuple_element_debug_neg.cc: Likewise.
8287         * testsuite/25_algorithms/lexicographical_compare/debug/
8288         irreflexive_neg.cc: Remove.
8290 2016-06-30  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8292         * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
8293         than specific target.
8295 2016-06-27  François Dumont  <fdumont@gcc.gnu.org>
8297         PR libstdc++/71640
8298         * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
8299         friend declaration.
8301 2016-06-23  François Dumont  <fdumont@gcc.gnu.org>
8303         * include/debug/array (array<>::swap): Fix noexcept qualificaton for
8304         zero-size array.
8306 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8308         * configure.host: Remove mep-* support.
8310 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8312         * configure: Regenerate.
8313         * configure.host: Remove support for knetbsd.
8314         * crossconfig.m4: Likewise.
8316 2016-06-20  François Dumont  <fdumont@gcc.gnu.org>
8318         PR libstdc++/71181
8319         * include/tr1/hashtable_policy.h
8320         (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
8321         dereferenceable to avoid check on lower_bound result.
8322         (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
8323         (_Prime_rehash_policy::_M_need_rehash): Likewise.
8324         * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
8325         Always return a value greater than input value. Set _M_next_resize to
8326         max value when reaching highest prime number.
8327         * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
8328         being now useless.
8329         * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
8330         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
8331         (test02): New.
8332         * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
8333         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8334         Fix indentation.
8336 2016-06-17  Jonathan Wakely  <jwakely@redhat.com>
8338         PR libstdc++/71545
8339         * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
8340         Remove irreflexive checks.
8341         * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
8342         binary_search): Likewise.
8343         * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
8344         * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
8345         * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
8346         * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
8347         * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
8348         Add constructor from array.
8350 2016-06-16  François Dumont  <fdumont@gcc.gnu.org>
8352         * include/debug/debug.h
8353         (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
8354         (__glibcxx_requires_subscript): Move...
8355         * include/debug/assertions.h: ...here and add __builtin_expect.
8356         (_GLIBCXX_DEBUG_ONLY): Remove ; value.
8357         * include/bits/stl_deque.h
8358         (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
8359         (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
8360         (std::deque<>::back()): Likewise.
8361         (std::deque<>::pop_front()): Likewise.
8362         (std::deque<>::pop_back()): Likewise.
8363         (std::deque<>::swap(deque&)): Add allocator check.
8364         * include/bits/stl_vector.h
8365         (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
8366         (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
8367         (std::vector<>::back()): Likewise.
8368         (std::vector<>::pop_back()): Likewise.
8369         (std::vector<>::swap(vector&)): Add allocator check.
8371 2016-06-16  Daniel Kruegler  <daniel.kruegler@gmail.com>
8373         Provide swappable traits (p0185r1)
8374         * include/std/type_traits (is_swappable, is_nothrow_swappable,
8375         is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
8376         is_nothrow_swappable_v, is_swappable_with_v,
8377         is_nothrow_swappable_with_v): New.
8378         * include/bits/stl_pair.h: Use it as per p0185r1.
8379         * include/bits/stl_queue.h: Likewise.
8380         * include/bits/stl_stack.h: Likewise.
8381         * include/bits/unique_ptr.h: Likewise.
8382         * include/std/tuple: Likewise.
8383         * include/std/array: Likewise. Fix zero-size member swap.
8384         * include/bits/hashtable.h: Use __and_.
8385         * testsuite/20_util/is_nothrow_swappable/requirements/
8386         explicit_instantiation.cc: Change test options to std=gnu++17.
8387         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
8388         Likewise.
8389         * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
8390         * testsuite/20_util/is_swappable/requirements/
8391         explicit_instantiation.cc: Likewise.
8392         * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
8393         * testsuite/20_util/is_swappable/value.cc: Likewise.
8394         * testsuite/20_util/is_nothrow_swappable/requirements/
8395         explicit_instantiation_ext.cc: New.
8396         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
8397         New.
8398         * testsuite/20_util/is_nothrow_swappable/value.h: New.
8399         * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
8400         * testsuite/20_util/is_nothrow_swappable_with/requirements/
8401         explicit_instantiation.cc: New.
8402         * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
8403         New.
8404         * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
8405         * testsuite/20_util/is_swappable/requirements/
8406         explicit_instantiation_ext.cc: New.
8407         * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
8408         * testsuite/20_util/is_swappable/value.h: New.
8409         * testsuite/20_util/is_swappable/value_ext.cc: New.
8410         * testsuite/20_util/is_swappable_with/requirements/
8411         explicit_instantiation.cc: New.
8412         * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
8413         * testsuite/20_util/is_swappable_with/value.cc: New.
8414         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
8415         dg-error line numbers.
8416         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
8417         Likewise.
8419 2016-06-16  Jonathan Wakely  <jwakely@redhat.com>
8421         * include/std/array: Remove trailing whitespace.
8422         * include/std/atomic: Likewise.
8423         * include/std/bitset: Likewise.
8424         * include/std/chrono: Likewise.
8425         * include/std/complex: Likewise.
8426         * include/std/condition_variable: Likewise.
8427         * include/std/fstream: Likewise.
8428         * include/std/functional: Likewise.
8429         * include/std/future: Likewise.
8430         * include/std/iomanip: Likewise.
8431         * include/std/iosfwd: Likewise.
8432         * include/std/istream: Likewise.
8433         * include/std/limits: Likewise.
8434         * include/std/ratio: Likewise.
8435         * include/std/scoped_allocator: Likewise.
8436         * include/std/sstream: Likewise.
8437         * include/std/stdexcept: Likewise.
8438         * include/std/string: Likewise.
8439         * include/std/system_error: Likewise.
8440         * include/std/thread: Likewise.
8441         * include/std/tuple: Likewise.
8442         * include/std/type_traits: Likewise.
8443         * include/std/utility: Likewise.
8444         * include/std/valarray: Likewise.
8445         * include/std/vector: Likewise.
8447         * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
8448         new overloaded functions.
8449         * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
8450         to avoid creating a redundant temporary.
8451         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
8452         test.
8454 2016-06-15  François Dumont  <fdumont@gcc.gnu.org>
8456         * include/bits/stl_deque.h
8457         (std::deque<>::operator=): Call _M_assign_aux.
8458         (std::deque<>::assign(initializer_list<>)): Likewise.
8459         (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8460         (std::deque<>::insert(const_iterator, initializer_list<>)):
8461         Call _M_range_insert_aux.
8462         (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
8463         Likewise.
8464         (std::deque<>::_M_fill_assign): Call _M_fill_insert.
8465         (std::deque<>::_M_move_assign2): Call _M_assign_aux.
8466         * include/bits/deque.tcc
8467         (std::deque<>::operator=): Call _M_range_insert_aux.
8468         (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
8469         Likewise.
8470         * include/bits/stl_vector.h
8471         (std::vector<>::operator=): Call _M_assign_aux.
8472         (std::vector<>::assign(initializer_list<>)): Likewise.
8473         (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8474         (std::vector<>::insert(const_iterator, initializer_list<>)):
8475         Call _M_range_insert.
8476         * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
8478 2016-06-07  François Dumont  <fdumont@gcc.gnu.org>
8480         * include/std/tuple (_Head_base<>): Default specialization condition at
8481         type declaration.
8483 2016-06-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8485         Support allocators in tuples of zero size.
8486         * include/std/tuple (tuple<>::tuple(),
8487         tuple<>::tuple(allocator_arg_t, const _Alloc&),
8488         tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
8489         * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
8491 2016-06-06  Jonathan Wakely  <jwakely@redhat.com>
8493         PR libstdc++/71320
8494         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
8495         Add or remove permissions according to perms argument.
8496         * testsuite/experimental/filesystem/operations/permissions.cc: New
8497         test.
8499 2016-06-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8501         Protect allocator-overloads of tuple-from-tuple constructors
8502         from cases that would create dangling references.
8503         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8504         const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
8505         tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
8506         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
8508 2016-05-29  Gerald Pfeifer  <gerald@pfeifer.com>
8510         * doc/xml/manual/backwards_compatibility.xml: Adjust
8511         lists.debian.org link to https.
8512         * doc/html/manual/backwards.html: Regenerate.
8514 2016-05-27  Jonathan Wakely  <jwakely@redhat.com>
8516         * doc/xml/manual/abi.xml: Adjust URL to use https.
8517         * doc/html/manual/*: Regenerate.
8519 2016-05-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
8521         PR libstdc++/66338
8522         * include/std/tuple (_TMC): Add a check for _NotSameTuple.
8523         * include/std/tuple (tuple(_UElements&&...)): Remove the separate
8524         check for _NotSameTuple.
8525         * include/std/tuple (_TMCT): New.
8526         * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
8527         * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
8528         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8529               const tuple<_UElements...>&)): Likewise.
8530         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8531               tuple<_UElements...>&&)): Likewise.
8532         * testsuite/20_util/tuple/cons/66338.cc: New.
8534 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
8536         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
8537         * configure: Regenerate.
8538         * config.h.in: Regenerate.
8540         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
8541         * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
8542         Remove const qualification on function. Replace
8543         _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
8544         (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
8545         (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
8547 2016-05-24  François Dumont  <fdumont@gcc.gnu.org>
8549         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
8550         * include/bits/hashtable_policy.h
8551         (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
8552         having load factor management.
8553         (_Mask_range_hashing): New.
8554         (__clp2): New.
8555         (_Power2_rehash_policy): New.
8556         (_Inserts<>): Remove last template parameter, _Unique_keys, so that
8557         partial specializations only depend on whether iterators are constant
8558         or not.
8559         * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
8560         test new hash policy.
8561         * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
8562         Likewise.
8563         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8564         Likewise.
8565         * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
8566         Likewise.
8567         * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
8568         Likewise.
8569         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
8570         New.
8571         * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
8572         using the new hash policy.
8573         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
8575 2016-05-24  Jonathan Wakely  <jwakely@redhat.com>
8577         * include/bits/stl_queue.h (priority_queue::value_compare): Define.
8579 2016-05-23  François Dumont  <fdumont@gcc.gnu.org>
8581         * include/debug/safe_iterator.h
8582         (_Safe_iterator<>::operator->()): Implement using underlying iterator
8583         operator ->.
8584         * include/debug/safe_local_iterator.h
8585         (_Safe_local_iterator<>::operator->()): Likewise.
8587 2016-05-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8589         * testsuite/experimental/memory_resource/1.cc: Add required argument
8590         to dg-require-atomic-builtins.
8592 2016-05-13  Jonathan Wakely  <jwakely@redhat.com>
8594         PR libstdc++/71073
8595         * include/debug/bitset: Add #pragma GCC system_header.
8596         * include/debug/deque: Likewise.
8597         * include/debug/list: Likewise.
8598         * include/debug/map: Likewise.
8599         * include/debug/set: Likewise.
8600         * include/debug/string: Likewise.
8601         * include/debug/unordered_map: Likewise.
8602         * include/debug/unordered_set: Likewise.
8603         * include/debug/vector: Likewise.
8604         * include/debug/functions.h: Adjust whitespace.
8606 2016-05-12  Jonathan Wakely  <jwakely@redhat.com>
8608         PR libstdc++/71081
8609         * testsuite/experimental/memory_resource/1.cc: Require atomics.
8611 2016-05-11  Jonathan Wakely  <jwakely@redhat.com>
8613         PR libstdc++/71049
8614         * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
8615         exception constructors with __sso_string parameters.
8617 2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
8619         * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
8620         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8621         Test begin and end functions.
8622         * testsuite/experimental/filesystem/iterators/
8623         recursive_directory_iterator.cc: Likewise.
8625         PR libstdc++/71038
8626         * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
8627         * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
8629         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8630         Overload operator* to move from rvalues.
8632         PR libstdc++/71036
8633         * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
8634         * testsuite/experimental/filesystem/operations/create_directory.cc:
8635         New test.
8637         PR libstdc++/71037
8638         * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
8639         base path to exception.
8640         * testsuite/experimental/filesystem/operations/canonical.cc: Test
8641         paths contained in exception.
8643         * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
8644         using declaration.
8646         PR libstdc++/71005
8647         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8648         New type.
8649         (directory_iterator::operator++(int)): Return proxy.
8650         (recursive_directory_iterator::operator++(int)): Likewise.
8651         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8652         Test post-increment.
8653         * testsuite/experimental/filesystem/iterators/
8654         recursive_directory_iterator.cc: Likewise.
8656 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
8658         PR libstdc++/71004
8659         * testsuite/experimental/filesystem/iterators/
8660         recursive_directory_iterator.cc: Fix test02 to not call member
8661         functions on invalid iterator, and use VERIFY not assert.
8663 2016-05-09  Ville Voutilainen  <ville.voutilainen@gmail.com>
8665         Avoid endless run-time recursion for copying single-element
8666         tuples where the element type is by-value constructible
8667         from any type.
8668         * include/std/tuple (_NotSameTuple): New.
8669         * include/std/tuple (tuple(_UElements&&...): Use it.
8670         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
8672 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
8674         PR libstdc++/71004
8675         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
8676         Initialize scalar member variables in default constructor.
8677         * testsuite/experimental/filesystem/iterators/
8678         recursive_directory_iterator.cc: Test default construction.
8680 2016-05-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8682         * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
8684 2016-05-05  Jonathan Wakely  <jwakely@redhat.com>
8686         * testsuite/experimental/filesystem/path/native/string.cc: Add
8687         dg-require-filesystem-ts directive.
8689 2016-05-04  Jonathan Wakely  <jwakely@redhat.com>
8691         PR libstdc++/70940
8692         * include/experimental/memory_resource
8693         (__resource_adaptor_imp::do_allocate): Do not default-construct
8694         rebound allocator.
8695         (__resource_adaptor_imp::do_deallocate): Likewise. Use
8696         allocator_traits to get pointer type.
8697         (__null_memory_resource::do_allocate): Remove unused parameters.
8698         (__null_memory_resource::do_deallocate): Likewise.
8699         (__null_memory_resource::do_is_equal): Likewise. Add return statement.
8700         * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
8701         * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
8702         move to ...
8703         * testsuite/experimental/memory_resource/1.cc: Here.
8704         * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
8705         * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
8707 2016-04-29  Chris Gregory  <czipperz@gmail.com>
8709         * config/*: Remove trailing whitespace.
8710         * src/*: Likewise.
8711         * testsuite/tr1/*: Likewise.
8712         * testsuite/util/*: Likewise.
8714 2016-04-28  Jonathan Wakely  <jwakely@redhat.com>
8716         PR libstdc++/70766
8717         * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
8718         __addressof.
8719         * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
8720         Likewise.
8721         * include/std/atomic (atomic<_Tp>): Likewise.
8722         * include/std/shared_mutex (shared_lock): Likewise.
8723         * testsuite/24_iterators/istream_iterator/70766.cc: New test.
8724         * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
8725         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
8726         * testsuite/29_atomics/atomic/70766.cc: New test.
8727         * testsuite/30_threads/shared_lock/70766.cc: New test.
8729         * include/bits/hashtable_policy.h (__detail::_Insert_base,
8730         __detail::_Insert): Improve comments.
8732 2016-04-27  Jonathan Wakely  <jwakely@redhat.com>
8734         PR libstdc++/70767
8735         * include/std/limits: Update comments about DRs.
8736         (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
8737         numeric_limits<const volatile _Tp>): Define unconditionally.
8739 2016-04-24  Jonathan Wakely  <jwakely@redhat.com>
8741         PR libstdc++/70762
8742         * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
8743         static counter to return a different path on every call.
8745 2016-04-22  Tim Shen  <timshen@google.com>
8747         PR libstdc++/70745
8748         * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
8749         Fix the match_not_bow and match_not_eow behavior.
8750         * testsuite/28_regex/regression.cc: Add testcase.
8752 2016-04-20  Jonathan Wakely  <jwakely@redhat.com>
8754         PR libstdc++/69703
8755         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
8756         __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
8758 2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
8760         PR libstdc++/69703
8761         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
8762         Override endianness bit in mode.
8763         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
8764         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
8765         that little_endian mode is ignored.
8766         * testsuite/experimental/filesystem/path/native/string.cc: New test.
8768         PR libstdc++/70609
8769         * src/filesystem/ops.cc (close_fd): New function.
8770         (do_copy_file): Set permissions before copying file contents. Check
8771         result of closing file descriptors. Don't copy streambuf when file
8772         is empty.
8773         (copy(const path&, const path&, copy_options, error_code&)): Use
8774         lstat for source file when copy_symlinks is set.
8775         * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
8777         * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
8778         operator~ operator&=, operator|=, operator^=): Add noexcept to
8779         overloaded operators for copy_options, perms and directory_options.
8780         * src/filesystem/ops.cc (make_file_type, make_file_status,
8781         is_not_found_errno, file_time): Add noexcept.
8783 2016-04-19  Edward Smith-Rowland  <3dw4rd@verizon.net>
8785         * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
8787 2016-04-18  Jonathan Wakely  <jwakely@redhat.com>
8789         PR libstdc++/41759
8790         * include/bits/random.h: Reword static assertion messages to state
8791         positive conditions.
8792         * include/bits/random.tcc: Likewise.
8793         * include/bits/uniform_int_dist.h: Likewise.
8794         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
8795         patterns.
8797         * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
8799         * config/cpu/sh/atomicity.h: Fix typo in comment.
8801         PR libstdc++/70294
8802         * include/std/thread (operator<, operator==): Move definitions to
8803         namespace-scope.
8804         * testsuite/30_threads/thread/id/70294.cc: New test.
8806         * testsuite/18_support/bad_exception/23591_thread-1.c: Add
8807         -Wno-pedantic to dg-options.
8808         * testsuite/20_util/align/2.cc: Use type as operand of alignof.
8809         * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
8810         to dg-options.
8811         * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
8812         Remove extra semi-colon.
8813         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
8814         Always supply second argument to static_assert.
8815         * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
8816         semi-colon.
8817         * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
8818         dg-options.
8819         * testsuite/26_numerics/complex/literals/values.cc: Likewise.
8820         * testsuite/29_atomics/atomic/60695.cc: Likewise.
8821         * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
8822         alignof when operand is an object not a type.
8823         * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
8824         * testsuite/decimal/make-decimal.cc: Likewise.
8825         * testsuite/experimental/type_traits/value.cc: Always supply second
8826         argument to static_assert.
8827         * testsuite/util/testsuite_common_types.h: Use __extension__ for
8828         __int128 types.
8830         * testsuite/experimental/type_erased_allocator/1.cc: Don't include
8831         internal header.
8832         * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
8833         * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
8834         * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
8835         Likewise. Add licence and change to compile-only test.
8837         * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
8838         unused parameter.
8839         * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
8841         * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
8842         warnings.
8844 2016-04-17  Edward Smith-Rowland  <3dw4rd@verizon.net>
8846         * include/bits/specfun.h: Trivial comment misspelling.
8848 2016-04-14  Jason Merrill  <jason@redhat.com>
8850         Revert Jonathan's empty ABI change from yesterday.
8852 2016-04-13  Martin Sebor  <msebor@redhat.com>
8854         PR c++/69517
8855         * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
8856         upper bound is positive.
8858 2016-04-13  Jonathan Wakely  <jwakely@redhat.com>
8860         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
8861         _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
8862         * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
8863         of functions taking empty structs by value. Add a template parameter
8864         to overloads without hints. Rename overloads with hints to
8865         _M_emplace_hint.
8866         (_Hashtable::_M_erase(true_type, const_iterator),
8867         _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
8868         by reordering parameters.
8869         * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
8870         _M_emplace_hint instead of _M_emplace.
8871         * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
8872         shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
8873         * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
8874         __shared_ptr): Likewise.
8875         * include/bits/stl_algo.h (replace_if): Likewise.
8876         * include/bits/stl_pair.h (piecewise_construct_t,
8877         piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
8878         * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
8879         __uses_alloc0): Likewise.
8880         * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
8881         * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
8882         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
8883         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
8884         * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
8885         * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
8886         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
8888 2016-04-12  Edward Smith-Rowland  <3dw4rd@verizon.net>
8890         Document C++17/TR29124 C++ Special Math Functions.
8891         * include/bits/specfun.h: Add Doxygen markup.
8893 2016-04-07  Jonathan Wakely  <jwakely@redhat.com>
8895         * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
8897 2016-04-06  Eric Botcazou  <ebotcazou@adacore.com>
8899         * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
8900         * src/Makefile.in: Regenerate.
8902 2016-04-05  Jonathan Wakely  <jwakely@redhat.com>
8904         PR libstdc++/70554
8905         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
8906         __atomic_fetch_add for bool.
8907         * configure: Regenerate.
8909         * testsuite/30_threads/thread/70503.cc: Require -static to work.
8911         PR libstdc++/70503
8912         * src/c++11/thread.cc (execute_native_thread_routine,
8913         execute_native_thread_routine_compat): Give internal linkage.
8914         * testsuite/30_threads/thread/70503.cc: New test.
8916 2016-04-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8918         PR libstdc++/70437
8919         * include/bits/stl_pair.h (_ConstructiblePair,
8920         _ImplicitlyConvertiblePair, _MoveConstructiblePair,
8921         _ImplicitlyMoveConvertiblePair): Add shortcut conditions
8922         for same-type cases.
8923         * testsuite/20_util/pair/70437.cc: New.
8925 2016-03-24  Jonathan Wakely  <jwakely@redhat.com>
8927         PR libstdc++/69945
8928         * config/abi/pre/gnu.ver: Add new symbol.
8929         * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
8930         * testsuite/18_support/free_eh_pool.cc: New test.
8932 2016-03-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8934         * include/Makefile.am (install-freestanding-headers): Add
8935         concept_check.h and move.h to the installed headers.
8936         * include/Makefile.in: Regenerated.
8937         * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
8938         freestanding implementations.
8939         * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
8940         that this macro has no effect for freestanding implementations.
8941         * doc/html/manual/using_macros.html: Likewise.
8943 2016-02-24  Jonathan Wakely  <jwakely@redhat.com>
8945         PR libstdc++/69939
8946         * include/experimental/tuple (__apply_impl): Qualify get and forward.
8948 2016-02-23  Jonathan Wakely  <jwakely@redhat.com>
8950         * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
8951         * doc/html/*: Regenerate.
8953         PR libstdc++/69893
8954         * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
8955         exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
8956         llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
8957         nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
8958         trunc) [__cplusplus >= 201103L]: Import from namespace std.
8959         (fabs) [__cplusplus < 201103L]: Import from namespace std.
8960         * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
8961         Likewise.
8962         * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
8963         namespace before including TR1 headers.
8964         * testsuite/tr1/headers/c++200x/math.cc: New test.
8966 2016-02-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8968         PR libstdc++/69881
8969         * include/c_global/cstdarg: Undefine __need___va_list.
8970         * include/c_global/cstddef: Undefine all kinds of __need_*.
8972 2016-02-16  Tim Shen  <timshen@google.com>
8974         PR libstdc++/69794
8975         * include/bits/regex_scanner.h: Add different special character
8976         sets for grep and egrep regex.
8977         * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
8978         * testsuite/28_regex/regression.cc: Add new testcase.
8980 2016-02-08  Jonathan Wakely  <jwakely@redhat.com>
8982         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
8983         added 'constexpr' in previous commit.
8984         * configure: Regenerate.
8986         PR libstdc++/48891
8987         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
8988         checks for all targets except *-*-solaris2.* and ensure we find the
8989         libc math.h header not our own.
8990         * configure: Regenerate.
8992 2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
8994         * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
8995         New file.  Copied over from s390-linux-gnu.
8997 2016-02-04  Jonathan Wakely  <jwakely@redhat.com>
8999         PR libstdc++/69626
9000         * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
9001         with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
9002         * config.h.in: Regenerate.
9003         * configure: Regenerate.
9004         * testsuite/21_strings/c_strings/char/69626.cc: New.
9006         * doc/html/index.html: Regenerate.
9008         * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
9009         * doc/xml/manual/spine.xml: Update copyright years and author blurb.
9010         * doc/html/*: Regenerate.
9012 2016-02-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
9014         PR libstdc++/69581
9015         * include/c_compatibility/math.h: Move header guards.
9016         * include/c_compatibility/stdlib.h: Likewise.
9018 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
9020         PR libstdc++/69506
9021         * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9023 2016-01-28  John David Anglin  <danglin@gcc.gnu.org>
9025         PR libstdc++/69450
9026         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
9027         isinf and isnan functions into two independent checks.  Check on hpux.
9028         * config.h.in: Regenerate.
9029         * configure: Regenerate.
9030         * include/c_global/cmath (isinf(double), isnan(double)): Use
9031         _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
9032         respectively.
9034 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
9036         * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
9038 2016-01-27  Jonathan Wakely  <jwakely@redhat.com>
9040         PR libstdc++/69295
9041         * testsuite/ext/special_functions/hyperg/check_value.cc: Use
9042         -ffp-contract=off, and -ffloat-store to disable excess precision.
9043         * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
9044         -ffp-contract=off.
9046 2016-01-26  Jonathan Wakely  <jwakely@redhat.com>
9048         PR libstdc++/69478
9049         * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
9050         random_access_iterator_tag>): Check is_move_assignable when moving.
9051         (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
9052         Likewise.
9053         * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
9054         * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
9055         * testsuite/25_algorithms/move/69478.cc: New.
9056         * testsuite/25_algorithms/move_backward/69478.cc: new.
9058 2016-01-26  Andris Pavenis  <andris.pavenis@iki.fi>
9060         * include/c_compatibility/stdlib.h: Include wide character related
9061         definitions only when they are available in cstdlib.
9063 2016-01-25  Jonathan Wakely  <jwakely@redhat.com>
9065         PR libstdc++/69464
9066         * include/Makefile.am: Add new header.
9067         * include/Makefile.in: Regenerate.
9068         * include/bits/random.h (uniform_int_distribution): Move to
9069         bits/uniform_int_dist.h.
9070         * include/bits/random.tcc (uniform_int_distribution::operator(),
9071         uniform_int_distribution::__generate_impl): Likewise.
9072         * include/bits/uniform_int_dist.h: New header.
9073         * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
9074         <bits/uniform_int_dist.h> instead of <random>.
9075         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
9076         move_iterators/1.cc: Include correct header for uninitialized_copy.
9077         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
9078         move_iterators/1.cc: Likewise.
9079         * testsuite/25_algorithms/nth_element/58800.cc: Include correct
9080         header for vector.
9081         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
9083 2016-01-23  John David Anglin  <danglin@gcc.gnu.org>
9085         PR libstdc++/69446
9086         * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9088 2016-01-22  Edward Smith-Rowland  <3dw4rd@verizon.net>
9090         TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
9091         * include/c_compatibility/math.h: Import the TR29124 functions
9092         into the global namespace.
9093         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
9094         xfail and make compile-only.
9095         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
9096         * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
9097         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
9098         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
9099         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
9100         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
9101         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
9102         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
9103         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
9104         * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
9105         * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
9106         * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
9107         * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
9108         * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
9109         * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
9110         * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
9111         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
9112         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
9113         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
9114         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
9116 2016-01-22  Jonathan Wakely  <jwakely@redhat.com>
9118         PR libstdc++/69116
9119         * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
9120         define result_type for types which can be safely used with valarrays.
9121         * testsuite/26_numerics/valarray/69116.cc: New.
9123         PR libstdc++/69413
9124         * config/os/gnu-linux/os_defines.h: Define
9125         _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
9126         * include/c_global/cmath (isinf, isnan): Check it.
9127         * doc/xml/manual/internals.xml: Document it.
9128         * doc/html/*: Regenerate.
9130 2016-01-21  Jonathan Wakely  <jwakely@redhat.com>
9132         PR libstdc++/69406
9133         * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
9134         * include/ext/type_traits.h: Likewise.
9135         * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
9136         for presence of C headers.
9137         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
9138         dg-error line number.
9139         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
9140         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
9141         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
9143 2016-01-20  Torvald Riegel  <triegel@redhat.com>
9145         PR libstdc++/69310
9146         * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9148 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
9150         PR libstdc++/60401
9151         * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
9152         copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
9153         lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
9154         nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
9155         tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
9156         Add using declarations.
9157         * testsuite/26_numerics/headers/cmath/60401.cc: New.
9159         PR libstdc++/69386
9160         * include/c_global/ccomplex: Ensure C++ language linkage.
9161         * include/c_global/cmath: Likewise.
9162         * include/c_global/cstdlib: Likewise.
9163         * include/c_global/ctgmath: Likewise.
9164         * testsuite/17_intro/headers/c++2011/linkage.cc: New.
9166 2016-01-19  Jonathan Wakely  <jwakely@redhat.com>
9168         PR libstdc++/14608
9169         PR libstdc++/60401
9170         * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
9171         --enable-cheaders=c_global configs.
9172         * include/Makefile.in: Regenerate.
9173         * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
9174         test and allow inclusion from C files.
9175         * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
9176         (at_quick_exit, quick_exit): Add using directives.
9177         * include/c_global/cmath: Use #include_next for math.h.
9178         * include/c_global/cstdlib: Use #include_next for stdlib.h.
9179         * testsuite/26_numerics/headers/cmath/14608.cc: New.
9180         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
9181         Remove xfail for most targets.
9182         * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
9184 2016-01-18  Torvald Riegel  <triegel@redhat.com>
9186         * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
9187         (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
9188         and move after its definition.
9189         * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
9190         * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
9191         __GXX_WEAK__, and only provide transactional clones if
9192         _GLIBCXX_USE_WEAK_REF is true.  Don't provide stubs of libitm
9193         functions.
9195 2016-01-18  Jonathan Wakely  <jwakely@redhat.com>
9197         PR libstdc++/60637
9198         * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
9200         PR libstdc++/69243
9201         * include/std/functional (_Function_base::_M_not_empty_function):
9202         Change overloads for pointers to take arguments by value.
9203         * testsuite/20_util/function/cons/57465.cc: Add tests for
9204         pointer-to-member cases.
9206         PR libstdc++/69340
9207         * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
9208         Use macros for exception handling and fix unused parameter warning.
9210 2016-01-17  John David Anglin  <danglin@gcc.gnu.org>
9212         PR libstdc++/68734
9213         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
9215 2016-01-17  Torvald Riegel  <triegel@redhat.com>
9217         * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
9219 2016-01-16  H.J. Lu  <hongjiu.lu@intel.com>
9221         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
9222         __int128 symbols.
9224 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
9226         PR libstdc++/69293
9227         * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
9228         static assertion that type is constructible from the arguments.
9229         * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
9230         * testsuite/20_util/uses_allocator/69293_neg.cc: New.
9231         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
9233         PR libstdc++/69294
9234         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9235         and isnan on AIX. Quote variables.
9236         * configure: Regenerate.
9238 2016-01-15  Torvald Riegel  <triegel@redhat.com>
9240         * include/bits/basic_string.h (basic_string): Declare friends.
9241         * include/bits/c++config (_GLIBCXX_TXN_SAFE,
9242         _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
9243         * include/std/stdexcept (logic_error, domain_error, invalid_argument,
9244         length_error, out_of_range, runtime_error, range_error,
9245         underflow_error, overflow_error): Declare members as transaction-safe.
9246         (logic_error, runtime_error): Declare friend functions.
9247         * libsupc++/exception (exception, bad_exception): Declare members as
9248         transaction-safe.
9249         * src/c++11/cow-stdexcept.cc: Define transactional clones for the
9250         transaction-safe members of exceptions and helper functions.
9251         * libsupc++/eh_exception.cc: Adjust and define transactional clones.
9252         * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
9253         (CXXABI_1.3.10): New.
9254         * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
9255         (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
9256         * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
9257         * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
9258         * include/Makefile.in: Regenerate.
9259         * config.h.in: Regenerate.
9260         * configure: Regenerate.
9261         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
9263 2016-01-15  Steve Ellcey  <sellcey@imgtec.com>
9265         * include/ext/random.tcc: Use __builtin_isfinite instead of
9266         std::isfinite.
9268 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
9270         * include/bits/std_mutex.h: Fix Doxygen @file name.
9272 2016-01-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
9273             Jonathan Wakely  <jwakely@redhat.com>
9274             Florian Goth <CaptainSifff@gmx.de>
9276         Implement TR29124 C++ special Math Functions.
9277         * include/Makefile.am: Add new headers.
9278         * include/Makefile.in: Regenerate.
9279         * include/bits/specfun.h: New.
9280         * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
9281         * include/tr1/bessel_function.tcc: Ditto.
9282         * include/tr1/beta_function.tcc: Ditto.
9283         * include/tr1/cmath: Ditto.
9284         * include/tr1/ell_integral.tcc: Ditto.
9285         * include/tr1/exp_integral.tcc: Ditto.
9286         * include/tr1/gamma.tcc: Ditto.
9287         * include/tr1/hypergeometric.tcc: Ditto.
9288         * include/tr1/legendre_function.tcc: Ditto.
9289         * include/tr1/modified_bessel_func.tcc: Ditto.
9290         * include/tr1/poly_hermite.tcc: Ditto.
9291         * include/tr1/poly_laguerre.tcc: Ditto.
9292         * include/tr1/riemann_zeta.tcc: Ditto.
9293         * include/tr1/special_function_util.h: Ditto.
9294         * testsuite/ext/special_functions/conf_hyperg: New.
9295         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
9296         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
9297         * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
9298         * testsuite/ext/special_functions/hyperg: New.
9299         * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
9300         * testsuite/ext/special_functions/hyperg/check_value.cc: New.
9301         * testsuite/ext/special_functions/hyperg/compile.cc: New.
9302         * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
9303         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
9304         * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
9305         * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
9306         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
9307         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
9308         * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
9309         * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
9310         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
9311         * testsuite/special_functions/03_beta/check_nan.cc: New.
9312         * testsuite/special_functions/03_beta/check_value.cc: New.
9313         * testsuite/special_functions/03_beta/compile.cc: New.
9314         * testsuite/special_functions/03_beta/compile_2.cc: New.
9315         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
9316         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
9317         * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
9318         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
9319         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
9320         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
9321         * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
9322         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
9323         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
9324         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
9325         * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
9326         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
9327         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
9328         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
9329         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
9330         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
9331         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
9332         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
9333         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
9334         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
9335         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
9336         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
9337         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
9338         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
9339         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
9340         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
9341         * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
9342         * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
9343         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
9344         * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
9345         * testsuite/special_functions/11_ellint_1/check_value.cc: New.
9346         * testsuite/special_functions/11_ellint_1/compile.cc: New.
9347         * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
9348         * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
9349         * testsuite/special_functions/12_ellint_2/check_value.cc: New.
9350         * testsuite/special_functions/12_ellint_2/compile.cc: New.
9351         * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
9352         * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
9353         * testsuite/special_functions/13_ellint_3/check_value.cc: New.
9354         * testsuite/special_functions/13_ellint_3/compile.cc: New.
9355         * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
9356         * testsuite/special_functions/14_expint/check_nan.cc: New.
9357         * testsuite/special_functions/14_expint/check_value.cc: New.
9358         * testsuite/special_functions/14_expint/compile.cc: New.
9359         * testsuite/special_functions/14_expint/compile_2.cc: New.
9360         * testsuite/special_functions/15_hermite/check_nan.cc: New.
9361         * testsuite/special_functions/15_hermite/check_value.cc: New.
9362         * testsuite/special_functions/15_hermite/compile.cc: New.
9363         * testsuite/special_functions/15_hermite/compile_2.cc: New.
9364         * testsuite/special_functions/16_laguerre/check_nan.cc: New.
9365         * testsuite/special_functions/16_laguerre/check_value.cc: New.
9366         * testsuite/special_functions/16_laguerre/compile.cc: New.
9367         * testsuite/special_functions/16_laguerre/compile_2.cc: New.
9368         * testsuite/special_functions/17_legendre/check_nan.cc: New.
9369         * testsuite/special_functions/17_legendre/check_value.cc: New.
9370         * testsuite/special_functions/17_legendre/compile.cc: New.
9371         * testsuite/special_functions/17_legendre/compile_2.cc: New.
9372         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
9373         * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
9374         * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
9375         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
9376         * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
9377         * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
9378         * testsuite/special_functions/19_sph_bessel/compile.cc: New.
9379         * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
9380         * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
9381         * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
9382         * testsuite/special_functions/20_sph_legendre/compile.cc: New.
9383         * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
9384         * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
9385         * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
9386         * testsuite/special_functions/21_sph_neumann/compile.cc: New.
9387         * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
9388         * testsuite/util/specfun_testcase.h: New.
9389         * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
9390         * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
9391         * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
9392         * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
9393         * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
9394         * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
9395         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
9397 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
9399         PR libstdc++/48891
9400         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9401         and isnan functions.
9402         * config.h.in: Regenerate.
9403         * configure: Regenerate.
9404         * include/c_global/cmath (isinf(double), isnan(double))
9405         [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
9406         * testsuite/26_numerics/headers/cmath/48891.cc: New.
9408 2016-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9410         PR libstdc++/66006
9411         * configure.host (abi_baseline_pair): Use separate baseline for
9412         Solaris 11+ and Solaris 10 with gld.
9413         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
9414         * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
9415         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
9417 2016-01-12  Daniel Kruegler  <daniel.kruegler@gmail.com>
9419         PR libstdc++/68877
9420         * include/std/type_traits: Following N4511, reimplement __is_swappable
9421         and __is_nothrow_swappable. Move __is_swappable to namespace std,
9422         adjust callers. Use __is_nothrow_swappable in swap.
9423         * include/bits/move.h: Use __is_nothrow_swappable in swap.
9424         * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
9425         __is_swappable related tests.
9426         * testsuite/20_util/is_swappable/value.cc: New.
9427         * testsuite/20_util/is_swappable/requirements/
9428         explicit_instantiation.cc: New.
9429         * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
9430         * testsuite/25_algorithms/swap/68877.cc: New.
9432 2016-01-12  Jonathan Wakely  <jwakely@redhat.com>
9434         * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
9436         PR libstdc++/69005
9437         PR libstdc++/69222
9438         * include/std/functional (function::_Invoke): Remove, use result_of.
9439         (function::_Callable): Replace alias template with class template
9440         and use partial specialization instead of _NotSelf alias template.
9441         (function(_Functor)): Add "not self" constraint so that _Callable is
9442         not used while type is incomplete.
9443         * testsuite/20_util/function/69222.cc: New.
9445 2016-01-11  Jonathan Wakely  <jwakely@redhat.com>
9447         PR libstdc++/60976
9448         * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
9449         Define partial specialization.
9450         * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
9451         destroy members to std::allocator explicit specialization.
9453 2016-01-08  Jonathan Wakely  <jwakely@redhat.com>
9455         * testsuite/26_numerics/headers/cmath/
9456         c99_classification_macros_c++.cc: Rename to ...
9457         * testsuite/26_numerics/headers/cmath/
9458         c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
9459         * testsuite/26_numerics/headers/cmath/
9460         c99_classification_macros_c++0x.cc: Rename to ...
9461         * testsuite/26_numerics/headers/cmath/
9462         c99_classification_macros_c++11.cc: Here.
9464         PR libstdc++/69190
9465         * include/bits/uses_allocator.h: Add missing include.
9467 2016-01-07  Jonathan Wakely  <jwakely@redhat.com>
9469         PR libstdc++/69105
9470         PR libstdc++/69106
9471         PR libstdc++/69114
9472         * include/bits/stl_iterator.h (back_insert_iterator,
9473         front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
9474         * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
9475         * include/std/future (__future::base::_State_baseV2::__setter):
9476         Likewise.
9477         * include/std/scoped_allocator (__outermost): Likewise.
9478         * testsuite/20_util/scoped_allocator/69114.cc: New.
9479         * testsuite/20_util/uses_allocator/69114.cc: New.
9480         * testsuite/30_threads/promise/69106.cc: New.
9482 2016-01-06  Jonathan Wakely  <jwakely@redhat.com>
9484         PR libstdc++/69092
9485         * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
9486         Remove _GLIBCXX_NOEXCEPT.
9487         testsuite/21_strings/basic_string/cons/char/69092.cc: New.
9489         * include/Makefile.am: Adjust.
9490         * include/Makefile.in: Regenerate.
9491         * include/bits/mutex.h: Rename to bits/std_mutex.h.
9492         * include/std/condition_variable: Adjust include.
9493         * include/std/mutex: Likewise.
9495 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
9497         Update copyright years.
9499 Copyright (C) 2016 Free Software Foundation, Inc.
9501 Copying and distribution of this file, with or without modification,
9502 are permitted in any medium without royalty provided the copyright
9503 notice and this notice are preserved.