re PR libstdc++/71500 (regex::icase only works on first character in a range)
[platform/upstream/gcc.git] / libstdc++-v3 / ChangeLog
1 2016-11-31  Tim Shen  <timshen@google.com>
2
3         PR libstdc++/71500
4         * include/bits/regex.h (basic_regex::basic_regex): Use ECMAScript
5         when the syntax is not specified.
6         * include/bits/regex_compiler.h (_RegexTranslator,
7         _RegexTranslatorBase): Partially support icase in ranges.
8         * include/bits/regex_compiler.tcc (_BracketMatcher::_M_apply):
9         Refactor _M_apply to make the control flow easier to follow, and
10         call _M_translator._M_match_range as added previously.
11         * testsuite/28_regex/traits/char/icase.cc: Add new tests.
12         * testsuite/28_regex/traits/char/user_defined.cc: Add new tests.
13
14 2016-11-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
15
16         Fix testsuite failures caused by the patch implementing LWG 2534.
17         * include/std/istream (__is_convertible_to_basic_istream):
18         Change the return types of __check, introduce istream_type.
19         (operator>>(_Istream&&, _Tp&&)):
20         Use __is_convertible_to_basic_istream::istream_type as the return type.
21         * include/std/ostream (__is_convertible_to_basic_ostream):
22         Change the return types of __check, introduce ostream_type.
23         (operator>>(_Ostream&&, _Tp&&)):
24         Use __is_convertible_to_basic_ostream::ostream_type as the return type.
25
26 2016-11-30  Tim Shen  <timshen@google.com>
27
28         * include/bits/shared_ptr_base.h
29         (__shared_ptr_access<T, L, true, false>::operator*()): Fix assertion.
30
31 2016-11-30  David Edelsohn  <dje.gcc@gmail.com>
32
33         * testsuite/18_support/50594.cc: XFAIL on AIX.
34         * testsuite/ext/mt_allocator/check_new.cc: Same.
35         * testsuite/ext/pool_allocator/check_new.cc: Same.
36         * testsuite/27_io/ios_base/storage/11584.cc: Same.
37
38 2016-11-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
39
40         Implement LWG 2534, Constrain rvalue stream operators.
41         * include/std/istream (__is_convertible_to_basic_istream): New.
42         (__is_extractable): Likewise.
43         (operator>>(basic_istream<_CharT, _Traits>&&, _Tp&&)):
44         Turn the stream parameter into a template parameter
45         and constrain.
46         * include/std/ostream (__is_convertible_to_basic_ostream): New.
47         (__is_insertable): Likewise.
48         (operator<<(basic_ostream<_CharT, _Traits>&&, const _Tp&)):
49         Turn the stream parameter into a template parameter
50         and constrain.
51         * testsuite/27_io/basic_istream/extractors_other/char/4.cc: New.
52         * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc:
53         Likewise.
54         * testsuite/27_io/basic_ostream/inserters_other/char/6.cc: Likewise.
55         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc: Likewise.
56
57 2016-11-30  Christophe Lyon  <christophe.lyon@linaro.org>
58
59         * testsuite/experimental/type_erased_allocator/2.cc: Add
60         dg-require-thread-fence.
61
62 2016-11-29  David Edelsohn  <dje.gcc@gmail.com>
63
64         PR libstdc++/68838
65         * testsuite/lib/libstdc++.exp (DEFAULT_CXXFLAGS): Add -Wl,-bmaxdata on
66         AIX.
67         * testsuite/23_containers/vector/profile/vector.cc: Remove
68         dg-additional-options.
69
70 2016-11-26  Tim Shen  <timshen@google.com>
71
72         PR libstdc++/78441
73         * include/std/variant: Propagate cv qualifications to types returned
74         by variant_alternative.
75         * testsuite/20_util/variant/compile.cc: Tests.
76
77 2016-11-23  Felix Morgner  <felix.morgner@gmail.com>
78             Jonathan Wakely  <jwakely@redhat.com>
79
80         PR libstdc++/78490
81         * include/experimental/propagate_const (propagate_const::operator=):
82         Add missing return statements.
83         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
84         Adjust dg-error line numbers.
85         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
86
87 2016-11-22  Uros Bizjak  <ubizjak@gmail.com>
88
89         * testsuite/Makefile.am
90         (check-DEJAGNU $(check_DEJAGNU_normal_targets)): Fix detection
91         of -j argument.
92         * testsuite/Makefile.in: Regenereate.
93
94 2016-11-22  Jonathan Wakely  <jwakely@redhat.com>
95
96         PR libstdc++/78465
97         * testsuite/29_atomics/headers/atomic/macros.cc: Replace runtime tests
98         with preprocessor conditions.
99
100 2016-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
101
102         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Update comments.
103         (__CORRECT_ISO_CPP11_MATH_H_PROTO): Rename to ...
104         (__CORRECT_ISO_CPP11_MATH_H_PROTO_FP): ... this.
105         Add test for C++11 <math.h> integral overloads.
106         * configure: Regenerate.
107         * config.h.in: Regenerate.
108
109         * include/c_global/cmath [__cplusplus >= 201103L]: Reflect
110         __CORRECT_ISO_CPP11_MATH_H_PROTO to
111         __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
112         * include/c_global/cmath [_GLIBCXX_USE_C99_MATH &&
113         !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC && __cplusplus >= 201103L]
114         (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO_INT.
115         (std::isfinite): Likewise.
116         (std::isinf): Likewise.
117         (std::isnan): Likewise.
118         (std::isnormal): Likewise.
119         (std::signbit): Likewise.
120         (std::isgreater): Likewise.
121         (std::isgreaterequal): Likewise.
122         (std::isless): Likewise.
123         (std::islessequal): Likewise.
124         (std::islessgreater): Likewise.
125         (std::isunordered): Likewise.
126         [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]
127         (std::acosh): Likewise.
128         (std::asinh): Likewise.
129         (std::atanh): Likewise.
130         (std::cbrt): Likewise.
131         (std::copysign): Likewise.
132         (std::erf): Likewise.
133         (std::erfc): Likewise.
134         (std::exp2): Likewise.
135         (std::expm1): Likewise.
136         (std::fdim): Likewise.
137         (std::fma): Likewise.
138         (std::fmax): Likewise.
139         (std::fmin): Likewise.
140         (std::hypot): Likewise.
141         (std::ilogb): Likewise.
142         (std::lgamma): Likewise.
143         (std::llrint): Likewise.
144         (std::llround): Likewise.
145         (std::log1p): Likewise.
146         (std::log2): Likewise.
147         (std::logb): Likewise.
148         (std::lrint): Likewise.
149         (std::lround): Likewise.
150         (std::nearbyint): Likewise.
151         (std::nextafter): Likewise.
152         (std::nexttoward): Likewise.
153         (std::remainder): Likewise.
154         (std::remquo): Likewise.
155         (std::rint): Likewise.
156         (std::round): Likewise.
157         (std::scalbln): Likewise.
158         (std::scalbn): Likewise.
159         (std::tgamma): Likewise.
160         (std::trunc): Likewise.
161         * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1 && __cplusplus >=
162         201103L]: Reflect __CORRECT_ISO_CPP11_MATH_H_PROTO to
163         __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
164
165 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
166
167         PR libstdc++/59406
168         * include/bits/functional_hash.h: Add comment noting difference from
169         FNV-1a.
170         * include/tr1/functional_hash.h: Likewise.
171         * libsupc++/hash_bytes.cc: Likewise.
172
173         * include/bits/basic_string.h: Reuse _If_sv alias template for new
174         constructor.
175
176         * doc/xml/manual/intro.xml: Document LWG 2770 status. Remove entries
177         for 2742 and 2748.
178         * doc/html/*: Regenerate.
179         * include/std/utility (__tuple_size_cv_impl): New helper to safely
180         detect tuple_size<T>::value, as per LWG 2770.
181         (tuple_size<cv T>): Adjust partial specializations to derive from
182         __tuple_size_cv_impl.
183         * testsuite/20_util/tuple/cv_tuple_size.cc: Test SFINAE-friendliness.
184
185         * testsuite/libstdc++-prettyprinters/cxx17.cc: Adjust test for
186         variant<T&>.
187
188 2016-11-15  Tim Shen  <timshen@google.com>
189
190         * include/std/variant: Remove variant<T&>, variant<void>, variant<>
191         support to rebase on the post-Issaquah design.
192         * testsuite/20_util/variant/compile.cc: Likewise.
193
194 2016-11-15  Matthias Klose  <doko@ubuntu.com>
195
196         * configure: Regenerate.
197
198 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
199
200         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Fix license
201         text.
202         * testsuite/20_util/any/assign/emplace.cc: Likewise.
203         * testsuite/20_util/any/cons/in_place.cc: Likewise.
204         * testsuite/20_util/any/make_any.cc: Likewise.
205         * testsuite/20_util/any/requirements.cc: Likewise.
206         * testsuite/20_util/any/typedefs.cc: Likewise.
207         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
208         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
209         Likewise.
210         * testsuite/20_util/in_place/requirements.cc: Likewise.
211         * testsuite/20_util/optional/77288.cc: Likewise.
212         * testsuite/20_util/optional/assignment/1.cc: Likewise.
213         * testsuite/20_util/optional/assignment/2.cc: Likewise.
214         * testsuite/20_util/optional/assignment/3.cc: Likewise.
215         * testsuite/20_util/optional/assignment/4.cc: Likewise.
216         * testsuite/20_util/optional/assignment/5.cc: Likewise.
217         * testsuite/20_util/optional/assignment/6.cc: Likewise.
218         * testsuite/20_util/optional/assignment/7.cc: Likewise.
219         * testsuite/20_util/optional/cons/77727.cc: Likewise.
220         * testsuite/20_util/optional/cons/move.cc: Likewise.
221         * testsuite/20_util/optional/cons/value.cc: Likewise.
222         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
223         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
224         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
225         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
226         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
227         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
228         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
229         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
230         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
231         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
232         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
233         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
234         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
235         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
236         * testsuite/20_util/optional/hash.cc: Likewise.
237         * testsuite/20_util/optional/make_optional.cc: Likewise.
238         * testsuite/20_util/optional/observers/1.cc: Likewise.
239         * testsuite/20_util/optional/observers/2.cc: Likewise.
240         * testsuite/20_util/optional/observers/3.cc: Likewise.
241         * testsuite/20_util/optional/observers/4.cc: Likewise.
242         * testsuite/20_util/optional/observers/5.cc: Likewise.
243         * testsuite/20_util/optional/observers/6.cc: Likewise.
244         * testsuite/20_util/optional/relops/1.cc: Likewise.
245         * testsuite/20_util/optional/relops/2.cc: Likewise.
246         * testsuite/20_util/optional/relops/3.cc: Likewise.
247         * testsuite/20_util/optional/relops/4.cc: Likewise.
248         * testsuite/20_util/optional/relops/5.cc: Likewise.
249         * testsuite/20_util/optional/relops/6.cc: Likewise.
250         * testsuite/20_util/optional/requirements.cc: Likewise.
251         * testsuite/20_util/optional/swap/1.cc: Likewise.
252         * testsuite/20_util/optional/typedefs.cc: Likewise.
253         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
254         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
255         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
256         Likewise.
257         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
258         * testsuite/20_util/variant/hash.cc: Likewise.
259         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
260         * testsuite/experimental/any/typedefs.cc: Likewise.
261         * testsuite/experimental/array/make_array.cc: Likewise.
262         * testsuite/experimental/array/neg.cc: Likewise.
263         * testsuite/experimental/chrono/value.cc: Likewise.
264         * testsuite/experimental/deque/erasure.cc: Likewise.
265         * testsuite/experimental/forward_list/erasure.cc: Likewise.
266         * testsuite/experimental/list/erasure.cc: Likewise.
267         * testsuite/experimental/map/erasure.cc: Likewise.
268         * testsuite/experimental/memory/observer_ptr/assignment/assign.cc:
269         Likewise.
270         * testsuite/experimental/memory/observer_ptr/cons/cons.cc: Likewise.
271         * testsuite/experimental/memory/observer_ptr/hash/hash.cc: Likewise.
272         * testsuite/experimental/memory/observer_ptr/make_observer.cc:
273         Likewise.
274         * testsuite/experimental/memory/observer_ptr/relops/relops.cc:
275         Likewise.
276         * testsuite/experimental/memory/observer_ptr/requirements.cc: Likewise.
277         * testsuite/experimental/memory/observer_ptr/swap/swap.cc: Likewise.
278         * testsuite/experimental/memory/observer_ptr/typedefs.cc: Likewise.
279         * testsuite/experimental/optional/77288.cc: Likewise.
280         * testsuite/experimental/optional/assignment/1.cc: Likewise.
281         * testsuite/experimental/optional/assignment/2.cc: Likewise.
282         * testsuite/experimental/optional/assignment/3.cc: Likewise.
283         * testsuite/experimental/optional/assignment/4.cc: Likewise.
284         * testsuite/experimental/optional/assignment/5.cc: Likewise.
285         * testsuite/experimental/optional/assignment/6.cc: Likewise.
286         * testsuite/experimental/optional/cons/77727.cc: Likewise.
287         * testsuite/experimental/optional/cons/move.cc: Likewise.
288         * testsuite/experimental/optional/cons/value.cc: Likewise.
289         * testsuite/experimental/optional/cons/value_neg.cc: Likewise.
290         * testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
291         * testsuite/experimental/optional/constexpr/make_optional.cc: Likewise.
292         * testsuite/experimental/optional/constexpr/observers/1.cc: Likewise.
293         * testsuite/experimental/optional/constexpr/observers/2.cc: Likewise.
294         * testsuite/experimental/optional/constexpr/observers/3.cc: Likewise.
295         * testsuite/experimental/optional/constexpr/observers/4.cc: Likewise.
296         * testsuite/experimental/optional/constexpr/observers/5.cc: Likewise.
297         * testsuite/experimental/optional/constexpr/relops/1.cc: Likewise.
298         * testsuite/experimental/optional/constexpr/relops/2.cc: Likewise.
299         * testsuite/experimental/optional/constexpr/relops/3.cc: Likewise.
300         * testsuite/experimental/optional/constexpr/relops/4.cc: Likewise.
301         * testsuite/experimental/optional/constexpr/relops/5.cc: Likewise.
302         * testsuite/experimental/optional/constexpr/relops/6.cc: Likewise.
303         * testsuite/experimental/optional/make_optional.cc: Likewise.
304         * testsuite/experimental/optional/observers/1.cc: Likewise.
305         * testsuite/experimental/optional/observers/2.cc: Likewise.
306         * testsuite/experimental/optional/observers/3.cc: Likewise.
307         * testsuite/experimental/optional/observers/4.cc: Likewise.
308         * testsuite/experimental/optional/observers/5.cc: Likewise.
309         * testsuite/experimental/optional/relops/1.cc: Likewise.
310         * testsuite/experimental/optional/relops/2.cc: Likewise.
311         * testsuite/experimental/optional/relops/3.cc: Likewise.
312         * testsuite/experimental/optional/relops/4.cc: Likewise.
313         * testsuite/experimental/optional/relops/5.cc: Likewise.
314         * testsuite/experimental/optional/relops/6.cc: Likewise.
315         * testsuite/experimental/optional/requirements.cc: Likewise.
316         * testsuite/experimental/optional/swap/1.cc: Likewise.
317         * testsuite/experimental/optional/typedefs.cc: Likewise.
318         * testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
319         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
320         Likewise.
321         * testsuite/experimental/propagate_const/cons/move.cc: Likewise.
322         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
323         * testsuite/experimental/propagate_const/hash/1.cc: Likewise.
324         * testsuite/experimental/propagate_const/observers/1.cc: Likewise.
325         * testsuite/experimental/propagate_const/relops/1.cc: Likewise.
326         * testsuite/experimental/propagate_const/requirements1.cc: Likewise.
327         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
328         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
329         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
330         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
331         * testsuite/experimental/propagate_const/swap/1.cc: Likewise.
332         * testsuite/experimental/propagate_const/typedefs.cc: Likewise.
333         * testsuite/experimental/random/randint.cc: Likewise.
334         * testsuite/experimental/ratio/value.cc: Likewise.
335         * testsuite/experimental/set/erasure.cc: Likewise.
336         * testsuite/experimental/string/erasure.cc: Likewise.
337         * testsuite/experimental/string_view/typedefs.cc: Likewise.
338         * testsuite/experimental/system_error/value.cc: Likewise.
339         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
340         * testsuite/experimental/type_traits/value.cc: Likewise.
341         * testsuite/experimental/unordered_map/erasure.cc: Likewise.
342         * testsuite/experimental/unordered_set/erasure.cc: Likewise.
343         * testsuite/experimental/vector/erasure.cc: Likewise.
344
345         * doc/xml/manual/intro.xml: Document LWG 2742 status.
346         * doc/html/*: Regenerate.
347         * include/bits/basic_string.h
348         (basic_string(const T&, size_type, size_type, const Allocator&)): Add
349         constructor for substring of basic_string_view, as per LWG 2742 but
350         with additional constraint to fix ambiguity.
351         * testsuite/21_strings/basic_string/cons/char/9.cc: New test.
352         * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: New test.
353
354         * doc/xml/manual/intro.xml: Document LWG 2748 status.
355         * include/std/optional (optional<T>::swap): Use is_nothrow_swappable_v
356         for exception specification.
357         (swap(optional<T>&, optional<T>&)): Disable when T is not swappable.
358         * testsuite/20_util/optional/swap/2.cc: New test.
359
360 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
361
362         Implement P0513R0, Poisoning the Hash.
363         * include/bits/functional_hash.h (__poison_hash): New.
364         * include/bits/unique_ptr.h
365         (hash<unique_ptr<_Tp, _Dp>>): Derive from __poison_hash.
366         * include/std/optional (hash<optional<_Tp>>): Likewise.
367         * include/std/variant (hash<variant<_Types...>>): Likewise.
368         * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
369         * testsuite/20_util/default_delete/void_neg.cc: Likewise.
370         * testsuite/20_util/optional/hash.cc: New.
371         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
372         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Adjust.
373         * testsuite/20_util/unique_ptr/hash/1.cc: Add tests for
374         poisoned fancy pointer hashes.
375         * testsuite/20_util/variant/hash.cc: New.
376
377 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
378
379         Implement P0504R0 (Revisiting in-place tag types for
380         any/optional/variant).
381         * include/std/any (any(_ValueType&& __value)): Constrain
382         the __is_in_place_type with the decayed type.
383         (make_any): Adjust to use the new tag type.
384         * include/std/utility (in_place_tag): Remove.
385         (in_place_t): Turn into a non-reference tag type.
386         (__in_place, __in_place_type, __in_place_index): Remove.
387         (in_place): Turn into an inline variable of non-reference
388         tag type.
389         (in_place<_Tp>): Remove.
390         (in_place_index<_Idx>): Remove.
391         (in_place_type_t): New.
392         (in_place_type): Turn into a variable template of non-reference
393         type.
394         (in_place_index_t): New.
395         (in_place_index): Turn into a variable template of non-reference
396         type.
397         * include/std/variant
398         (_Variant_storage(in_place_index_t<_Np>, _Args&&...)): Adjust to
399         use the new tag type.
400         (_Union(in_place_index_t<0>, _Args&&...)): Likewise.
401         (_Union(in_place_index_t<_Np>, _Args&&...)): Likewise.
402         (_Variant_base()): Likewise.
403         (variant(_Tp&&)): Likewise.
404         (variant(in_place_type_t<_Tp>, _Args&&...)): Likewise.
405         (variant(in_place_type_t<_Tp>, initializer_list<_Up>,
406         _Args&&...)): Likewise.
407         (variant(in_place_index_t<_Np>, _Args&&...)): Likewise.
408         (variant(in_place_index_t<_Np>, initializer_list<_Up>,
409         _Args&&...)): Likewise
410         (variant(allocator_arg_t, const _Alloc&)): Likewise.
411         (variant(allocator_arg_t, const _Alloc&, _Tp&&)): Likewise.
412         (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
413         _Args&&...)): Likewise.
414         (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
415         initializer_list<_Up>, _Args&&...)): Likewise.
416         (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
417         _Args&&...)): Likewise.
418         (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
419         initializer_list<_Up>, _Args&&...)): Likewise.
420         (emplace(_Args&&...)): Likewise.
421         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
422         * testsuite/20_util/any/cons/explicit.cc: Likewise.
423         * testsuite/20_util/any/cons/in_place.cc: Likewise.
424         * testsuite/20_util/any/requirements.cc: Add tests to
425         check that any is not constructible from the new in_place_type_t
426         of any value category.
427         * testsuite/20_util/in_place/requirements.cc: Adjust to
428         use the new tag type.
429         * testsuite/20_util/variant/compile.cc: Likewise.
430         * testsuite/20_util/variant/run.cc: Likewise.
431
432 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
433
434         Use constexpr addressof in optional, SFINAE housekeeping
435         for any, optional and tuple.
436         * include/std/any (__do_emplace(_Args&&...)): New.
437         (__do_emplace(initializer_list<_Up>, _Args&&...)): Likewise.
438         (__any_constructible): Likewise.
439         (__any_constructible_t): Use __any_constructible.
440         (operator=(_ValueType&&)): SFINAE in the return type.
441         (emplace(_Args&&...)): Likewise.
442         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
443         * include/std/optional (_Has_addressof_mem): Remove.
444         (_Has_addressof_free): Likewise.
445         (_Has_addressof): Likewise.
446         (__constexpr_addressof(_Tp&)): Likewise.
447         (operator->): Use std::__addressof.
448         * include/std/tuple (operator=(const tuple<_UElements...>&)):
449         SFINAE in return type.
450         (operator=(tuple<_UElements...>&&)): Likewise.
451         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
452
453 2016-11-14  Jonathan Wakely  <jwakely@redhat.com>
454
455         * include/bits/move.h (addressof(const _Tp&&)): Add deleted overload,
456         as per LWG 2598.
457
458         * include/std/future (future::share(), future<R&>::share())
459         (future<void>::share()): Add noexcept, as per LWG 2556.
460
461 2016-11-13  Jonathan Wakely  <jwakely@redhat.com>
462
463         PR libstdc++/78326
464         * include/experimental/memory_resource (memory_resource::_S_max_align):
465         Change access to protected.
466
467         * doc/xml/manual/status_cxx2017.xml: Update status.
468         * doc/html/manual/status.html: Regenerate.
469         * include/bits/shared_ptr.h (shared_ptr(unique_ptr<_Yp, _Del>)): Add
470         extension constructor to maintain C++14 behaviour.
471         * include/bits/shared_ptr_base.h (__sp_array_delete): Add new struct.
472         (__shared_count(_Ptr, false_type), __shared_count(_Ptr, true_type)):
473         New constructors.
474         (__sp_compatible_with, __sp_is_constructible): Add specializations
475         for array support.
476         (__sp_is_constructible_arr, __sp_is_constructible_arrN): New helpers.
477         (__shared_ptr_access): New base class for observer member functions.
478         (__shared_ptr::element_type): Use remove_extent.
479         (__shared_ptr::_UniqCompatible): Add __sp_compatible_with check.
480         (__shared_ptr(_Yp*)): Use tag dispatching to call new __shared_count
481         constructor.
482         (__shared_ptr(unique_ptr<_Yp, _Del>)): Add extension constructor.
483         (__shared_ptr::operator*, __shared_ptr::operator->): Remove and
484         inherit from __shared_ptr_access base class.
485         (__shared_ptr::__has_esft_base): Return false for array types.
486         (__weak_ptr::element_type): Use remove_extent.
487         * include/experimental/bits/shared_ptr.h (__libfund_v1): Remove.
488         (__shared_ptr<__libfund_v1<_Tp>>): Remove specializations.
489         (__wak_ptr<__libfund_v1<_Tp>>): Likewise.
490         (experimental::__sp_compatible_v): Redefine using
491         __sp_compatible_with.
492         (experimental::__sp_is_constructible_v): Redefine using
493         __sp_is_constructible.
494         (get_deleter, operator<<): Change argument from __shared_ptr to
495         shared_ptr.
496         * testsuite/20_util/shared_ptr/cons/array.cc: New test.
497         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Adjust for
498         new behaviour.
499         * testsuite/20_util/shared_ptr/observers/array.cc: Test observers for
500         arrays.
501         * testsuite/20_util/shared_ptr/observers/array_neg.cc: New test.
502
503 2016-11-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
504
505         Implement P0403R1, Literal suffixes for basic_string_view.
506         * include/std/string_view
507         (operator""sv(const char*, size_t)): New.
508         (operator""sv(const wchar_t*, size_t)): Likewise.
509         (operator""sv(const char16_t*, size_t)): Likewise.
510         (operator""sv(const char32_t*, size_t)): Likewise.
511         * testsuite/21_strings/basic_string_view/literals/types.cc: New.
512         * testsuite/21_strings/basic_string_view/literals/values.cc: Likewise.
513         * testsuite/experimental/string_view/literals/values.cc: Add
514         tests for literals with embedded NULs.
515
516 2016-11-12  Jonathan Wakely  <jwakely@redhat.com>
517
518         * src/filesystem/ops.cc (is_empty): Fix typo in exception message.
519
520         * include/std/future (future_error): Fix public typo to private.
521
522 2016-11-11  Jonathan Wakely  <jwakely@redhat.com>
523
524         * include/std/future (future_error): Make existing constructor
525         private and add constructor from future_errc.
526
527         * include/bits/shared_ptr.h (hash<shared_ptr<T>>): Use element_type.
528         * include/bits/shared_ptr_base.h (hash<__shared_ptr<T, L>>): Likewise.
529
530 2016-11-10  François Dumont  <fdumont@gcc.gnu.org>
531
532         * src/c++11/debug.cc (format_word): Delete.
533         (print_literal): New. Replace call to print_word for literals.
534
535 2016-11-09  Tim Shen  <timshen@google.com>
536
537         * include/bits/regex.h (regex_iterator::regex_iterator()):
538         Define end() as _M_pregex == nullptr.
539         * include/bits/regex.tcc (regex_iterator::operator==(),
540         regex_iterator::operator++()): Fix operator==() and operator++() to
541         look at null-ness of _M_pregex on both sides.
542         * testsuite/28_regex/regression.cc: New testcase.
543
544 2016-11-07  Jason Merrill  <jason@redhat.com>
545
546         * include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM)
547         (_GLIBCXX_NOEXCEPT_QUAL): New.
548         * include/std/type_traits (is_function): Use them.
549         * libsubc++/new (launder): Likewise.
550         * libsupc++/cxxabi.h (__pbase_type_info::__masks): Add
551         __noexcept_mask.
552         * libsupc++/pbase_type_info.cc (__do_catch): Handle function
553         pointer conversion.
554
555 2016-11-07  François Dumont  <fdumont@gcc.gnu.org>
556
557         * config/abi/pre/gnu-versioned-namespace.ver: Export C++17 new of
558         over-aligned types symbols.
559
560 2016-10-28  Jonathan Wakely  <jwakely@redhat.com>
561
562         * include/experimental/bits/fs_path.h (__is_path_src)
563         (_S_range_begin, _S_range_end): Overload to treat string_view as a
564         Source object.
565         (path::operator+=, path::compare): Overload for basic_string_view.
566         * testsuite/experimental/filesystem/path/construct/string_view.cc:
567         New test.
568         * testsuite/experimental/filesystem/path/construct/
569         string_view_cxx17.cc: New test.
570
571         * include/experimental/bits/fs_path.h
572         (path::_S_convert<_Iter>(_Iter, _Iter)): Remove cv-qualifiers from
573         iterator's value_type.
574         (path::_S_convert<_Iter>(_Iter __first, __null_terminated)): Likewise.
575         Do not use operation not supported by input iterators.
576         (path::__is_path_iter_src): Add partial specialization for const
577         encoded character types.
578         * testsuite/experimental/filesystem/path/construct/range.cc: Test
579         construction from input iterators with const value types.
580
581         * doc/xml/manual/status_cxx2017.xml: Update status.
582         * doc/html/*: Regenerate.
583         * include/std/type_traits (has_unique_object_representations): Guard
584         with __has_builtin check.
585         * libsupc++/new (launder): Define for C++17.
586         * testsuite/18_support/launder/1.cc: New test.
587         * testsuite/18_support/launder/requirements.cc: New test.
588         * testsuite/18_support/launder/requirements_neg.cc: New test.
589
590 2016-10-27  Uros Bizjak  <ubizjak@gmail.com>
591
592         PR libstdc++/70975
593         * src/filesystem/ops.cc (do_copy_file) [_GLIBCXX_USE_SENDFILE]:
594         Pass non-null pointer to sendfile for offset argument.
595
596 2016-10-27  Jonathan Wakely  <jwakely@redhat.com>
597
598         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
599         default.cc: Fix effective target selector.
600         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
601         parms.cc: Likewise.
602         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
603         equal.cc: Likewise.
604         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
605         generate.cc: Likewise.
606         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
607         inequal.cc: Likewise.
608         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
609         serialize.cc: Likewise.
610
611         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
612         Use end() function to get end iterator.
613         * testsuite/experimental/filesystem/iterators/pop.cc: Remove printf
614         statements that were present for debugging.
615         * testsuite/experimental/filesystem/iterators/
616         recursive_directory_iterator.cc: Use end() function to get end
617         iterator.
618         * testsuite/experimental/filesystem/operations/last_write_time.cc:
619         Only require file timestamps to be accurate to one second.
620
621 2016-10-26  François Dumont  <fdumont@gcc.gnu.org>
622
623         * include/bits/stl_map.h (map()): Make default.
624         * include/bits/stl_multimap.h (multimap()): Likewise.
625         * include/bits/stl_multiset.h (multiset()): Likewise.
626         * include/bits/stl_set.h (set()): Likewise.
627         * include/bits/stl_tree.h (_Rb_tree_impl()): Add conditional noexcept.
628         (_Rb_tree()): Make default.
629
630 2016-10-26  Bernd Edlinger  <bernd.edlinger@hotmail.de>
631
632         PR libstdc++/78110
633         * libsupc++/new_opa.cc: Don't include <malloc.h> in a free standing
634         environment.  Declare memalign directly in that case.
635
636 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
637
638         * testsuite/experimental/filesystem/iterators/pop.cc: Remove
639         unreliable dependency on directory order.
640
641 2016-10-26  Edward Smith-Rowland  <3dw4rd@verizon.net>
642
643         Implement uniform_inside_sphere_distribution extension.
644         * include/ext/random: Implement uniform_inside_sphere_distribution.
645         * include/ext/random.tcc: Ditto.
646         * testsuite/ext/random/uniform_inside_sphere_distribution/
647         cons/default.cc: New.
648         * testsuite/ext/random/uniform_inside_sphere_distribution/
649         cons/parms.cc: New.
650         * testsuite/ext/random/uniform_inside_sphere_distribution/
651         operators/equal.cc: New.
652         * testsuite/ext/random/uniform_inside_sphere_distribution/
653         operators/generate.cc: New.
654         * testsuite/ext/random/uniform_inside_sphere_distribution/
655         operators/inequal.cc: New.
656         * testsuite/ext/random/uniform_inside_sphere_distribution/
657         operators/serialize.cc: New.
658
659 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
660
661         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
662         Overload pop (LWG 2706).
663         * src/filesystem/dir.cc (recursive_directory_iterator::pop): Define
664         new overload.
665         * testsuite/experimental/filesystem/iterators/pop.cc: New test.
666
667         * src/filesystem/dir.cc (recursive_directory_iterator::increment):
668         Reset state on error.
669         * testsuite/experimental/filesystem/iterators/
670         recursive_directory_iterator.cc: Check state after increment error.
671
672         PR libstdc++/78111
673         * src/filesystem/ops.cc (canonical): Set error for non-existent path.
674
675 2016-10-26  Uros Bizjak  <ubizjak@gmail.com>
676
677         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include <limits.h>
678         for PATH_MAX in realpath test.
679         * configure: Regenerate.
680
681 2016-10-25  Jonathan Wakely  <jwakely@redhat.com>
682
683         * src/filesystem/ops.cc
684         (last_write_time(const path&, file_time_type, error_code&)): Handle
685         negative times correctly.
686         * testsuite/experimental/filesystem/operations/last_write_time.cc:
687         Test writing file times.
688
689         * src/filesystem/ops.cc (do_copy_file): Report an error if source or
690         destination is not a regular file (LWG 2712).
691         (equivalent): Fix error handling and result when only one file exists.
692         * testsuite/experimental/filesystem/operations/copy.cc: Remove files
693         created by tests. Test copying directories.
694         * testsuite/experimental/filesystem/operations/copy_file.cc: Remove
695         files created by tests.
696         * testsuite/experimental/filesystem/operations/equivalent.cc: New.
697         * testsuite/experimental/filesystem/operations/is_empty.cc: New.
698         * testsuite/experimental/filesystem/operations/read_symlink.cc: Remove
699         file created by test.
700         * testsuite/experimental/filesystem/operations/remove_all.cc: New.
701         * testsuite/util/testsuite_fs.h (~scoped_file): Only try to remove
702         file if path is non-empty, to support removal by other means.
703
704 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
705
706         * src/filesystem/ops.cc (is_empty): Fix error handling.
707         * testsuite/experimental/filesystem/operations/is_empty.cc: New test.
708
709         PR libstdc++/71337
710         * src/filesystem/ops.cc (temp_directory_path): Pass error_code
711         argument to other filesystem operations.
712         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
713         Add testcase for inaccessible directory.
714
715         * src/filesystem/dir.cc (open_dir): Return same value for errors
716         whether ignored or not.
717         (_Dir::advance(error_code*, directory_options)): Return false on
718         error.
719         (directory_iterator(const path&, directory_options, error_code*)):
720         Create end iterator on error (LWG 2723).
721         (recursive_directory_iterator(const path&, directory_options,
722         error_code*)): Likewise.
723         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
724         Update expected behaviour on error.
725         * testsuite/experimental/filesystem/iterators/
726         recursive_directory_iterator.cc: Likewise.
727
728         * src/filesystem/ops.cc (close_fd): Remove.
729         (do_copy_file): Just use close(3) instead of close_fd, to prevent
730         retrying on error.
731
732         * src/filesystem/ops.cc (do_copy_file): Return an error if either
733         source or destination is not a regular file.
734         (copy): Update comment to refer to LWG 2681. Implement 2682 and 2683
735         resolutions.
736         (read_symlink): Add missing ec.clear().
737         * testsuite/experimental/filesystem/operations/copy.cc: Update
738         expected behaviour for copying directories with create_symlinks.
739         Verify that error_code arguments are cleared if there's no error.
740         * testsuite/experimental/filesystem/operations/read_symlink.cc: New.
741
742 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
743
744         Cross-port exception-safety and move fixes of std::any to
745         std::experimental::any.
746         * include/experimental/any (operator=(const any&)):
747         Make strongly exception-safe.
748         (operator=(any&&)): clear() unconditionally in the case where
749         rhs has a value.
750         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
751         * testsuite/experimental/any/assign/2.cc: Adjust.
752         * testsuite/experimental/any/assign/exception.cc: New.
753         * testsuite/experimental/any/cons/2.cc: Adjust.
754         * testsuite/experimental/any/misc/any_cast_neg.cc: Ajust.
755
756 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
757
758         Cross-port the latest resolution of LWG2756 and some
759         bug-fixes to experimental::optional.
760         PR libstdc++/77288
761         PR libstdc++/77727
762         * include/experimental/optional (_Optional_base):
763         Remove constructors that take a _Tp.
764         (__is_optional_impl, __is_optional): Remove.
765         (__converts_from_optional): New.
766         (optional(_Up&&)): Fix constraints, call base with in_place.
767         (optional(const optional<_Up>&)): Fix constraints, use emplace.
768         (optional(optional<_Up>&&)): Likewise.
769         (operator=(_Up&&)): Fix constraints.
770         (operator=(const optional<_Up>&)): Likewise.
771         (operator=(optional<_Up>&&)): Likewise.
772         (emplace(_Args&&...)): Constrain.
773         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
774         * testsuite/experimental/optional/77288.cc: New.
775         * testsuite/experimental/optional/assignment/5.cc: Adjust.
776         * testsuite/experimental/optional/cons/77727.cc: New.
777         * testsuite/experimental/optional/cons/value.cc: Adjust.
778
779 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
780
781         * include/bits/stl_vector.h (vector::_M_data_ptr, vector::data):
782         Change return type of non-standard C++98 extension to match C++11.
783
784 2016-10-22  François Dumont  <fdumont@gcc.gnu.org>
785
786         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_ALGO)
787         (_GLIBCXX_END_NAMESPACE_ALGO): Default to respectively
788         _GLIBCXX_BEGIN_NAMESPACE_VERSION and _GLIBCXX_END_NAMESPACE_VERSION.
789         (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER, _GLIBCXX_END_NAMESPACE_CONTAINER):
790         Likewise.
791
792 2016-10-22  Jonathan Wakely  <jwakely@redhat.com>
793
794         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
795         Ignore symlink_nofollow flag if file is not a symlink.
796         * testsuite/experimental/filesystem/operations/permissions.cc: Test
797         symlink_nofollow on non-symlinks.
798
799 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
800
801         * include/experimental/bits/fs_fwd.h (perms::resolve_symlinks):
802         Replace with symlink_nofollow (LWG 2720).
803         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
804         Handle symlink_nofollow.
805         * testsuite/experimental/filesystem/operations/create_symlink.cc: New
806         test.
807         * testsuite/experimental/filesystem/operations/permissions.cc: Test
808         overload taking error_code.
809
810         * include/experimental/bits/fs_ops.h
811         (exists(const path&, error_code&)): Clear error if status is known
812         (LWG 2725).
813         (status(const path&, error_code&)): Handle EOVERFLOW.
814         * testsuite/experimental/filesystem/operations/exists.cc: Test
815         overload taking an error_code.
816
817         * include/experimental/bits/fs_path.h (path::path(string_type&&))
818         (path::operator=(string&&), path::assign(string_type&&)): Define
819         construction and assignment from string_type rvalues (LWG 2707).
820
821 2016-10-21  Eelis van der Weegen  <eelis@eelis.net>
822
823         * include/bits/stl_algo.h (__gen_two_uniform_ints): Move logic out
824         of shuffle into new function.
825         (shuffle): Call __gen_two_uniform_ints.
826         (__sample<ForwardIterator, OutputIterator, Cat, Size, URBG>): Use
827         __gen_two_uniform_ints and perform two samples at a time.
828
829 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
830
831         * include/Makefile.am: Add <bits/refwrap.h> and <bits/std_function.h>.
832         Order alphabetically.
833         * include/Makefile.in: Regenerate.
834         * include/bits/refwrap.h: New header.
835         (_Maybe_get_result_type,_Weak_result_type_impl, _Weak_result_type)
836         (_Reference_wrapper_base_impl, _Reference_wrapper_base)
837         (reference_wrapper, ref, cref): Move here from <functional>.
838         * include/bits/shared_ptr_base.h: Include <bits/refwrap.h> and
839         <bits/stl_function.h> instead of <functional>.
840         * include/bits/std_function.h: New header.
841         (_Maybe_unary_or_binary_function, bad_function_call)
842         (__is_location_invariant, _Nocopy_types, _Any_data)
843         (_Simple_type_wrapper, _Function_base, _Function_handler, function):
844         Move here from <functional>.
845         * include/bits/unique_ptr.h: Include <bits/stl_function.h>.
846         * include/std/functional: Include new headers and move components to
847         them.
848         * include/std/future: Include <bits/std_function.h> instead of
849         <functional>.
850         * include/std/mutex: Likewise.
851         * include/std/regex: Likewise.
852         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
853         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line.
854         * testsuite/20_util/default_delete/void_neg.cc: Likewise.
855         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
856         lines.
857         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
858         * testsuite/30_threads/packaged_task/49668.cc: Include <functional>.
859
860         * libsupc++/exception_ptr.h (make_exception_ptr): Qualify new.
861         * testsuite/18_support/exception_ptr/make_exception_ptr_2.cc: New
862         test.
863
864 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
865
866         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&))
867         (shared_ptr(auto_ptr&&)): Adjust template parameter lists.
868         * include/bits/shared_ptr.h (__sp_compatible_with)
869         (__sp_is_constructible): New helper traits for shared_ptr.
870         (shared_ptr::_Convertible): Replace with _Constructible.
871         (shared_ptr::_Constructible, shared_ptr::_Assignable): Forward checks
872         to base class.
873         (shared_ptr::shared_ptr, shared_ptr::operator=): Constrain template
874         with _Constructible and _Assignable.
875         (shared_ptr::shared_ptr(shared_ptr<_Tp1>, _Tp*)): Use element_type
876         instead of _Tp.
877         (operator<): Likewise.
878         (operator>): Define in terms of operator<.
879         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
880         element_type instead of _Tp.
881         (reinterpret_pointer_cast): Define for C++17.
882         (weak_ptr::_Convertible): Replace with _Constructible.
883         (weak_ptr::_Constructible, weak_ptr::_Assignable): Forward checks
884         to base class.
885         (weak_ptr::weak_ptr, weak_ptr::operator=): Constrain templates
886         with _Constructible and _Assignable.
887         * include/bits/shared_ptr_base.h (__shared_ptr::_Convertible): Replace
888         with _Compatible.
889         (__shared_ptr::_SafeConv): New constraint for incoming raw pointers.
890         (__shared_ptr::_Compatible): New constraint for converting from
891         other types of shared_ptr and weak_ptr.
892         (__shared_ptr::_Assignable): Define in terms of _Compatible.
893         (__shared_ptr::_UniqCompatible, __shared_ptr::_UniqAssignable): New
894         constraints for converting from unique_ptr.
895         (__shared_ptr::__shared_ptr, __shared_ptr::operator=): Constrain
896         template with _SaveConf, _Compatible and _Assignable. Remove
897         __glibcxx_function_requires concept checks. Add static assertion for
898         deleter expression being well-formed.
899         (__shared_ptr::__shared_ptr(__shared_ptr<_Tp1>, _Tp*))
900         (__shared_ptr::operator*, __shared_ptr::operator->)
901         (__shared_ptr::get, __shared_ptr::_M_ptr): Use element_type instead
902         of _Tp.
903         (operator<): Likewise.
904         (operator>): Define in terms of operator<.
905         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
906         element_type instead of _Tp.
907         (reinterpret_pointer_cast): Define for C++17.
908         (weak_ptr::_Convertible): Replace with _Compatible.
909         (weak_ptr::_Compatible, weak_ptr::_Assignable): New constraints for
910         conversions from other types of weak_ptr and shared_ptr.
911         (__weak_ptr::__weak_ptr, __weak_ptr::operator=): Constrain templates
912         with _Constructible and _Assignable.
913         (__weak_ptr::_M_ptr): Use element_type instead of _Tp.
914         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Adjust
915         dg-error pattern.
916         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Test conversions.
917         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
918         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
919         * testsuite/20_util/shared_ptr/casts/reinterpret.cc: New test.
920
921 2016-10-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
922
923         Do the operator= SFINAE in the return type for optional,
924         not in the template parameters.
925         * include/std/optional (operator=(_Up&&)): Move SFINAE
926         from template parameters to the return type.
927         (operator=(const optional<_Up>&)): Likewise.
928         (operator=(optional<_Up>&&)): Likewise.
929
930 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
931
932         * include/bits/allocator.h: Remove trailing whitespace, tab-indent.
933         * include/ext/new_allocator.h: Likewise.
934
935         PR libstdc++/78052
936         * include/bits/allocator.h (allocator<void>::construct)
937         (allocator<void>::destroy): Define.
938         * testsuite/20_util/allocator/void.cc: New test.
939
940         * testsuite/20_util/enable_shared_from_this/56383.cc: Add tests for
941         additional ambiguous cases.
942
943 2016-10-19  Jonathan Wakely  <jwakely@redhat.com>
944
945         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&)): Call
946         _M_enable_shared_from_this_with instead of
947         __enable_shared_from_this_helper.
948         * include/bits/shared_ptr.h (__enable_shared_from_this_helper):
949         Remove overload for std::enable_shared_from_this..
950         (__enable_shared_from_this_base): Define friend function to select a
951         std::enable_shared_from_this base class.
952         * include/bits/shared_ptr_base.h (__enable_shared_from_this_helper):
953         Remove all overloads.
954         (__shared_ptr): Change all relevant constructors to call
955         _M_enable_shared_from_this_with instead of
956         __enable_shared_from_this_helper.
957         (__shared_ptr::__efst_base_t, __shared_ptr::__has_efst_base): Helpers
958         to detect accessible and unambiguous enable_shared_from_this bases.
959         (__shared_ptr::_M_enable_shared_from_this_with): New function to
960         replace __enable_shared_from_this_helper overloads.
961         (__enable_shared_from_this_helper): Remove overload for
962         std::__enable_shared_from_this.
963         (__enable_shared_from_this_base): Define friend function to select a
964         std::__enable_shared_from_this base class.
965         * include/experimental/bits/shared_ptr.h (experimental::shared_ptr):
966         Change relevant constructors to call _M_enable_shared_from_this_with.
967         (experimental::shared_ptr::__efst_base_t)
968         (experimental::shared_ptr::__has_efst_base): Helpers to detect
969         accessible and unambiguous enable_shared_from_this bases.
970         (experimental::shared_ptr::_M_enable_shared_from_this_with): Define.
971         (experimental::__enable_shared_from_this_helper): Remove overload for
972         std::experimental::enable_shared_from_this.
973         (experimental::__expt_enable_shared_from_this_base): Define friend
974         function to select a std::experimental::enable_shared_from_this base.
975         * testsuite/experimental/memory/shared_ptr/cons/
976         enable_shared_from_this.cc: New test.
977         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
978         Adjust expected behaviour for shared_ptr<A[]>.
979
980         * include/debug/vector (__gnu_debug::vector::emplace_back): Fix return
981         type.
982
983         * include/backward/auto_ptr.h (dauto_ptr): Correct comment about
984         conversions from auto_ptr<Derived> rvalues to auto_ptr<Base>.
985         * testsuite/20_util/auto_ptr/assign_neg.cc: Remove redundant dg-error
986         directives that only match notes, not errors.
987
988         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
989         Add tests for valid and invalid conversions.
990         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
991         Likewise.
992
993         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Move negative tests
994         to new file.
995         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: New file.  Fix
996         test for incompatible deleters to not also use incompatible types.
997         Add tests for incompatible array types.
998
999         * include/experimental/bits/shared_ptr.h
1000         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_Compatible): Just use
1001         is_convertible for non-array specialization.
1002         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_UniqCompatible): New
1003         constraint for conversions from unique_ptr.
1004         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::__shared_ptr): Constrain.
1005         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::reset): Likewise.
1006         (__sp_compatible_v): New variable template for trait.
1007         (__sp_is_constructible): New trait to check shared_ptr constraints.
1008         (__sp_is_constructible_v): New variable template for trait.
1009         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_SafeConv): New
1010         constraint for construction/reset, using __sp_is_constructible_v.
1011         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_UniqCompatible): New
1012         constraint for conversions from unique_ptr.
1013         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::__shared_ptr): Constrain.
1014         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::reset): Likewise.
1015         (shared_ptr::_SafeConv): Constraint for checking constructors.
1016         (shared_ptr(Tp1*), shared_ptr(_Tp1, _Deleter))
1017         (shared_ptr(_Tp1, _Deleter, _Alloc)): Constrain with _SafeConv.
1018         (shared_ptr(const weak_ptr<_Tp1>&)): Constrain with _Compatible.
1019         (shared_ptr(auto_ptr<_Tp1>&&)): Fix, remove TODO.
1020         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
1021         Remove tests using invalid conversions.
1022         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor_neg.cc:
1023         New test.
1024         * testsuite/experimental/memory/shared_ptr/cons/torture.cc: New test.
1025         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Remove
1026         tests using invalid conversions.
1027         * testsuite/experimental/memory/shared_ptr/modifiers/reset_neg.cc: New
1028         test.
1029         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
1030         Remove tests using invalid conversions.
1031
1032         PR libstdc++/77990
1033         * include/bits/unique_ptr.h (__uniq_ptr_impl): New type to
1034         encapsulate implementation details.
1035         (unique_ptr::unique_ptr(_Up)): Don't copy deleter object.
1036         (unique_ptr::get, unique_ptr::get_deleter, unique_ptr::release):
1037         Call member functions of implementation object.
1038         (unique_ptr<T[], D>): Likewise.
1039         * python/libstdcxx/v6/printers.py (UniquePointerPrinter): Adjust for
1040         new implementation.
1041         * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker): Likewise.
1042         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
1043         lines.
1044         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
1045         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
1046         * testsuite/20_util/unique_ptr/cons/77990.cc: New test.
1047
1048 2016-10-18  Jonathan Wakely  <jwakely@redhat.com>
1049
1050         * include/experimental/bits/shared_ptr.h: Fix indentation.
1051
1052         * include/experimental/bits/shared_ptr.h (shared_ptr(shared_ptr&&)):
1053         Remove const from parameter.
1054         (operator<(const shared_ptr<T>&, nullptr_t)): Use correct
1055         specialization of std::less.
1056         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
1057         Test comparison with nullptr and actually call test functions.
1058
1059         * include/bits/uses_allocator.h (__is_uses_allocator_constructible_v)
1060         (__is_nothrow_uses_allocator_constructible_v): Only define for C++14
1061         and later.
1062
1063 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1064
1065         * testsuite/27_io/basic_filebuf/close/12790-1.cc: Remove 'test'
1066         variables.
1067         * testsuite/27_io/basic_filebuf/close/char/1.cc: Likewise.
1068         * testsuite/27_io/basic_filebuf/close/char/12790-1.cc: Likewise.
1069         * testsuite/27_io/basic_filebuf/close/char/12790-2.cc: Likewise.
1070         * testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Likewise.
1071         * testsuite/27_io/basic_filebuf/close/char/12790-4.cc: Likewise.
1072         * testsuite/27_io/basic_filebuf/close/char/2.cc: Likewise.
1073         * testsuite/27_io/basic_filebuf/close/char/3.cc: Likewise.
1074         * testsuite/27_io/basic_filebuf/close/char/4.cc: Likewise.
1075         * testsuite/27_io/basic_filebuf/close/char/5.cc: Likewise.
1076         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc: Likewise.
1077         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc: Likewise.
1078         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc: Likewise.
1079         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc: Likewise.
1080         * testsuite/27_io/basic_filebuf/cons/2020.cc: Likewise.
1081         * testsuite/27_io/basic_filebuf/cons/char/1.cc: Likewise.
1082         * testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
1083         * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: Likewise.
1084         * testsuite/27_io/basic_filebuf/imbue/12206.cc: Likewise.
1085         * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
1086         * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
1087         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
1088         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
1089         * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
1090         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
1091         * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
1092         * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
1093         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: Likewise.
1094         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
1095         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
1096         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
1097         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
1098         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
1099         * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
1100         * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
1101         * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
1102         * testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: Likewise.
1103         * testsuite/27_io/basic_filebuf/is_open/char/1.cc: Likewise.
1104         * testsuite/27_io/basic_filebuf/open/12790-1.cc: Likewise.
1105         * testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise.
1106         * testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise.
1107         * testsuite/27_io/basic_filebuf/open/char/3.cc: Likewise.
1108         * testsuite/27_io/basic_filebuf/open/char/4.cc: Likewise.
1109         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1110         * testsuite/27_io/basic_filebuf/overflow/char/1.cc: Likewise.
1111         * testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Likewise.
1112         * testsuite/27_io/basic_filebuf/overflow/char/2.cc: Likewise.
1113         * testsuite/27_io/basic_filebuf/overflow/char/3599.cc: Likewise.
1114         * testsuite/27_io/basic_filebuf/overflow/char/9169.cc: Likewise.
1115         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Likewise.
1116         * testsuite/27_io/basic_filebuf/overflow/char/9988.cc: Likewise.
1117         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise.
1118         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise.
1119         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise.
1120         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise.
1121         * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: Likewise.
1122         * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Likewise.
1123         * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Likewise.
1124         * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Likewise.
1125         * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Likewise.
1126         * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Likewise.
1127         * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: Likewise.
1128         * testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc: Likewise.
1129         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
1130         * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Likewise.
1131         * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Likewise.
1132         * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Likewise.
1133         * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Likewise.
1134         * testsuite/27_io/basic_filebuf/seekoff/45628-2.cc: Likewise.
1135         * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise.
1136         * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Likewise.
1137         * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise.
1138         * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: Likewise.
1139         * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: Likewise.
1140         * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc: Likewise.
1141         * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc: Likewise.
1142         * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc: Likewise.
1143         * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc: Likewise.
1144         * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise.
1145         * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
1146         * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise.
1147         * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Likewise.
1148         * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Likewise.
1149         * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
1150         * testsuite/27_io/basic_filebuf/seekoff/char/4.cc: Likewise.
1151         * testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc: Likewise.
1152         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
1153         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: Likewise.
1154         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc: Likewise.
1155         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc: Likewise.
1156         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc: Likewise.
1157         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc: Likewise.
1158         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: Likewise.
1159         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Likewise.
1160         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Likewise.
1161         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
1162         Likewise.
1163         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
1164         * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Likewise.
1165         * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Likewise.
1166         * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Likewise.
1167         * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Likewise.
1168         * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise.
1169         * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Likewise.
1170         * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc: Likewise.
1171         * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc: Likewise.
1172         * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc: Likewise.
1173         * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc: Likewise.
1174         * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Likewise.
1175         * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise.
1176         * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Likewise.
1177         * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
1178         * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Likewise.
1179         * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.
1180         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Likewise.
1181         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc: Likewise.
1182         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc: Likewise.
1183         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc: Likewise.
1184         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc: Likewise.
1185         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
1186         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
1187         Likewise.
1188         * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise.
1189         * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: Likewise.
1190         * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc
1191         * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Likewise.
1192         * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
1193         * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Likewise.
1194         * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Likewise.
1195         * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Likewise.
1196         * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Likewise.
1197         * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Likewise.
1198         * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: Likewise.
1199         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Likewise.
1200         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
1201         * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Likewise.
1202         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
1203         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
1204         * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: Likewise.
1205         * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: Likewise.
1206         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Likewise.
1207         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Likewise.
1208         * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Likewise.
1209         * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Likewise.
1210         * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Likewise.
1211         * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Likewise.
1212         * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Likewise.
1213         * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: Likewise.
1214         * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: Likewise.
1215         * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Likewise.
1216         * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Likewise.
1217         * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: Likewise.
1218         * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Likewise.
1219         * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: Likewise.
1220         * testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc: Likewise.
1221         * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: Likewise.
1222         * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Likewise.
1223         * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Likewise.
1224         * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: Likewise.
1225         * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Likewise.
1226         * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: Likewise.
1227         * testsuite/27_io/basic_filebuf/sputc/char/59427.cc: Likewise.
1228         * testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Likewise.
1229         * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: Likewise.
1230         * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Likewise.
1231         * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Likewise.
1232         * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: Likewise.
1233         * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: Likewise.
1234         * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: Likewise.
1235         * testsuite/27_io/basic_filebuf/sputn/char/59427.cc: Likewise.
1236         * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Likewise.
1237         * testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Likewise.
1238         * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Likewise.
1239         * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Likewise.
1240         * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Likewise.
1241         * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Likewise.
1242         * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Likewise.
1243         * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: Likewise.
1244         * testsuite/27_io/basic_filebuf/sync/char/1057.cc: Likewise.
1245         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Likewise.
1246         * testsuite/27_io/basic_filebuf/underflow/char/1.cc: Likewise.
1247         * testsuite/27_io/basic_filebuf/underflow/char/2.cc: Likewise.
1248         * testsuite/27_io/basic_filebuf/underflow/char/3.cc: Likewise.
1249         * testsuite/27_io/basic_filebuf/underflow/char/45841.cc: Likewise.
1250         * testsuite/27_io/basic_filebuf/underflow/char/9027.cc: Likewise.
1251         * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
1252         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: Likewise.
1253         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: Likewise.
1254         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: Likewise.
1255         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: Likewise.
1256         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: Likewise.
1257         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: Likewise.
1258         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: Likewise.
1259         * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
1260         * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
1261         * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: Likewise.
1262         * testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc: Likewise.
1263         * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: Likewise.
1264         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Likewise.
1265         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
1266         * testsuite/27_io/basic_fstream/cons/1.cc: Likewise.
1267         * testsuite/27_io/basic_fstream/rdbuf/char/2832.cc: Likewise.
1268         * testsuite/27_io/basic_ifstream/cons/2020.cc: Likewise.
1269         * testsuite/27_io/basic_ifstream/cons/char/1.cc: Likewise.
1270         * testsuite/27_io/basic_ifstream/open/char/1.cc: Likewise.
1271         * testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc: Likewise.
1272         * testsuite/27_io/basic_ios/clear/char/1.cc: Likewise.
1273         * testsuite/27_io/basic_ios/cons/2020.cc: Likewise.
1274         * testsuite/27_io/basic_ios/cons/char/1.cc: Likewise.
1275         * testsuite/27_io/basic_ios/cons/char/2.cc: Likewise.
1276         * testsuite/27_io/basic_ios/cons/char/3.cc: Likewise.
1277         * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise.
1278         * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
1279         * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
1280         * testsuite/27_io/basic_ios/imbue/14072.cc: Likewise.
1281         * testsuite/27_io/basic_ios/locales/char/1.cc: Likewise.
1282         * testsuite/27_io/basic_iostream/cons/2020.cc: Likewise.
1283         * testsuite/27_io/basic_istream/cons/3.cc: Likewise.
1284         * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Likewise.
1285         * testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc: Likewise.
1286         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1287         Likewise.
1288         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1289         Likewise.
1290         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1291         Likewise.
1292         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1293         Likewise.
1294         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1295         Likewise.
1296         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1297         Likewise.
1298         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1299         Likewise.
1300         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1301         Likewise.
1302         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1303         Likewise.
1304         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1305         Likewise.
1306         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1307         Likewise.
1308         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
1309         Likewise.
1310         * testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc:
1311         Likewise.
1312         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1313         exceptions_badbit_throw.cc: Likewise.
1314         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1315         exceptions_failbit.cc: Likewise.
1316         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1317         exceptions_failbit_throw.cc: Likewise.
1318         * testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc:
1319         Likewise.
1320         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
1321         Likewise.
1322         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/02.cc:
1323         Likewise.
1324         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/03.cc:
1325         Likewise.
1326         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/06.cc:
1327         Likewise.
1328         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc:
1329         Likewise.
1330         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/08.cc:
1331         Likewise.
1332         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
1333         Likewise.
1334         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
1335         Likewise.
1336         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/11.cc:
1337         Likewise.
1338         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1339         Likewise.
1340         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc:
1341         Likewise.
1342         * testsuite/27_io/basic_istream/extractors_arithmetic/
1343         wchar_t/9555-ia.cc: Likewise.
1344         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1345         dr696.cc: Likewise.
1346         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1347         exceptions_badbit_throw.cc: Likewise.
1348         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1349         exceptions_failbit.cc: Likewise.
1350         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1351         exceptions_failbit_throw.cc: Likewise.
1352         * testsuite/27_io/basic_istream/extractors_character/char/1.cc:
1353         Likewise.
1354         * testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc:
1355         Likewise.
1356         * testsuite/27_io/basic_istream/extractors_character/char/2.cc:
1357         Likewise.
1358         * testsuite/27_io/basic_istream/extractors_character/char/3.cc:
1359         Likewise.
1360         * testsuite/27_io/basic_istream/extractors_character/char/4.cc:
1361         Likewise.
1362         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
1363         Likewise.
1364         * testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc:
1365         Likewise.
1366         * testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc:
1367         Likewise.
1368         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1369         11095-i.cc: Likewise.
1370         * testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc:
1371         Likewise.
1372         * testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc:
1373         Likewise.
1374         * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
1375         Likewise.
1376         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1377         9555-ic.cc: Likewise.
1378         * testsuite/27_io/basic_istream/extractors_other/char/1.cc: Likewise.
1379         * testsuite/27_io/basic_istream/extractors_other/char/2.cc: Likewise.
1380         * testsuite/27_io/basic_istream/extractors_other/char/26181.cc:
1381         Likewise.
1382         * testsuite/27_io/basic_istream/extractors_other/char/3.cc: Likewise.
1383         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1384         Likewise.
1385         * testsuite/27_io/basic_istream/extractors_other/char/9424-in.cc:
1386         Likewise.
1387         * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
1388         Likewise.
1389         * testsuite/27_io/basic_istream/extractors_other/char/
1390         error_failbit.cc: Likewise.
1391         * testsuite/27_io/basic_istream/extractors_other/char/
1392         exceptions_badbit_throw.cc: Likewise.
1393         * testsuite/27_io/basic_istream/extractors_other/char/
1394         exceptions_failbit_throw.cc: Likewise.
1395         * testsuite/27_io/basic_istream/extractors_other/char/
1396         exceptions_null.cc: Likewise.
1397         * testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc:
1398         Likewise.
1399         * testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc: Likewise.
1400         * testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc: Likewise.
1401         * testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc:
1402         Likewise.
1403         * testsuite/27_io/basic_istream/extractors_other/wchar_t/3.cc: Likewise.
1404         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9318-in.cc:
1405         Likewise.
1406         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9424-in.cc:
1407         Likewise.
1408         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9555-io.cc:
1409         Likewise.
1410         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1411         error_failbit.cc: Likewise.
1412         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1413         exceptions_badbit_throw.cc: Likewise.
1414         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1415         exceptions_failbit_throw.cc: Likewise.
1416         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1417         exceptions_null.cc: Likewise.
1418         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1419         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1420         * testsuite/27_io/basic_istream/get/char/3.cc: Likewise.
1421         * testsuite/27_io/basic_istream/get/wchar_t/1.cc: Likewise.
1422         * testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise.
1423         * testsuite/27_io/basic_istream/get/wchar_t/3.cc: Likewise.
1424         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1425         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1426         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1427         * testsuite/27_io/basic_istream/getline/char/4.cc: Likewise.
1428         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
1429         * testsuite/27_io/basic_istream/getline/char/6.cc: Likewise.
1430         * testsuite/27_io/basic_istream/getline/wchar_t/1.cc: Likewise.
1431         * testsuite/27_io/basic_istream/getline/wchar_t/2.cc: Likewise.
1432         * testsuite/27_io/basic_istream/getline/wchar_t/3.cc: Likewise.
1433         * testsuite/27_io/basic_istream/getline/wchar_t/4.cc: Likewise.
1434         * testsuite/27_io/basic_istream/getline/wchar_t/5.cc: Likewise.
1435         * testsuite/27_io/basic_istream/getline/wchar_t/6.cc: Likewise.
1436         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1437         * testsuite/27_io/basic_istream/ignore/char/2.cc: Likewise.
1438         * testsuite/27_io/basic_istream/ignore/char/3.cc: Likewise.
1439         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1440         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1441         * testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
1442         * testsuite/27_io/basic_istream/ignore/wchar_t/2.cc: Likewise.
1443         * testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise.
1444         * testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc: Likewise.
1445         * testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc: Likewise.
1446         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1447         * testsuite/27_io/basic_istream/peek/char/12296.cc: Likewise.
1448         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1449         * testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise.
1450         * testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise.
1451         * testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise.
1452         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1453         * testsuite/27_io/basic_istream/putback/wchar_t/1.cc: Likewise.
1454         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1455         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1456         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1457         * testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
1458         * testsuite/27_io/basic_istream/read/wchar_t/2.cc: Likewise.
1459         * testsuite/27_io/basic_istream/read/wchar_t/3.cc: Likewise.
1460         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc: Likewise.
1461         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Likewise.
1462         * testsuite/27_io/basic_istream/readsome/char/8258.cc: Likewise.
1463         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc: Likewise.
1464         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Likewise.
1465         * testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc: Likewise.
1466         * testsuite/27_io/basic_istream/seekg/char/2.cc: Likewise.
1467         * testsuite/27_io/basic_istream/seekg/char/26211.cc: Likewise.
1468         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1469         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1470         * testsuite/27_io/basic_istream/seekg/char/
1471         exceptions_badbit_throw.cc: Likewise.
1472         * testsuite/27_io/basic_istream/seekg/char/fstream.cc: Likewise.
1473         * testsuite/27_io/basic_istream/seekg/char/sstream.cc: Likewise.
1474         * testsuite/27_io/basic_istream/seekg/wchar_t/2.cc: Likewise.
1475         * testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
1476         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
1477         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise.
1478         * testsuite/27_io/basic_istream/seekg/wchar_t/
1479         exceptions_badbit_throw.cc: Likewise.
1480         * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
1481         * testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise.
1482         * testsuite/27_io/basic_istream/sentry/char/1.cc: Likewise.
1483         * testsuite/27_io/basic_istream/sentry/char/2.cc: Likewise.
1484         * testsuite/27_io/basic_istream/sentry/char/3.cc: Likewise.
1485         * testsuite/27_io/basic_istream/sentry/pod/1.cc: Likewise.
1486         * testsuite/27_io/basic_istream/sentry/wchar_t/1.cc: Likewise.
1487         * testsuite/27_io/basic_istream/sentry/wchar_t/2.cc: Likewise.
1488         * testsuite/27_io/basic_istream/sentry/wchar_t/3.cc: Likewise.
1489         * testsuite/27_io/basic_istream/tellg/char/1.cc: Likewise.
1490         * testsuite/27_io/basic_istream/tellg/char/2.cc: Likewise.
1491         * testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
1492         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1493         * testsuite/27_io/basic_istream/tellg/char/
1494         exceptions_badbit_throw.cc: Likewise.
1495         * testsuite/27_io/basic_istream/tellg/char/fstream.cc: Likewise.
1496         * testsuite/27_io/basic_istream/tellg/char/sstream.cc: Likewise.
1497         * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
1498         * testsuite/27_io/basic_istream/tellg/wchar_t/2.cc: Likewise.
1499         * testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
1500         * testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
1501         * testsuite/27_io/basic_istream/tellg/wchar_t/
1502         exceptions_badbit_throw.cc: Likewise.
1503         * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
1504         * testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise.
1505         * testsuite/27_io/basic_istream/ws/char/1.cc: Likewise.
1506         * testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise.
1507         * testsuite/27_io/basic_istringstream/cons/2020.cc: Likewise.
1508         * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Likewise.
1509         * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: Likewise.
1510         * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise.
1511         * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
1512         * testsuite/27_io/basic_ofstream/cons/2020.cc: Likewise.
1513         * testsuite/27_io/basic_ofstream/cons/char/1.cc: Likewise.
1514         * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise.
1515         * testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc: Likewise.
1516         * testsuite/27_io/basic_ostream/cons/2020.cc: Likewise.
1517         * testsuite/27_io/basic_ostream/cons/char/9827.cc: Likewise.
1518         * testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: Likewise.
1519         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1520         * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise.
1521         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise.
1522         * testsuite/27_io/basic_ostream/ends/char/2.cc: Likewise.
1523         * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise.
1524         * testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise.
1525         * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise.
1526         * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise.
1527         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1528         * testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise.
1529         * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
1530         Likewise.
1531         * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise.
1532         * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise.
1533         * testsuite/27_io/basic_ostream/flush/wchar_t/
1534         exceptions_badbit_throw.cc: Likewise.
1535         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1536         Likewise.
1537         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1538         Likewise.
1539         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc:
1540         Likewise.
1541         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4.cc:
1542         Likewise.
1543         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc:
1544         Likewise.
1545         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/5.cc:
1546         Likewise.
1547         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc:
1548         Likewise.
1549         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc:
1550         Likewise.
1551         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
1552         Likewise.
1553         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1554         exceptions_badbit_throw.cc: Likewise.
1555         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1556         exceptions_failbit_throw.cc: Likewise.
1557         * testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc:
1558         Likewise.
1559         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1560         Likewise.
1561         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
1562         Likewise.
1563         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/3.cc:
1564         Likewise.
1565         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4.cc:
1566         Likewise.
1567         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc:
1568         Likewise.
1569         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc:
1570         Likewise.
1571         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc:
1572         Likewise.
1573         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc:
1574         Likewise.
1575         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1576         9555-oa.cc: Likewise.
1577         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1578         exceptions_badbit_throw.cc: Likewise.
1579         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1580         exceptions_failbit_throw.cc: Likewise.
1581         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc:
1582         Likewise.
1583         * testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc:
1584         Likewise.
1585         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc:
1586         Likewise.
1587         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc: Likewise.
1588         * testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc:
1589         Likewise.
1590         * testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc:
1591         Likewise.
1592         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc: Likewise.
1593         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc: Likewise.
1594         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc: Likewise.
1595         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc: Likewise.
1596         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc: Likewise.
1597         * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
1598         Likewise.
1599         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1600         11095-od.cc: Likewise.
1601         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1602         11095-oe.cc: Likewise.
1603         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1604         11095-of.cc: Likewise.
1605         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/2.cc:
1606         Likewise.
1607         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1608         28277-1.cc: Likewise.
1609         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1610         28277-2.cc: Likewise.
1611         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1612         28277-3.cc: Likewise.
1613         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1614         28277-4.cc: Likewise.
1615         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/3.cc:
1616         Likewise.
1617         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc:
1618         Likewise.
1619         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/5.cc:
1620         Likewise.
1621         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/6.cc:
1622         Likewise.
1623         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1624         Likewise.
1625         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1626         Likewise.
1627         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1628         9555-oc.cc: Likewise.
1629         * testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Likewise.
1630         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Likewise.
1631         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Likewise.
1632         * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: Likewise.
1633         * testsuite/27_io/basic_ostream/inserters_other/char/9318-out.cc:
1634         Likewise.
1635         * testsuite/27_io/basic_ostream/inserters_other/char/9424-out.cc:
1636         Likewise.
1637         * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
1638         Likewise.
1639         * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
1640         Likewise.
1641         * testsuite/27_io/basic_ostream/inserters_other/char/
1642         error_failbit.cc: Likewise.
1643         * testsuite/27_io/basic_ostream/inserters_other/char/
1644         exceptions_badbit_throw.cc: Likewise.
1645         * testsuite/27_io/basic_ostream/inserters_other/char/
1646         exceptions_failbit_throw.cc: Likewise.
1647         * testsuite/27_io/basic_ostream/inserters_other/char/
1648         exceptions_null.cc: Likewise.
1649         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc: Likewise.
1650         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc: Likewise.
1651         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/4.cc: Likewise.
1652         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/5.cc: Likewise.
1653         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1654         9318-out.cc: Likewise.
1655         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1656         9424-out.cc: Likewise.
1657         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1658         9555-oo.cc: Likewise.
1659         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1660         error_code.cc: Likewise.
1661         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1662         error_failbit.cc: Likewise.
1663         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1664         exceptions_badbit_throw.cc: Likewise.
1665         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1666         exceptions_failbit_throw.cc: Likewise.
1667         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1668         exceptions_null.cc: Likewise.
1669         * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
1670         * testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise.
1671         * testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc: Likewise.
1672         * testsuite/27_io/basic_ostream/seekp/char/2346-sstream.cc: Likewise.
1673         * testsuite/27_io/basic_ostream/seekp/char/
1674         exceptions_badbit_throw.cc: Likewise.
1675         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc: Likewise.
1676         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-sstream.cc: Likewise.
1677         * testsuite/27_io/basic_ostream/seekp/wchar_t/
1678         exceptions_badbit_throw.cc: Likewise.
1679         * testsuite/27_io/basic_ostream/sentry/char/1.cc: Likewise.
1680         * testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise.
1681         * testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise.
1682         * testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise.
1683         * testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise.
1684         * testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
1685         * testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
1686         * testsuite/27_io/basic_ostream/tellp/char/
1687         exceptions_badbit_throw.cc: Likewise.
1688         * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
1689         * testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise.
1690         * testsuite/27_io/basic_ostream/tellp/wchar_t/
1691         exceptions_badbit_throw.cc: Likewise.
1692         * testsuite/27_io/basic_ostream/write/char/1.cc: Likewise.
1693         * testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise.
1694         * testsuite/27_io/basic_ostringstream/cons/2020.cc: Likewise.
1695         * testsuite/27_io/basic_ostringstream/cons/char/3.cc: Likewise.
1696         * testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise.
1697         * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc: Likewise.
1698         * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise.
1699         * testsuite/27_io/basic_ostringstream/str/char/1.cc: Likewise.
1700         * testsuite/27_io/basic_ostringstream/str/char/2.cc: Likewise.
1701         * testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
1702         * testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise.
1703         * testsuite/27_io/basic_streambuf/cons/2020.cc: Likewise.
1704         * testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise.
1705         * testsuite/27_io/basic_streambuf/cons/char/1.cc: Likewise.
1706         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
1707         * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: Likewise.
1708         * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
1709         * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
1710         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: Likewise.
1711         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
1712         * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
1713         * testsuite/27_io/basic_streambuf/in_avail/char/1.cc: Likewise.
1714         * testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc: Likewise.
1715         * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
1716         * testsuite/27_io/basic_streambuf/overflow/char/2.cc: Likewise.
1717         * testsuite/27_io/basic_streambuf/overflow/char/3599.cc: Likewise.
1718         * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc: Likewise.
1719         * testsuite/27_io/basic_streambuf/overflow/wchar_t/2.cc: Likewise.
1720         * testsuite/27_io/basic_streambuf/overflow/wchar_t/3599.cc: Likewise.
1721         * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
1722         * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
1723         * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
1724         * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
1725         * testsuite/27_io/basic_streambuf/sputbackc/char/9538.cc: Likewise.
1726         * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
1727         * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
1728         * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
1729         * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
1730         * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
1731         * testsuite/27_io/basic_stringbuf/cons/2020.cc: Likewise.
1732         * testsuite/27_io/basic_stringbuf/cons/char/1.cc: Likewise.
1733         * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
1734         * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Likewise.
1735         * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
1736         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Likewise.
1737         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
1738         * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Likewise.
1739         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
1740         * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: Likewise.
1741         * testsuite/27_io/basic_stringbuf/overflow/char/2.cc: Likewise.
1742         * testsuite/27_io/basic_stringbuf/overflow/char/26250.cc: Likewise.
1743         * testsuite/27_io/basic_stringbuf/overflow/char/3599.cc: Likewise.
1744         * testsuite/27_io/basic_stringbuf/overflow/char/9988.cc: Likewise.
1745         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc: Likewise.
1746         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/2.cc: Likewise.
1747         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc: Likewise.
1748         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/3599.cc: Likewise.
1749         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/9988.cc: Likewise.
1750         * testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: Likewise.
1751         * testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
1752         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
1753         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
1754         * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Likewise.
1755         * testsuite/27_io/basic_stringbuf/sbumpc/char/9825.cc: Likewise.
1756         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Likewise.
1757         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/9825.cc: Likewise.
1758         * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Likewise.
1759         * testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: Likewise.
1760         * testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: Likewise.
1761         * testsuite/27_io/basic_stringbuf/seekoff/char/2.cc: Likewise.
1762         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
1763         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
1764         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: Likewise.
1765         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/2.cc: Likewise.
1766         * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
1767         * testsuite/27_io/basic_stringbuf/seekpos/char/2.cc: Likewise.
1768         * testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc: Likewise.
1769         * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Likewise.
1770         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
1771         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/2.cc: Likewise.
1772         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc: Likewise.
1773         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/3.cc: Likewise.
1774         * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Likewise.
1775         * testsuite/27_io/basic_stringbuf/setbuf/char/2.cc: Likewise.
1776         * testsuite/27_io/basic_stringbuf/setbuf/char/3.cc: Likewise.
1777         * testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: Likewise.
1778         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Likewise.
1779         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/2.cc: Likewise.
1780         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/3.cc: Likewise.
1781         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.
1782         * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Likewise.
1783         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
1784         * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Likewise.
1785         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
1786         * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Likewise.
1787         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
1788         * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Likewise.
1789         * testsuite/27_io/basic_stringbuf/sputbackc/char/9425.cc: Likewise.
1790         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Likewise.
1791         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc: Likewise.
1792         * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Likewise.
1793         * testsuite/27_io/basic_stringbuf/sputc/char/9404-1.cc: Likewise.
1794         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Likewise.
1795         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/9404-1.cc: Likewise.
1796         * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Likewise.
1797         * testsuite/27_io/basic_stringbuf/sputn/char/9404-2.cc: Likewise.
1798         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Likewise.
1799         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/9404-2.cc: Likewise.
1800         * testsuite/27_io/basic_stringbuf/str/char/1.cc: Likewise.
1801         * testsuite/27_io/basic_stringbuf/str/char/2.cc: Likewise.
1802         * testsuite/27_io/basic_stringbuf/str/char/3.cc: Likewise.
1803         * testsuite/27_io/basic_stringbuf/str/char/3955.cc: Likewise.
1804         * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc: Likewise.
1805         * testsuite/27_io/basic_stringbuf/str/wchar_t/2.cc: Likewise.
1806         * testsuite/27_io/basic_stringbuf/str/wchar_t/3.cc: Likewise.
1807         * testsuite/27_io/basic_stringbuf/str/wchar_t/3955.cc: Likewise.
1808         * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise.
1809         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
1810         * testsuite/27_io/basic_stringbuf/sync/char/1057.cc: Likewise.
1811         * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
1812         * testsuite/27_io/basic_stringstream/cons/2020.cc: Likewise.
1813         * testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Likewise.
1814         * testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: Likewise.
1815         * testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise.
1816         * testsuite/27_io/basic_stringstream/str/char/2.cc: Likewise.
1817         * testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise.
1818         * testsuite/27_io/basic_stringstream/str/char/4.cc: Likewise.
1819         * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
1820         * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise.
1821         * testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise.
1822         * testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise.
1823         * testsuite/27_io/fpos/11450.cc: Likewise.
1824         * testsuite/27_io/fpos/14252.cc: Likewise.
1825         * testsuite/27_io/fpos/14320-1.cc: Likewise.
1826         * testsuite/27_io/fpos/14320-2.cc: Likewise.
1827         * testsuite/27_io/fpos/14320-3.cc: Likewise.
1828         * testsuite/27_io/fpos/14320-4.cc: Likewise.
1829         * testsuite/27_io/fpos/14320-5.cc: Likewise.
1830         * testsuite/27_io/fpos/14775.cc: Likewise.
1831         * testsuite/27_io/fpos/mbstate_t/1.cc: Likewise.
1832         * testsuite/27_io/fpos/mbstate_t/12065.cc: Likewise.
1833         * testsuite/27_io/fpos/mbstate_t/2.cc: Likewise.
1834         * testsuite/27_io/fpos/mbstate_t/3.cc: Likewise.
1835         * testsuite/27_io/ios_base/callbacks/1.cc: Likewise.
1836         * testsuite/27_io/ios_base/failure/what-1.cc: Likewise.
1837         * testsuite/27_io/ios_base/failure/what-2.cc: Likewise.
1838         * testsuite/27_io/ios_base/failure/what-3.cc: Likewise.
1839         * testsuite/27_io/ios_base/failure/what-big.cc: Likewise.
1840         * testsuite/27_io/ios_base/state/1.cc: Likewise.
1841         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
1842         * testsuite/27_io/ios_base/storage/11584.cc: Likewise.
1843         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
1844         * testsuite/27_io/ios_base/sync_with_stdio/2.cc: Likewise.
1845         * testsuite/27_io/manipulators/adjustfield/char/1.cc: Likewise.
1846         * testsuite/27_io/manipulators/adjustfield/char/2.cc
1847         * testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: Likewise.
1848         * testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise.
1849         * testsuite/27_io/manipulators/basefield/char/1.cc: Likewise.
1850         * testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise.
1851         * testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
1852         * testsuite/27_io/manipulators/extended/get_money/char/51288.cc:
1853         Likewise.
1854         * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
1855         Likewise.
1856         * testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc:
1857         Likewise.
1858         * testsuite/27_io/manipulators/extended/get_time/char/1.cc
1859         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise.
1860         * testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc: Likewise.
1861         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Likewise.
1862         * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
1863         * testsuite/27_io/manipulators/extended/put_money/char/51288.cc:
1864         Likewise.
1865         * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
1866         Likewise.
1867         * testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc:
1868         Likewise.
1869         * testsuite/27_io/manipulators/extended/put_time/char/1.cc: Likewise.
1870         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise.
1871         * testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc: Likewise.
1872         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Likewise.
1873         * testsuite/27_io/manipulators/standard/char/1.cc: Likewise.
1874         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
1875         * testsuite/27_io/manipulators/standard/char/dr2344.cc: Likewise.
1876         * testsuite/27_io/manipulators/standard/char/quoted.cc: Likewise.
1877         * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
1878         * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
1879         * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: Likewise.
1880         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Likewise.
1881         * testsuite/27_io/objects/char/1.cc: Likewise.
1882         * testsuite/27_io/objects/char/10.cc: Likewise.
1883         * testsuite/27_io/objects/char/3045.cc: Likewise.
1884         * testsuite/27_io/objects/char/41037.cc: Likewise.
1885         * testsuite/27_io/objects/char/5.cc: Likewise.
1886         * testsuite/27_io/objects/char/6.cc: Likewise.
1887         * testsuite/27_io/objects/char/6548_xin.cc: Likewise.
1888         * testsuite/27_io/objects/char/6648-1_xin.cc: Likewise.
1889         * testsuite/27_io/objects/char/6648-2_xin.cc: Likewise.
1890         * testsuite/27_io/objects/char/7744_xin.cc: Likewise.
1891         * testsuite/27_io/objects/char/8.cc: Likewise.
1892         * testsuite/27_io/objects/char/9.cc: Likewise.
1893         * testsuite/27_io/objects/char/9661-2_xin.cc: Likewise.
1894         * testsuite/27_io/objects/char/dr455.cc: Likewise.
1895         * testsuite/27_io/objects/wchar_t/1.cc: Likewise.
1896         * testsuite/27_io/objects/wchar_t/10.cc: Likewise.
1897         * testsuite/27_io/objects/wchar_t/11.cc: Likewise.
1898         * testsuite/27_io/objects/wchar_t/12.cc: Likewise.
1899         * testsuite/27_io/objects/wchar_t/13.cc: Likewise.
1900         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise.
1901         * testsuite/27_io/objects/wchar_t/3045.cc: Likewise.
1902         * testsuite/27_io/objects/wchar_t/41037.cc: Likewise.
1903         * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
1904         * testsuite/27_io/objects/wchar_t/6548_xin.cc: Likewise.
1905         * testsuite/27_io/objects/wchar_t/6648-1_xin.cc: Likewise.
1906         * testsuite/27_io/objects/wchar_t/6648-2_xin.cc: Likewise.
1907         * testsuite/27_io/objects/wchar_t/7744_xin.cc: Likewise.
1908         * testsuite/27_io/objects/wchar_t/8.cc: Likewise.
1909         * testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
1910         * testsuite/27_io/objects/wchar_t/9661-2_xin.cc: Likewise.
1911         * testsuite/27_io/objects/wchar_t/9662.cc: Likewise.
1912         * testsuite/27_io/objects/wchar_t/dr455.cc: Likewise.
1913         * testsuite/27_io/types/3.cc: Likewise.
1914
1915 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
1916
1917         PR libstdc++/77994
1918         * include/bits/stl_algo.h (sample): Convert size argument to iterator
1919         difference type.
1920         * include/experimental/algorithm (experimental::sample): Likewise.
1921         * testsuite/25_algorithms/sample/2.cc: New test.
1922
1923 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1924
1925         * testsuite/unordered_map/insert/57619.C: Rename to 57619.cc.
1926         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
1927
1928 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1929
1930         * testsuite/array/capacity/empty.cc: Remove 'test' variables.
1931         * testsuite/array/capacity/max_size.cc: Likewise.
1932         * testsuite/array/capacity/size.cc: Likewise.
1933         * testsuite/array/comparison_operators/equal.cc: Likewise.
1934         * testsuite/array/comparison_operators/greater.cc: Likewise.
1935         * testsuite/array/comparison_operators/greater_or_equal.cc: Likewise.
1936         * testsuite/array/comparison_operators/less.cc: Likewise.
1937         * testsuite/array/comparison_operators/less_or_equal.cc: Likewise.
1938         * testsuite/array/comparison_operators/not_equal.cc: Likewise.
1939         * testsuite/array/element_access/54388.cc: Likewise.
1940         * testsuite/array/element_access/at_out_of_range.cc: Likewise.
1941         * testsuite/array/element_access/back.cc: Likewise.
1942         * testsuite/array/element_access/data.cc: Likewise.
1943         * testsuite/array/element_access/front.cc: Likewise.
1944         * testsuite/array/iterators/end_is_one_past.cc: Likewise.
1945         * testsuite/array/requirements/contiguous.cc: Likewise.
1946         * testsuite/array/requirements/fill.cc: Likewise.
1947         * testsuite/array/requirements/member_swap.cc: Likewise.
1948         * testsuite/array/requirements/zero_sized_arrays.cc: Likewise.
1949         * testsuite/array/specialized_algorithms/swap.cc: Likewise.
1950         * testsuite/array/tuple_interface/tuple_element.cc: Likewise.
1951         * testsuite/array/tuple_interface/tuple_element_cpp14.cc: Likewise.
1952         * testsuite/array/tuple_interface/tuple_size.cc: Likewise.
1953         * testsuite/bitset/all/1.cc: Likewise.
1954         * testsuite/bitset/cons/1.cc: Likewise.
1955         * testsuite/bitset/cons/16020.cc: Likewise.
1956         * testsuite/bitset/cons/2.cc: Likewise.
1957         * testsuite/bitset/cons/3.cc: Likewise.
1958         * testsuite/bitset/cons/50268.cc: Likewise.
1959         * testsuite/bitset/cons/6282.cc: Likewise.
1960         * testsuite/bitset/cons/dr1325-2.cc: Likewise.
1961         * testsuite/bitset/cons/dr396.cc: Likewise.
1962         * testsuite/bitset/ext/15361.cc: Likewise.
1963         * testsuite/bitset/input/1.cc: Likewise.
1964         * testsuite/bitset/operations/1.cc: Likewise.
1965         * testsuite/bitset/operations/13838.cc: Likewise.
1966         * testsuite/bitset/operations/2.cc: Likewise.
1967         * testsuite/bitset/test/1.cc: Likewise.
1968         * testsuite/bitset/to_string/1.cc: Likewise.
1969         * testsuite/bitset/to_string/dr396.cc: Likewise.
1970         * testsuite/bitset/to_ullong/1.cc: Likewise.
1971         * testsuite/bitset/to_ulong/1.cc: Likewise.
1972         * testsuite/deque/allocator/copy.cc: Likewise.
1973         * testsuite/deque/allocator/copy_assign.cc: Likewise.
1974         * testsuite/deque/allocator/ext_ptr.cc: Likewise.
1975         * testsuite/deque/allocator/minimal.cc: Likewise.
1976         * testsuite/deque/allocator/move.cc: Likewise.
1977         * testsuite/deque/allocator/move_assign.cc: Likewise.
1978         * testsuite/deque/allocator/swap.cc: Likewise.
1979         * testsuite/deque/capacity/29134-2.cc: Likewise.
1980         * testsuite/deque/capacity/29134.cc: Likewise.
1981         * testsuite/deque/capacity/moveable.cc: Likewise.
1982         * testsuite/deque/capacity/resize_size.cc: Likewise.
1983         * testsuite/deque/capacity/shrink_to_fit.cc: Likewise.
1984         * testsuite/deque/cons/1.cc: Likewise.
1985         * testsuite/deque/cons/2.cc: Likewise.
1986         * testsuite/deque/cons/assign/1.cc: Likewise.
1987         * testsuite/deque/cons/cons_size.cc: Likewise.
1988         * testsuite/deque/cons/moveable.cc: Likewise.
1989         * testsuite/deque/modifiers/erase/1.cc: Likewise.
1990         * testsuite/deque/modifiers/erase/2.cc: Likewise.
1991         * testsuite/deque/modifiers/erase/3.cc: Likewise.
1992         * testsuite/deque/modifiers/erase/moveable.cc: Likewise.
1993         * testsuite/deque/modifiers/moveable.cc: Likewise.
1994         * testsuite/deque/modifiers/push_back/49836.cc: Likewise.
1995         * testsuite/deque/modifiers/push_front/49836.cc: Likewise.
1996         * testsuite/deque/modifiers/swap/1.cc: Likewise.
1997         * testsuite/deque/modifiers/swap/2.cc: Likewise.
1998         * testsuite/deque/modifiers/swap/3.cc: Likewise.
1999         * testsuite/deque/operators/1.cc: Likewise.
2000         * testsuite/deque/operators/2.cc: Likewise.
2001         * testsuite/forward_list/allocator/copy.cc: Likewise.
2002         * testsuite/forward_list/allocator/copy_assign.cc: Likewise.
2003         * testsuite/forward_list/allocator/ext_ptr.cc: Likewise.
2004         * testsuite/forward_list/allocator/minimal.cc: Likewise.
2005         * testsuite/forward_list/allocator/move.cc: Likewise.
2006         * testsuite/forward_list/allocator/move_assign.cc: Likewise.
2007         * testsuite/forward_list/allocator/swap.cc: Likewise.
2008         * testsuite/forward_list/capacity/1.cc: Likewise.
2009         * testsuite/forward_list/capacity/resize_size.cc: Likewise.
2010         * testsuite/forward_list/comparable.cc: Likewise.
2011         * testsuite/forward_list/cons/1.cc: Likewise.
2012         * testsuite/forward_list/cons/2.cc: Likewise.
2013         * testsuite/forward_list/cons/3.cc: Likewise.
2014         * testsuite/forward_list/cons/4.cc: Likewise.
2015         * testsuite/forward_list/cons/5.cc: Likewise.
2016         * testsuite/forward_list/cons/6.cc: Likewise.
2017         * testsuite/forward_list/cons/7.cc: Likewise.
2018         * testsuite/forward_list/cons/8.cc: Likewise.
2019         * testsuite/forward_list/cons/9.cc: Likewise.
2020         * testsuite/forward_list/cons/cons_size.cc: Likewise.
2021         * testsuite/forward_list/cons/moveable.cc: Likewise.
2022         * testsuite/forward_list/debug/clear.cc: Likewise.
2023         * testsuite/forward_list/debug/construct4_neg.cc: Likewise.
2024         * testsuite/forward_list/debug/erase_after1_neg.cc: Likewise.
2025         * testsuite/forward_list/debug/move_assign_neg.cc: Likewise.
2026         * testsuite/forward_list/debug/move_constructor.cc: Likewise.
2027         * testsuite/forward_list/debug/move_neg.cc: Likewise.
2028         * testsuite/forward_list/debug/splice_after.cc: Likewise.
2029         * testsuite/forward_list/debug/swap.cc: Likewise.
2030         * testsuite/forward_list/modifiers/1.cc: Likewise.
2031         * testsuite/forward_list/modifiers/2.cc: Likewise.
2032         * testsuite/forward_list/modifiers/3.cc: Likewise.
2033         * testsuite/forward_list/modifiers/4.cc: Likewise.
2034         * testsuite/forward_list/modifiers/5.cc: Likewise.
2035         * testsuite/forward_list/modifiers/6.cc: Likewise.
2036         * testsuite/forward_list/operations/1.cc: Likewise.
2037         * testsuite/forward_list/operations/2.cc: Likewise.
2038         * testsuite/forward_list/operations/3.cc: Likewise.
2039         * testsuite/forward_list/operations/4.cc: Likewise.
2040         * testsuite/forward_list/operations/5.cc: Likewise.
2041         * testsuite/forward_list/operations/6.cc: Likewise.
2042         * testsuite/forward_list/operations/7.cc: Likewise.
2043         * testsuite/forward_list/operations/remove_freed.cc: Likewise.
2044         * testsuite/list/61347.cc: Likewise.
2045         * testsuite/list/allocator/copy.cc: Likewise.
2046         * testsuite/list/allocator/copy_assign.cc: Likewise.
2047         * testsuite/list/allocator/minimal.cc: Likewise.
2048         * testsuite/list/allocator/move.cc: Likewise.
2049         * testsuite/list/allocator/move_assign.cc: Likewise.
2050         * testsuite/list/allocator/swap.cc: Likewise.
2051         * testsuite/list/capacity/1.h: Likewise.
2052         * testsuite/list/capacity/29134.cc: Likewise.
2053         * testsuite/list/capacity/resize_size.cc: Likewise.
2054         * testsuite/list/cons/1.h: Likewise.
2055         * testsuite/list/cons/2.h: Likewise.
2056         * testsuite/list/cons/3.h: Likewise.
2057         * testsuite/list/cons/4.h: Likewise.
2058         * testsuite/list/cons/5.h: Likewise.
2059         * testsuite/list/cons/6.h: Likewise.
2060         * testsuite/list/cons/7.h: Likewise.
2061         * testsuite/list/cons/8.h: Likewise.
2062         * testsuite/list/cons/9.h: Likewise.
2063         * testsuite/list/cons/cons_size.cc: Likewise.
2064         * testsuite/list/cons/moveable.h: Likewise.
2065         * testsuite/list/debug/invalidation/1.cc: Likewise.
2066         * testsuite/list/debug/invalidation/2.cc: Likewise.
2067         * testsuite/list/debug/invalidation/3.cc: Likewise.
2068         * testsuite/list/debug/invalidation/4.cc: Likewise.
2069         * testsuite/list/modifiers/1.h: Likewise.
2070         * testsuite/list/modifiers/2.h: Likewise.
2071         * testsuite/list/modifiers/3.h: Likewise.
2072         * testsuite/list/modifiers/insert/25288.h: Likewise.
2073         * testsuite/list/modifiers/swap/1.h: Likewise.
2074         * testsuite/list/modifiers/swap/2.h: Likewise.
2075         * testsuite/list/modifiers/swap/3.h: Likewise.
2076         * testsuite/list/operations/1.h: Likewise.
2077         * testsuite/list/operations/2.h: Likewise.
2078         * testsuite/list/operations/3.h: Likewise.
2079         * testsuite/list/operations/4.h: Likewise.
2080         * testsuite/list/operations/42352.cc: Likewise.
2081         * testsuite/map/allocator/copy.cc: Likewise.
2082         * testsuite/map/allocator/copy_assign.cc: Likewise.
2083         * testsuite/map/allocator/init-list.cc: Likewise.
2084         * testsuite/map/allocator/minimal.cc: Likewise.
2085         * testsuite/map/allocator/move.cc: Likewise.
2086         * testsuite/map/allocator/move_assign.cc: Likewise.
2087         * testsuite/map/allocator/swap.cc: Likewise.
2088         * testsuite/map/capacity/29134.cc: Likewise.
2089         * testsuite/map/cons/moveable.cc: Likewise.
2090         * testsuite/map/debug/construct5_neg.cc: Likewise.
2091         * testsuite/map/debug/move_assign_neg.cc: Likewise.
2092         * testsuite/map/debug/move_neg.cc: Likewise.
2093         * testsuite/map/element_access/1.cc: Likewise.
2094         * testsuite/map/element_access/2.cc: Likewise.
2095         * testsuite/map/element_access/39901.cc: Likewise.
2096         * testsuite/map/init-list.cc: Likewise.
2097         * testsuite/map/modifiers/dr130.cc: Likewise.
2098         * testsuite/map/modifiers/emplace/1.cc: Likewise.
2099         * testsuite/map/modifiers/extract.cc: Likewise.
2100         * testsuite/map/modifiers/insert/1.cc: Likewise.
2101         * testsuite/map/modifiers/insert/16813.cc: Likewise.
2102         * testsuite/map/modifiers/insert/2.cc: Likewise.
2103         * testsuite/map/modifiers/insert/3.cc: Likewise.
2104         * testsuite/map/modifiers/insert/4.cc: Likewise.
2105         * testsuite/map/modifiers/insert/5.cc: Likewise.
2106         * testsuite/map/modifiers/insert_or_assign/1.cc: Likewise.
2107         * testsuite/map/modifiers/merge.cc: Likewise.
2108         * testsuite/map/modifiers/swap/1.cc: Likewise.
2109         * testsuite/map/modifiers/swap/2.cc: Likewise.
2110         * testsuite/map/modifiers/swap/3.cc: Likewise.
2111         * testsuite/map/modifiers/try_emplace/1.cc: Likewise.
2112         * testsuite/map/operations/1.cc: Likewise.
2113         * testsuite/map/operations/count.cc: Likewise.
2114         * testsuite/map/operators/1_neg.cc: Likewise.
2115         * testsuite/map/operators/2.cc: Likewise.
2116         * testsuite/multimap/allocator/copy.cc: Likewise.
2117         * testsuite/multimap/allocator/copy_assign.cc: Likewise.
2118         * testsuite/multimap/allocator/init-list.cc: Likewise.
2119         * testsuite/multimap/allocator/minimal.cc: Likewise.
2120         * testsuite/multimap/allocator/move.cc: Likewise.
2121         * testsuite/multimap/allocator/move_assign.cc: Likewise.
2122         * testsuite/multimap/allocator/swap.cc: Likewise.
2123         * testsuite/multimap/capacity/29134.cc: Likewise.
2124         * testsuite/multimap/cons/moveable.cc: Likewise.
2125         * testsuite/multimap/debug/construct5_neg.cc: Likewise.
2126         * testsuite/multimap/debug/move_assign_neg.cc: Likewise.
2127         * testsuite/multimap/debug/move_neg.cc: Likewise.
2128         * testsuite/multimap/init-list.cc: Likewise.
2129         * testsuite/multimap/modifiers/dr130.cc: Likewise.
2130         * testsuite/multimap/modifiers/emplace/1.cc: Likewise.
2131         * testsuite/multimap/modifiers/extract.cc: Likewise.
2132         * testsuite/multimap/modifiers/insert/1.cc: Likewise.
2133         * testsuite/multimap/modifiers/insert/2.cc: Likewise.
2134         * testsuite/multimap/modifiers/insert/22102.cc: Likewise.
2135         * testsuite/multimap/modifiers/insert/3.cc: Likewise.
2136         * testsuite/multimap/modifiers/insert/4.cc: Likewise.
2137         * testsuite/multimap/modifiers/merge.cc: Likewise.
2138         * testsuite/multimap/modifiers/swap/1.cc: Likewise.
2139         * testsuite/multimap/modifiers/swap/2.cc: Likewise.
2140         * testsuite/multimap/modifiers/swap/3.cc: Likewise.
2141         * testsuite/multimap/operations/1.cc: Likewise.
2142         * testsuite/multimap/operations/count.cc: Likewise.
2143         * testsuite/multiset/allocator/copy.cc: Likewise.
2144         * testsuite/multiset/allocator/copy_assign.cc: Likewise.
2145         * testsuite/multiset/allocator/init-list.cc: Likewise.
2146         * testsuite/multiset/allocator/minimal.cc: Likewise.
2147         * testsuite/multiset/allocator/move.cc: Likewise.
2148         * testsuite/multiset/allocator/move_assign.cc: Likewise.
2149         * testsuite/multiset/allocator/swap.cc: Likewise.
2150         * testsuite/multiset/capacity/29134.cc: Likewise.
2151         * testsuite/multiset/cons/moveable.cc: Likewise.
2152         * testsuite/multiset/debug/construct5_neg.cc: Likewise.
2153         * testsuite/multiset/debug/invalidation/2.cc: Likewise.
2154         * testsuite/multiset/debug/move_assign_neg.cc: Likewise.
2155         * testsuite/multiset/debug/move_neg.cc: Likewise.
2156         * testsuite/multiset/init-list.cc: Likewise.
2157         * testsuite/multiset/modifiers/dr130.cc: Likewise.
2158         * testsuite/multiset/modifiers/emplace/1.cc: Likewise.
2159         * testsuite/multiset/modifiers/extract.cc: Likewise.
2160         * testsuite/multiset/modifiers/insert/1.cc: Likewise.
2161         * testsuite/multiset/modifiers/insert/2.cc: Likewise.
2162         * testsuite/multiset/modifiers/insert/22102.cc: Likewise.
2163         * testsuite/multiset/modifiers/insert/3.cc: Likewise.
2164         * testsuite/multiset/modifiers/insert/4.cc: Likewise.
2165         * testsuite/multiset/modifiers/merge.cc: Likewise.
2166         * testsuite/multiset/modifiers/swap/1.cc: Likewise.
2167         * testsuite/multiset/modifiers/swap/2.cc: Likewise.
2168         * testsuite/multiset/modifiers/swap/3.cc: Likewise.
2169         * testsuite/multiset/operations/1.cc: Likewise.
2170         * testsuite/multiset/operations/count.cc: Likewise.
2171         * testsuite/priority_queue/moveable.cc: Likewise.
2172         * testsuite/queue/moveable.cc: Likewise.
2173         * testsuite/set/allocator/copy.cc: Likewise.
2174         * testsuite/set/allocator/copy_assign.cc: Likewise.
2175         * testsuite/set/allocator/init-list.cc: Likewise.
2176         * testsuite/set/allocator/minimal.cc: Likewise.
2177         * testsuite/set/allocator/move.cc: Likewise.
2178         * testsuite/set/allocator/move_assign.cc: Likewise.
2179         * testsuite/set/allocator/swap.cc: Likewise.
2180         * testsuite/set/capacity/29134.cc: Likewise.
2181         * testsuite/set/cons/moveable.cc: Likewise.
2182         * testsuite/set/debug/construct5_neg.cc: Likewise.
2183         * testsuite/set/debug/invalidation/2.cc: Likewise.
2184         * testsuite/set/debug/move_assign_neg.cc: Likewise.
2185         * testsuite/set/debug/move_neg.cc: Likewise.
2186         * testsuite/set/init-list.cc: Likewise.
2187         * testsuite/set/modifiers/17948.cc: Likewise.
2188         * testsuite/set/modifiers/dr130.cc: Likewise.
2189         * testsuite/set/modifiers/emplace/1.cc: Likewise.
2190         * testsuite/set/modifiers/extract.cc: Likewise.
2191         * testsuite/set/modifiers/insert/1.cc: Likewise.
2192         * testsuite/set/modifiers/insert/2.cc: Likewise.
2193         * testsuite/set/modifiers/insert/3.cc: Likewise.
2194         * testsuite/set/modifiers/merge.cc: Likewise.
2195         * testsuite/set/modifiers/swap/1.cc: Likewise.
2196         * testsuite/set/modifiers/swap/2.cc: Likewise.
2197         * testsuite/set/modifiers/swap/3.cc: Likewise.
2198         * testsuite/set/operations/1.cc: Likewise.
2199         * testsuite/set/operations/count.cc: Likewise.
2200         * testsuite/set/operators/1_neg.cc: Likewise.
2201         * testsuite/unordered_map/allocator/copy.cc: Likewise.
2202         * testsuite/unordered_map/allocator/copy_assign.cc: Likewise.
2203         * testsuite/unordered_map/allocator/minimal.cc: Likewise.
2204         * testsuite/unordered_map/allocator/move.cc: Likewise.
2205         * testsuite/unordered_map/allocator/move_assign.cc: Likewise.
2206         * testsuite/unordered_map/allocator/swap.cc: Likewise.
2207         * testsuite/unordered_map/cons/moveable.cc: Likewise.
2208         * testsuite/unordered_map/debug/construct5_neg.cc: Likewise.
2209         * testsuite/unordered_map/debug/move_assign_neg.cc: Likewise.
2210         * testsuite/unordered_map/debug/move_neg.cc: Likewise.
2211         * testsuite/unordered_map/dr761.cc: Likewise.
2212         * testsuite/unordered_map/erase/1.cc: Likewise.
2213         * testsuite/unordered_map/erase/24061-map.cc: Likewise.
2214         * testsuite/unordered_map/erase/54276.cc: Likewise.
2215         * testsuite/unordered_map/hash_policy/dr1189.cc: Likewise.
2216         * testsuite/unordered_map/init-list.cc: Likewise.
2217         * testsuite/unordered_map/insert/24061-map.cc: Likewise.
2218         * testsuite/unordered_map/insert/57619.C: Likewise.
2219         * testsuite/unordered_map/insert/array_syntax.cc: Likewise.
2220         * testsuite/unordered_map/insert/array_syntax_move.cc: Likewise.
2221         * testsuite/unordered_map/insert/map_range.cc: Likewise.
2222         * testsuite/unordered_map/insert/map_single.cc: Likewise.
2223         * testsuite/unordered_map/insert/map_single_move-1.cc: Likewise.
2224         * testsuite/unordered_map/insert/map_single_move-2.cc: Likewise.
2225         * testsuite/unordered_map/modifiers/61667.cc: Likewise.
2226         * testsuite/unordered_map/modifiers/emplace.cc: Likewise.
2227         * testsuite/unordered_map/modifiers/extract.cc: Likewise.
2228         * testsuite/unordered_map/modifiers/insert_or_assign.cc: Likewise.
2229         * testsuite/unordered_map/modifiers/merge.cc: Likewise.
2230         * testsuite/unordered_map/modifiers/reserve.cc: Likewise.
2231         * testsuite/unordered_map/modifiers/try_emplace.cc: Likewise.
2232         * testsuite/unordered_map/operations/count.cc: Likewise.
2233         * testsuite/unordered_map/operators/1.cc: Likewise.
2234         * testsuite/unordered_map/operators/2.cc: Likewise.
2235         * testsuite/unordered_multimap/allocator/copy.cc: Likewise.
2236         * testsuite/unordered_multimap/allocator/copy_assign.cc: Likewise.
2237         * testsuite/unordered_multimap/allocator/minimal.cc: Likewise.
2238         * testsuite/unordered_multimap/allocator/move.cc: Likewise.
2239         * testsuite/unordered_multimap/allocator/move_assign.cc: Likewise.
2240         * testsuite/unordered_multimap/allocator/swap.cc: Likewise.
2241         * testsuite/unordered_multimap/cons/moveable.cc: Likewise.
2242         * testsuite/unordered_multimap/debug/construct5_neg.cc: Likewise.
2243         * testsuite/unordered_multimap/debug/move_assign_neg.cc: Likewise.
2244         * testsuite/unordered_multimap/debug/move_neg.cc: Likewise.
2245         * testsuite/unordered_multimap/erase/1.cc: Likewise.
2246         * testsuite/unordered_multimap/erase/2.cc: Likewise.
2247         * testsuite/unordered_multimap/erase/24061-multimap.cc: Likewise.
2248         * testsuite/unordered_multimap/erase/51845-multimap.cc: Likewise.
2249         * testsuite/unordered_multimap/erase/54276.cc: Likewise.
2250         * testsuite/unordered_multimap/hash_policy/dr1189.cc: Likewise.
2251         * testsuite/unordered_multimap/init-list.cc: Likewise.
2252         * testsuite/unordered_multimap/insert/24061-multimap.cc: Likewise.
2253         * testsuite/unordered_multimap/insert/51866.cc: Likewise.
2254         * testsuite/unordered_multimap/insert/52476.cc: Likewise.
2255         * testsuite/unordered_multimap/insert/53115.cc: Likewise.
2256         * testsuite/unordered_multimap/insert/57619.C: Likewise.
2257         * testsuite/unordered_multimap/insert/hint.cc: Likewise.
2258         * testsuite/unordered_multimap/insert/multimap_range.cc: Likewise.
2259         * testsuite/unordered_multimap/insert/multimap_single.cc: Likewise.
2260         * testsuite/unordered_multimap/insert/multimap_single_move-1.cc:
2261         Likewise.
2262         * testsuite/unordered_multimap/insert/multimap_single_move-2.cc:
2263         Likewise.
2264         * testsuite/unordered_multimap/modifiers/emplace.cc: Likewise.
2265         * testsuite/unordered_multimap/modifiers/extract.cc: Likewise.
2266         * testsuite/unordered_multimap/modifiers/merge.cc: Likewise.
2267         * testsuite/unordered_multimap/modifiers/reserve.cc: Likewise.
2268         * testsuite/unordered_multimap/operations/count.cc: Likewise.
2269         * testsuite/unordered_multimap/operators/1.cc: Likewise.
2270         * testsuite/unordered_multimap/operators/2.cc: Likewise.
2271         * testsuite/unordered_multiset/allocator/copy.cc: Likewise.
2272         * testsuite/unordered_multiset/allocator/copy_assign.cc: Likewise.
2273         * testsuite/unordered_multiset/allocator/minimal.cc: Likewise.
2274         * testsuite/unordered_multiset/allocator/move.cc: Likewise.
2275         * testsuite/unordered_multiset/allocator/move_assign.cc: Likewise.
2276         * testsuite/unordered_multiset/allocator/swap.cc: Likewise.
2277         * testsuite/unordered_multiset/cons/copy.cc: Likewise.
2278         * testsuite/unordered_multiset/cons/moveable.cc: Likewise.
2279         * testsuite/unordered_multiset/debug/construct5_neg.cc: Likewise.
2280         * testsuite/unordered_multiset/debug/move_assign_neg.cc: Likewise.
2281         * testsuite/unordered_multiset/debug/move_neg.cc: Likewise.
2282         * testsuite/unordered_multiset/erase/1.cc: Likewise.
2283         * testsuite/unordered_multiset/erase/2.cc: Likewise.
2284         * testsuite/unordered_multiset/erase/24061-multiset.cc: Likewise.
2285         * testsuite/unordered_multiset/hash_policy/dr1189.cc: Likewise.
2286         * testsuite/unordered_multiset/init-list.cc: Likewise.
2287         * testsuite/unordered_multiset/insert/24061-multiset.cc: Likewise.
2288         * testsuite/unordered_multiset/insert/51866.cc: Likewise.
2289         * testsuite/unordered_multiset/insert/52476.cc: Likewise.
2290         * testsuite/unordered_multiset/insert/53115.cc: Likewise.
2291         * testsuite/unordered_multiset/insert/hash_policy.cc: Likewise.
2292         * testsuite/unordered_multiset/insert/multiset_range.cc: Likewise.
2293         * testsuite/unordered_multiset/insert/multiset_single.cc: Likewise.
2294         * testsuite/unordered_multiset/insert/multiset_single_move.cc: Likewise.
2295         * testsuite/unordered_multiset/modifiers/emplace.cc: Likewise.
2296         * testsuite/unordered_multiset/modifiers/extract.cc: Likewise.
2297         * testsuite/unordered_multiset/modifiers/merge.cc: Likewise.
2298         * testsuite/unordered_multiset/modifiers/reserve.cc: Likewise.
2299         * testsuite/unordered_multiset/operations/count.cc: Likewise.
2300         * testsuite/unordered_multiset/operators/1.cc: Likewise.
2301         * testsuite/unordered_set/allocator/copy.cc: Likewise.
2302         * testsuite/unordered_set/allocator/copy_assign.cc: Likewise.
2303         * testsuite/unordered_set/allocator/ext_ptr.cc: Likewise.
2304         * testsuite/unordered_set/allocator/minimal.cc: Likewise.
2305         * testsuite/unordered_set/allocator/move.cc: Likewise.
2306         * testsuite/unordered_set/allocator/move_assign.cc: Likewise.
2307         * testsuite/unordered_set/allocator/swap.cc: Likewise.
2308         * testsuite/unordered_set/buckets/swap.cc: Likewise.
2309         * testsuite/unordered_set/cons/moveable.cc: Likewise.
2310         * testsuite/unordered_set/debug/construct5_neg.cc: Likewise.
2311         * testsuite/unordered_set/debug/debug_functions.cc: Likewise.
2312         * testsuite/unordered_set/debug/move_assign_neg.cc: Likewise.
2313         * testsuite/unordered_set/debug/move_neg.cc: Likewise.
2314         * testsuite/unordered_set/erase/1.cc: Likewise.
2315         * testsuite/unordered_set/erase/24061-set.cc: Likewise.
2316         * testsuite/unordered_set/hash_policy/26132.cc: Likewise.
2317         * testsuite/unordered_set/hash_policy/71181.cc: Likewise.
2318         * testsuite/unordered_set/hash_policy/dr1189.cc: Likewise.
2319         * testsuite/unordered_set/hash_policy/load_factor.cc: Likewise.
2320         * testsuite/unordered_set/hash_policy/power2_rehash.cc: Likewise.
2321         * testsuite/unordered_set/hash_policy/prime_rehash.cc: Likewise.
2322         * testsuite/unordered_set/hash_policy/rehash.cc: Likewise.
2323         * testsuite/unordered_set/init-list.cc: Likewise.
2324         * testsuite/unordered_set/insert/24061-set.cc: Likewise.
2325         * testsuite/unordered_set/insert/hash_policy.cc: Likewise.
2326         * testsuite/unordered_set/insert/move_range.cc: Likewise.
2327         * testsuite/unordered_set/insert/set_range.cc: Likewise.
2328         * testsuite/unordered_set/insert/set_single.cc: Likewise.
2329         * testsuite/unordered_set/insert/set_single_move.cc: Likewise.
2330         * testsuite/unordered_set/max_load_factor/robustness.cc: Likewise.
2331         * testsuite/unordered_set/modifiers/emplace.cc: Likewise.
2332         * testsuite/unordered_set/modifiers/extract.cc: Likewise.
2333         * testsuite/unordered_set/modifiers/merge.cc: Likewise.
2334         * testsuite/unordered_set/modifiers/reserve.cc: Likewise.
2335         * testsuite/unordered_set/modifiers/swap.cc: Likewise.
2336         * testsuite/unordered_set/operations/count.cc: Likewise.
2337         * testsuite/unordered_set/operators/1.cc: Likewise.
2338         * testsuite/vector/allocator/copy.cc: Likewise.
2339         * testsuite/vector/allocator/copy_assign.cc: Likewise.
2340         * testsuite/vector/allocator/ext_ptr.cc: Likewise.
2341         * testsuite/vector/allocator/minimal.cc: Likewise.
2342         * testsuite/vector/allocator/move.cc: Likewise.
2343         * testsuite/vector/allocator/move_assign.cc: Likewise.
2344         * testsuite/vector/allocator/swap.cc: Likewise.
2345         * testsuite/vector/bool/6886.cc: Likewise.
2346         * testsuite/vector/bool/72847.cc: Likewise.
2347         * testsuite/vector/bool/allocator/copy.cc: Likewise.
2348         * testsuite/vector/bool/allocator/copy_assign.cc: Likewise.
2349         * testsuite/vector/bool/allocator/ext_ptr.cc: Likewise.
2350         * testsuite/vector/bool/allocator/move.cc: Likewise.
2351         * testsuite/vector/bool/allocator/move_assign.cc: Likewise.
2352         * testsuite/vector/bool/allocator/swap.cc: Likewise.
2353         * testsuite/vector/bool/capacity/1.cc: Likewise.
2354         * testsuite/vector/bool/capacity/29134.cc: Likewise.
2355         * testsuite/vector/bool/capacity/shrink_to_fit.cc: Likewise.
2356         * testsuite/vector/bool/cons/1.cc: Likewise.
2357         * testsuite/vector/bool/cons/2.cc: Likewise.
2358         * testsuite/vector/bool/modifiers/erase/1.cc: Likewise.
2359         * testsuite/vector/bool/modifiers/insert/1.cc: Likewise.
2360         * testsuite/vector/bool/modifiers/insert/31370.cc: Likewise.
2361         * testsuite/vector/bool/modifiers/swap/1.cc: Likewise.
2362         * testsuite/vector/bool/modifiers/swap/2.cc: Likewise.
2363         * testsuite/vector/bool/swap.cc: Likewise.
2364         * testsuite/vector/capacity/1.cc: Likewise.
2365         * testsuite/vector/capacity/2.cc: Likewise.
2366         * testsuite/vector/capacity/29134-2.cc: Likewise.
2367         * testsuite/vector/capacity/29134.cc: Likewise.
2368         * testsuite/vector/capacity/44190.cc: Likewise.
2369         * testsuite/vector/capacity/8230.cc: Likewise.
2370         * testsuite/vector/capacity/reserve/moveable.cc: Likewise.
2371         * testsuite/vector/capacity/reserve/moveable2.cc: Likewise.
2372         * testsuite/vector/capacity/resize/1.cc: Likewise.
2373         * testsuite/vector/capacity/resize/moveable.cc: Likewise.
2374         * testsuite/vector/capacity/resize/moveable2.cc: Likewise.
2375         * testsuite/vector/capacity/resize/resize_size.cc: Likewise.
2376         * testsuite/vector/capacity/shrink_to_fit.cc: Likewise.
2377         * testsuite/vector/capacity/shrink_to_fit2.cc: Likewise.
2378         * testsuite/vector/cons/3.cc: Likewise.
2379         * testsuite/vector/cons/4.cc: Likewise.
2380         * testsuite/vector/cons/cons_size.cc: Likewise.
2381         * testsuite/vector/cons/moveable.cc: Likewise.
2382         * testsuite/vector/data_access/1.cc: Likewise.
2383         * testsuite/vector/debug/debug_functions.cc: Likewise.
2384         * testsuite/vector/debug/move_assign_neg.cc: Likewise.
2385         * testsuite/vector/debug/move_neg.cc: Likewise.
2386         * testsuite/vector/debug/multithreaded_swap.cc: Likewise.
2387         * testsuite/vector/element_access/1.cc: Likewise.
2388         * testsuite/vector/ext_pointer/citerators.cc: Likewise.
2389         * testsuite/vector/ext_pointer/data_access.cc: Likewise.
2390         * testsuite/vector/ext_pointer/modifiers/element.cc: Likewise.
2391         * testsuite/vector/ext_pointer/modifiers/erase.cc: Likewise.
2392         * testsuite/vector/ext_pointer/modifiers/insert.cc: Likewise.
2393         * testsuite/vector/ext_pointer/resize.cc: Likewise.
2394         * testsuite/vector/modifiers/1.cc: Likewise.
2395         * testsuite/vector/modifiers/2.cc: Likewise.
2396         * testsuite/vector/modifiers/emplace/self_emplace.cc: Likewise.
2397         * testsuite/vector/modifiers/erase/1.cc: Likewise.
2398         * testsuite/vector/modifiers/erase/moveable.cc: Likewise.
2399         * testsuite/vector/modifiers/insert/1.cc: Likewise.
2400         * testsuite/vector/modifiers/insert/self_insert.cc: Likewise.
2401         * testsuite/vector/modifiers/moveable.cc: Likewise.
2402         * testsuite/vector/modifiers/moveable2.cc: Likewise.
2403         * testsuite/vector/modifiers/push_back/49836.cc: Likewise.
2404         * testsuite/vector/modifiers/swap/1.cc: Likewise.
2405         * testsuite/vector/modifiers/swap/2.cc: Likewise.
2406         * testsuite/vector/modifiers/swap/3.cc: Likewise.
2407         * testsuite/vector/zero_sized_allocations.cc: Likewise.
2408
2409 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
2410
2411         PR libstdc++/77998
2412         * include/std/future (__future_base::_Deferred_state)
2413         (__future_base::_Async_state_impl): Use decltype to deduce return
2414         type, instead of _Invoker::result_type.
2415         * include/std/thread (thread::_Invoker::operator()): Likewise.
2416         (thread::_Invoker::result_type): Remove.
2417
2418         PR libstdc++/77987
2419         * include/bits/unique_ptr.h (unique_ptr<T[], D>::reset<U>(U)): Copy
2420         value to pointer of the correct type to swap, to support conversions
2421         allowed by LWG 2118 / N4089.
2422         * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Move test for
2423         incompatible deleters from ...
2424         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: ... here.
2425         * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Move tests for
2426         incompatible pointers to ...
2427         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: ... here. Move
2428         destructor definition to base class. Test for invalid derived-to-base
2429         conversion.
2430
2431         * doc/xml/manual/status_cxx2017.xml: Update status.
2432         * doc/html/*: Regenerate.
2433         * include/bits/deque.tcc (deque::emplace_front, deque::emplace_back):
2434         Return a reference in C++17 mode.
2435         * include/bits/forward_list.h (forward_list::emplace_front): Likewise.
2436         * include/bits/stl_bvector.h (vector<bool>::emplace_back): Likewise.
2437         * include/bits/stl_deque.h (deque::emplace_front, deque::emplace_back):
2438         Likewise.
2439         * include/bits/stl_list.h (list::emplace_front, list::emplace_back):
2440         Likewise.
2441         * include/bits/stl_queue.h (queue::emplace): Likewise.
2442         * include/bits/stl_stack.h (stack::emplace): Likewise.
2443         * include/bits/stl_vector.h (vector::emplace_back): Likewise.
2444         * include/bits/vector.tcc (vector::emplace_back): Likewise.
2445         * include/debug/deque (__gnu_debug::deque::emplace_front)
2446         (__gnu_debug::deque::emplace_back): Likewise.
2447         * include/debug/vector (__gnu_debug::vector::emplace_back): Likewise.
2448         * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
2449         New.
2450         * testsuite/23_containers/forward_list/modifiers/
2451         emplace_cxx17_return.cc: New.
2452         * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: New.
2453         * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: New.
2454         * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: New.
2455         * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: New.
2456         * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
2457         New.
2458
2459 2016-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
2460
2461         * testsuite/22_locale/classification/isblank.cc: Remove 'test'
2462         variables.
2463         * testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise.
2464         * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Likewise.
2465         * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
2466         * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
2467         * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Likewise.
2468         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Likewise.
2469         * testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise.
2470         * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc: Likewise.
2471         * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
2472         * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
2473         * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Likewise.
2474         * testsuite/22_locale/codecvt/in/char/1.cc: Likewise.
2475         * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Likewise.
2476         * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
2477         * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Likewise.
2478         * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Likewise.
2479         * testsuite/22_locale/codecvt/in/wchar_t/5.cc: Likewise.
2480         * testsuite/22_locale/codecvt/in/wchar_t/6.cc: Likewise.
2481         * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Likewise.
2482         * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
2483         * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
2484         * testsuite/22_locale/codecvt/length/char/1.cc: Likewise.
2485         * testsuite/22_locale/codecvt/length/char/2.cc: Likewise.
2486         * testsuite/22_locale/codecvt/length/wchar_t/1.cc: Likewise.
2487         * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
2488         * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
2489         * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
2490         * testsuite/22_locale/codecvt/length/wchar_t/5.cc: Likewise.
2491         * testsuite/22_locale/codecvt/length/wchar_t/6.cc: Likewise.
2492         * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Likewise.
2493         * testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise.
2494         * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Likewise.
2495         * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
2496         * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
2497         * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Likewise.
2498         * testsuite/22_locale/codecvt/out/char/1.cc: Likewise.
2499         * testsuite/22_locale/codecvt/out/wchar_t/1.cc: Likewise.
2500         * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
2501         * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Likewise.
2502         * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
2503         * testsuite/22_locale/codecvt/out/wchar_t/5.cc: Likewise.
2504         * testsuite/22_locale/codecvt/out/wchar_t/6.cc: Likewise.
2505         * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
2506         * testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise.
2507         * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc: Likewise.
2508         * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
2509         * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
2510         * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
2511         * testsuite/22_locale/collate/compare/char/1.cc: Likewise.
2512         * testsuite/22_locale/collate/compare/char/2.cc: Likewise.
2513         * testsuite/22_locale/collate/compare/char/3.cc: Likewise.
2514         * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
2515         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
2516         * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
2517         * testsuite/22_locale/collate/hash/char/1.cc: Likewise.
2518         * testsuite/22_locale/collate/hash/char/2.cc: Likewise.
2519         * testsuite/22_locale/collate/hash/wchar_t/1.cc: Likewise.
2520         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
2521         * testsuite/22_locale/collate/transform/char/2.cc: Likewise.
2522         * testsuite/22_locale/collate/transform/char/28277.cc: Likewise.
2523         * testsuite/22_locale/collate/transform/char/3.cc: Likewise.
2524         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
2525         * testsuite/22_locale/collate/transform/wchar_t/28277.cc: Likewise.
2526         * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
2527         * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
2528         * testsuite/22_locale/ctype/cons/char/1.cc: Likewise.
2529         * testsuite/22_locale/ctype/is/char/1.cc: Likewise.
2530         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
2531         * testsuite/22_locale/ctype/is/char/3.cc: Likewise.
2532         * testsuite/22_locale/ctype/is/char/9858.cc: Likewise.
2533         * testsuite/22_locale/ctype/is/wchar_t/1.cc: Likewise.
2534         * testsuite/22_locale/ctype/is/wchar_t/11740.cc: Likewise.
2535         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
2536         * testsuite/22_locale/ctype/narrow/char/1.cc: Likewise.
2537         * testsuite/22_locale/ctype/narrow/char/19955.cc: Likewise.
2538         * testsuite/22_locale/ctype/narrow/char/2.cc: Likewise.
2539         * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Likewise.
2540         * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Likewise.
2541         * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Likewise.
2542         * testsuite/22_locale/ctype/scan/char/1.cc: Likewise.
2543         * testsuite/22_locale/ctype/scan/wchar_t/1.cc: Likewise.
2544         * testsuite/22_locale/ctype/to/char/1.cc: Likewise.
2545         * testsuite/22_locale/ctype/to/wchar_t/1.cc: Likewise.
2546         * testsuite/22_locale/ctype/widen/char/1.cc: Likewise.
2547         * testsuite/22_locale/ctype/widen/wchar_t/1.cc: Likewise.
2548         * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
2549         * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Likewise.
2550         * testsuite/22_locale/ctype_base/11844.cc: Likewise.
2551         * testsuite/22_locale/facet/1.cc: Likewise.
2552         * testsuite/22_locale/facet/2.cc: Likewise.
2553         * testsuite/22_locale/facet/25421.cc: Likewise.
2554         * testsuite/22_locale/global_templates/1.cc: Likewise.
2555         * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc:
2556         Likewise.
2557         * testsuite/22_locale/global_templates/user_facet_hierarchies.cc:
2558         Likewise.
2559         * testsuite/22_locale/locale/13630.cc: Likewise.
2560         * testsuite/22_locale/locale/cons/12352.cc: Likewise.
2561         * testsuite/22_locale/locale/cons/12438.cc: Likewise.
2562         * testsuite/22_locale/locale/cons/2.cc: Likewise.
2563         * testsuite/22_locale/locale/cons/29217.cc: Likewise.
2564         * testsuite/22_locale/locale/cons/38365.cc: Likewise.
2565         * testsuite/22_locale/locale/cons/38368.cc: Likewise.
2566         * testsuite/22_locale/locale/cons/4.cc: Likewise.
2567         * testsuite/22_locale/locale/cons/40184.cc: Likewise.
2568         * testsuite/22_locale/locale/cons/5.cc: Likewise.
2569         * testsuite/22_locale/locale/cons/6.cc: Likewise.
2570         * testsuite/22_locale/locale/cons/7.cc: Likewise.
2571         * testsuite/22_locale/locale/cons/7222-c.cc: Likewise.
2572         * testsuite/22_locale/locale/cons/7222-env.cc: Likewise.
2573         * testsuite/22_locale/locale/cons/8.cc: Likewise.
2574         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
2575         * testsuite/22_locale/locale/global_locale_objects/1.cc: Likewise.
2576         * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
2577         * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
2578         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
2579         * testsuite/22_locale/locale/operations/1.cc: Likewise.
2580         * testsuite/22_locale/locale/operations/2.cc: Likewise.
2581         * testsuite/22_locale/messages/13631.cc: Likewise.
2582         * testsuite/22_locale/messages/members/char/1.cc: Likewise.
2583         * testsuite/22_locale/messages/members/char/2.cc: Likewise.
2584         * testsuite/22_locale/messages/members/char/3.cc: Likewise.
2585         * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
2586         * testsuite/22_locale/money_get/get/char/1.cc: Likewise.
2587         * testsuite/22_locale/money_get/get/char/10.cc: Likewise.
2588         * testsuite/22_locale/money_get/get/char/11.cc: Likewise.
2589         * testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
2590         * testsuite/22_locale/money_get/get/char/12.cc: Likewise.
2591         * testsuite/22_locale/money_get/get/char/13.cc: Likewise.
2592         * testsuite/22_locale/money_get/get/char/14.cc: Likewise.
2593         * testsuite/22_locale/money_get/get/char/15.cc: Likewise.
2594         * testsuite/22_locale/money_get/get/char/16.cc: Likewise.
2595         * testsuite/22_locale/money_get/get/char/17.cc: Likewise.
2596         * testsuite/22_locale/money_get/get/char/18.cc: Likewise.
2597         * testsuite/22_locale/money_get/get/char/19.cc: Likewise.
2598         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
2599         * testsuite/22_locale/money_get/get/char/22131.cc: Likewise.
2600         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
2601         * testsuite/22_locale/money_get/get/char/38399.cc: Likewise.
2602         * testsuite/22_locale/money_get/get/char/39168.cc: Likewise.
2603         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
2604         * testsuite/22_locale/money_get/get/char/5.cc: Likewise.
2605         * testsuite/22_locale/money_get/get/char/6.cc: Likewise.
2606         * testsuite/22_locale/money_get/get/char/7.cc: Likewise.
2607         * testsuite/22_locale/money_get/get/char/8.cc: Likewise.
2608         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
2609         * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
2610         * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
2611         * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
2612         * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
2613         * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
2614         * testsuite/22_locale/money_get/get/wchar_t/14.cc: Likewise.
2615         * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
2616         * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
2617         * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
2618         * testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
2619         * testsuite/22_locale/money_get/get/wchar_t/19.cc: Likewise.
2620         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
2621         * testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
2622         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
2623         * testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise.
2624         * testsuite/22_locale/money_get/get/wchar_t/39168.cc: Likewise.
2625         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
2626         * testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise.
2627         * testsuite/22_locale/money_get/get/wchar_t/6.cc: Likewise.
2628         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
2629         * testsuite/22_locale/money_get/get/wchar_t/8.cc: Likewise.
2630         * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
2631         * testsuite/22_locale/money_put/put/char/12971.cc: Likewise.
2632         * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
2633         * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
2634         * testsuite/22_locale/money_put/put/char/39168.cc: Likewise.
2635         * testsuite/22_locale/money_put/put/char/4.cc: Likewise.
2636         * testsuite/22_locale/money_put/put/char/5.cc: Likewise.
2637         * testsuite/22_locale/money_put/put/char/6.cc: Likewise.
2638         * testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
2639         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
2640         * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
2641         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
2642         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
2643         * testsuite/22_locale/money_put/put/wchar_t/39168.cc: Likewise.
2644         * testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise.
2645         * testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise.
2646         * testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise.
2647         * testsuite/22_locale/moneypunct/40712.cc: Likewise.
2648         * testsuite/22_locale/moneypunct/members/char/1.cc: Likewise.
2649         * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
2650         * testsuite/22_locale/moneypunct/members/wchar_t/1.cc: Likewise.
2651         * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
2652         * testsuite/22_locale/moneypunct/requirements/false/intl.cc: Likewise.
2653         * testsuite/22_locale/moneypunct/requirements/true/intl.cc: Likewise.
2654         * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: Likewise.
2655         * testsuite/22_locale/num_get/get/char/1.cc: Likewise.
2656         * testsuite/22_locale/num_get/get/char/10.cc: Likewise.
2657         * testsuite/22_locale/num_get/get/char/11.cc: Likewise.
2658         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
2659         * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
2660         * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
2661         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
2662         * testsuite/22_locale/num_get/get/char/16.cc: Likewise.
2663         * testsuite/22_locale/num_get/get/char/2.cc: Likewise.
2664         * testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
2665         * testsuite/22_locale/num_get/get/char/23953.cc: Likewise.
2666         * testsuite/22_locale/num_get/get/char/3.cc: Likewise.
2667         * testsuite/22_locale/num_get/get/char/37958.cc: Likewise.
2668         * testsuite/22_locale/num_get/get/char/39168.cc: Likewise.
2669         * testsuite/22_locale/num_get/get/char/39802.cc: Likewise.
2670         * testsuite/22_locale/num_get/get/char/4.cc: Likewise.
2671         * testsuite/22_locale/num_get/get/char/5.cc: Likewise.
2672         * testsuite/22_locale/num_get/get/char/6.cc: Likewise.
2673         * testsuite/22_locale/num_get/get/char/7.cc: Likewise.
2674         * testsuite/22_locale/num_get/get/char/8.cc: Likewise.
2675         * testsuite/22_locale/num_get/get/char/9.cc: Likewise.
2676         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
2677         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
2678         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
2679         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
2680         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
2681         * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
2682         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
2683         * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
2684         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Likewise.
2685         * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
2686         * testsuite/22_locale/num_get/get/wchar_t/23953.cc: Likewise.
2687         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
2688         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
2689         * testsuite/22_locale/num_get/get/wchar_t/39168.cc: Likewise.
2690         * testsuite/22_locale/num_get/get/wchar_t/39802.cc: Likewise.
2691         * testsuite/22_locale/num_get/get/wchar_t/4.cc: Likewise.
2692         * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
2693         * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
2694         * testsuite/22_locale/num_get/get/wchar_t/7.cc: Likewise.
2695         * testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
2696         * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
2697         * testsuite/22_locale/num_put/put/char/1.cc: Likewise.
2698         * testsuite/22_locale/num_put/put/char/10.cc: Likewise.
2699         * testsuite/22_locale/num_put/put/char/11.cc: Likewise.
2700         * testsuite/22_locale/num_put/put/char/12.cc: Likewise.
2701         * testsuite/22_locale/num_put/put/char/14220.cc: Likewise.
2702         * testsuite/22_locale/num_put/put/char/15565.cc: Likewise.
2703         * testsuite/22_locale/num_put/put/char/2.cc: Likewise.
2704         * testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
2705         * testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
2706         * testsuite/22_locale/num_put/put/char/23953.cc: Likewise.
2707         * testsuite/22_locale/num_put/put/char/3.cc: Likewise.
2708         * testsuite/22_locale/num_put/put/char/38196.cc: Likewise.
2709         * testsuite/22_locale/num_put/put/char/38210.cc: Likewise.
2710         * testsuite/22_locale/num_put/put/char/4.cc: Likewise.
2711         * testsuite/22_locale/num_put/put/char/5.cc: Likewise.
2712         * testsuite/22_locale/num_put/put/char/6.cc: Likewise.
2713         * testsuite/22_locale/num_put/put/char/7.cc: Likewise.
2714         * testsuite/22_locale/num_put/put/char/8.cc: Likewise.
2715         * testsuite/22_locale/num_put/put/char/9.cc: Likewise.
2716         * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
2717         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
2718         * testsuite/22_locale/num_put/put/wchar_t/10.cc: Likewise.
2719         * testsuite/22_locale/num_put/put/wchar_t/11.cc: Likewise.
2720         * testsuite/22_locale/num_put/put/wchar_t/12.cc: Likewise.
2721         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
2722         * testsuite/22_locale/num_put/put/wchar_t/15565.cc: Likewise.
2723         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
2724         * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
2725         * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
2726         * testsuite/22_locale/num_put/put/wchar_t/23953.cc: Likewise.
2727         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
2728         * testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.
2729         * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
2730         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
2731         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
2732         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
2733         * testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise.
2734         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
2735         * testsuite/22_locale/num_put/put/wchar_t/9.cc: Likewise.
2736         * testsuite/22_locale/numpunct/members/char/1.cc: Likewise.
2737         * testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
2738         * testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
2739         * testsuite/22_locale/numpunct/members/char/cache_1.cc: Likewise.
2740         * testsuite/22_locale/numpunct/members/char/cache_2.cc: Likewise.
2741         * testsuite/22_locale/numpunct/members/pod/1.cc: Likewise.
2742         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Likewise.
2743         * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
2744         * testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: Likewise.
2745         * testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: Likewise.
2746         * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
2747         * testsuite/22_locale/time_get/date_order/char/1.cc: Likewise.
2748         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Likewise.
2749         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
2750         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
2751         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
2752         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
2753         * testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
2754         * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
2755         * testsuite/22_locale/time_get/get_date/char/12791.cc: Likewise.
2756         * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
2757         * testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise.
2758         * testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
2759         * testsuite/22_locale/time_get/get_date/char/5.cc: Likewise.
2760         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
2761         * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
2762         * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: Likewise.
2763         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
2764         * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
2765         * testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
2766         * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
2767         * testsuite/22_locale/time_get/get_date/wchar_t/5.cc: Likewise.
2768         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
2769         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
2770         * testsuite/22_locale/time_get/get_monthname/char/3.cc: Likewise.
2771         * testsuite/22_locale/time_get/get_monthname/char/4.cc: Likewise.
2772         * testsuite/22_locale/time_get/get_monthname/char/5.cc: Likewise.
2773         * testsuite/22_locale/time_get/get_monthname/char/6.cc: Likewise.
2774         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
2775         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
2776         * testsuite/22_locale/time_get/get_monthname/wchar_t/3.cc: Likewise.
2777         * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: Likewise.
2778         * testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc: Likewise.
2779         * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
2780         * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
2781         * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
2782         * testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
2783         * testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
2784         * testsuite/22_locale/time_get/get_time/char/5.cc: Likewise.
2785         * testsuite/22_locale/time_get/get_time/char/6.cc: Likewise.
2786         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
2787         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
2788         * testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
2789         * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
2790         * testsuite/22_locale/time_get/get_time/wchar_t/5.cc: Likewise.
2791         * testsuite/22_locale/time_get/get_time/wchar_t/6.cc: Likewise.
2792         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
2793         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
2794         * testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
2795         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise.
2796         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
2797         * testsuite/22_locale/time_get/get_weekday/char/5.cc: Likewise.
2798         * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
2799         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
2800         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
2801         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
2802         * testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc: Likewise.
2803         * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
2804         * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
2805         * testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
2806         * testsuite/22_locale/time_get/get_year/char/5.cc: Likewise.
2807         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
2808         * testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
2809         * testsuite/22_locale/time_get/get_year/wchar_t/5.cc: Likewise.
2810         * testsuite/22_locale/time_put/put/char/1.cc: Likewise.
2811         * testsuite/22_locale/time_put/put/char/10.cc: Likewise.
2812         * testsuite/22_locale/time_put/put/char/12439_1.cc: Likewise.
2813         * testsuite/22_locale/time_put/put/char/12439_3.cc: Likewise.
2814         * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
2815         * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
2816         * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
2817         * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
2818         * testsuite/22_locale/time_put/put/char/5.cc: Likewise.
2819         * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
2820         * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
2821         * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
2822         * testsuite/22_locale/time_put/put/char/9.cc: Likewise.
2823         * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
2824         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
2825         * testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
2826         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
2827         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
2828         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
2829         * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
2830         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
2831         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
2832         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
2833         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
2834         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
2835         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
2836         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
2837         * testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
2838         * testsuite/30_threads/async/42819.cc: Likewise.
2839         * testsuite/30_threads/async/any.cc: Likewise.
2840         * testsuite/30_threads/async/async.cc: Likewise.
2841         * testsuite/30_threads/async/except.cc: Likewise.
2842         * testsuite/30_threads/async/launch.cc: Likewise.
2843         * testsuite/30_threads/async/sync.cc: Likewise.
2844         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
2845         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
2846         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
2847         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
2848         * testsuite/30_threads/condition_variable/members/3.cc: Likewise.
2849         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
2850         * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
2851         * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
2852         * testsuite/30_threads/future/members/45133.cc: Likewise.
2853         * testsuite/30_threads/future/members/get.cc: Likewise.
2854         * testsuite/30_threads/future/members/get2.cc: Likewise.
2855         * testsuite/30_threads/future/members/share.cc: Likewise.
2856         * testsuite/30_threads/future/members/valid.cc: Likewise.
2857         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
2858         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
2859         * testsuite/30_threads/lock/1.cc: Likewise.
2860         * testsuite/30_threads/lock/2.cc: Likewise.
2861         * testsuite/30_threads/lock/3.cc: Likewise.
2862         * testsuite/30_threads/lock/4.cc: Likewise.
2863         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
2864         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
2865         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
2866         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
2867         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
2868         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
2869         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
2870         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
2871         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
2872         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
2873         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
2874         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
2875         * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
2876         * testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
2877         Likewise.
2878         * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
2879         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
2880         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
2881         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
2882         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
2883         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
2884         * testsuite/30_threads/promise/cons/move.cc: Likewise.
2885         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
2886         * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
2887         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
2888         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
2889         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
2890         * testsuite/30_threads/promise/members/swap.cc: Likewise.
2891         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
2892         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
2893         Likewise.
2894         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
2895         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
2896         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
2897         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
2898         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
2899         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
2900         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
2901         Likewise.
2902         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
2903         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
2904         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
2905         Likewise.
2906         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
2907         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
2908         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
2909         Likewise.
2910         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
2911         Likewise.
2912         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
2913         Likewise.
2914         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
2915         Likewise.
2916         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
2917         Likewise.
2918         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
2919         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
2920         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
2921         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
2922         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
2923         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
2924         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
2925         * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
2926         * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
2927         * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
2928         * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
2929         * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
2930         * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
2931         * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
2932         * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
2933         * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
2934         * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
2935         * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
2936         * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
2937         * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
2938         * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
2939         * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
2940         * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
2941         * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
2942         * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
2943         * testsuite/30_threads/this_thread/1.cc: Likewise.
2944         * testsuite/30_threads/this_thread/2.cc: Likewise.
2945         * testsuite/30_threads/this_thread/3.cc: Likewise.
2946         * testsuite/30_threads/this_thread/4.cc: Likewise.
2947         * testsuite/30_threads/this_thread/60421.cc: Likewise.
2948         * testsuite/30_threads/thread/cons/1.cc: Likewise.
2949         * testsuite/30_threads/thread/cons/2.cc: Likewise.
2950         * testsuite/30_threads/thread/cons/3.cc: Likewise.
2951         * testsuite/30_threads/thread/cons/4.cc: Likewise.
2952         * testsuite/30_threads/thread/cons/5.cc: Likewise.
2953         * testsuite/30_threads/thread/cons/6.cc: Likewise.
2954         * testsuite/30_threads/thread/cons/7.cc: Likewise.
2955         * testsuite/30_threads/thread/cons/8.cc: Likewise.
2956         * testsuite/30_threads/thread/cons/9.cc: Likewise.
2957         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
2958         * testsuite/30_threads/thread/members/1.cc: Likewise.
2959         * testsuite/30_threads/thread/members/2.cc: Likewise.
2960         * testsuite/30_threads/thread/members/3.cc: Likewise.
2961         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
2962         * testsuite/30_threads/thread/swap/1.cc: Likewise.
2963         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
2964         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
2965         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
2966         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
2967         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
2968         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
2969         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
2970         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
2971         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
2972         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
2973         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
2974         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
2975         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
2976         * testsuite/30_threads/try_lock/1.cc: Likewise.
2977         * testsuite/30_threads/try_lock/2.cc: Likewise.
2978         * testsuite/30_threads/try_lock/3.cc: Likewise.
2979         * testsuite/30_threads/try_lock/4.cc: Likewise.
2980         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
2981         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
2982         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
2983         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
2984         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
2985         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
2986         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
2987         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
2988         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
2989         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
2990         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
2991         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2992         not_shared.cc: Likewise.
2993         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2994         not_shared2.cc: Likewise.
2995         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2996         not_shared3.cc: Likewise.
2997         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2998         shared.cc: Likewise.
2999         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3000         still_shared.cc: Likewise.
3001         * testsuite/tr1/2_general_utilities/shared_ptr/assign/assign.cc:
3002         Likewise.
3003         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
3004         Likewise.
3005         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
3006         Likewise.
3007         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
3008         auto_ptr_rvalue_neg.cc: Likewise.
3009         * testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr.cc:
3010         Likewise.
3011         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
3012         shared_ptr_neg.cc: Likewise.
3013         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
3014         Likewise.
3015         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
3016         Likewise.
3017         * testsuite/tr1/2_general_utilities/shared_ptr/cons/copy.cc: Likewise.
3018         * testsuite/tr1/2_general_utilities/shared_ptr/cons/default.cc:
3019         Likewise.
3020         * testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc:
3021         Likewise.
3022         * testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr.cc:
3023         Likewise.
3024         * testsuite/tr1/2_general_utilities/shared_ptr/dest/dest.cc: Likewise.
3025         * testsuite/tr1/2_general_utilities/shared_ptr/misc/24595.cc: Likewise.
3026         * testsuite/tr1/2_general_utilities/shared_ptr/misc/io.cc: Likewise.
3027         * testsuite/tr1/2_general_utilities/shared_ptr/misc/swap.cc: Likewise.
3028         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset.cc:
3029         Likewise.
3030         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
3031         Likewise.
3032         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap.cc:
3033         Likewise.
3034         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap_neg.cc:
3035         Likewise.
3036         * testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
3037         Likewise.
3038         * testsuite/tr1/2_general_utilities/shared_ptr/observers/get.cc:
3039         Likewise.
3040         * testsuite/tr1/2_general_utilities/shared_ptr/observers/unique.cc:
3041         Likewise.
3042         * testsuite/tr1/2_general_utilities/shared_ptr/observers/use_count.cc:
3043         Likewise.
3044         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3045         default_weaktoshared.cc: Likewise.
3046         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3047         mutex_weaktoshared.cc: Likewise.
3048         * testsuite/tr1/3_function_objects/bind/all_bound.cc: Likewise.
3049         * testsuite/tr1/3_function_objects/bind/mixed.cc: Likewise.
3050         * testsuite/tr1/3_function_objects/bind/nested.cc: Likewise.
3051         * testsuite/tr1/3_function_objects/bind/placeholders.cc: Likewise.
3052         * testsuite/tr1/3_function_objects/bind/ref.cc: Likewise.
3053         * testsuite/tr1/3_function_objects/function/1.cc: Likewise.
3054         * testsuite/tr1/3_function_objects/function/2.cc: Likewise.
3055         * testsuite/tr1/3_function_objects/function/3.cc: Likewise.
3056         * testsuite/tr1/3_function_objects/function/4.cc: Likewise.
3057         * testsuite/tr1/3_function_objects/function/5.cc: Likewise.
3058         * testsuite/tr1/3_function_objects/function/6.cc: Likewise.
3059         * testsuite/tr1/3_function_objects/function/7.cc: Likewise.
3060         * testsuite/tr1/3_function_objects/function/8.cc: Likewise.
3061         * testsuite/tr1/3_function_objects/function/9.cc: Likewise.
3062         * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
3063         Likewise.
3064         * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
3065         Likewise.
3066         * testsuite/tr1/3_function_objects/result_of.cc: Likewise.
3067         * testsuite/tr1/4_metaprogramming/add_const/value.cc: Likewise.
3068         * testsuite/tr1/4_metaprogramming/add_cv/value.cc: Likewise.
3069         * testsuite/tr1/4_metaprogramming/add_pointer/value.cc: Likewise.
3070         * testsuite/tr1/4_metaprogramming/add_reference/value.cc: Likewise.
3071         * testsuite/tr1/4_metaprogramming/add_volatile/value.cc: Likewise.
3072         * testsuite/tr1/4_metaprogramming/aligned_storage/value.cc: Likewise.
3073         * testsuite/tr1/4_metaprogramming/alignment_of/value.cc: Likewise.
3074         * testsuite/tr1/4_metaprogramming/extent/value.cc: Likewise.
3075         * testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc: Likewise.
3076         * testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc:
3077         Likewise.
3078         * testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc: Likewise.
3079         * testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc: Likewise.
3080         * testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc:
3081         Likewise.
3082         * testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc: Likewise.
3083         * testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc:
3084         Likewise.
3085         * testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc:
3086         Likewise.
3087         * testsuite/tr1/4_metaprogramming/integral_constant/
3088         static_definition.cc: Likewise.
3089         * testsuite/tr1/4_metaprogramming/integral_constant/
3090         true_false_value.cc: Likewise.
3091         * testsuite/tr1/4_metaprogramming/is_abstract/value.cc: Likewise.
3092         * testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc: Likewise.
3093         * testsuite/tr1/4_metaprogramming/is_array/value.cc: Likewise.
3094         * testsuite/tr1/4_metaprogramming/is_base_of/value.cc: Likewise.
3095         * testsuite/tr1/4_metaprogramming/is_class/value.cc: Likewise.
3096         * testsuite/tr1/4_metaprogramming/is_compound/value.cc: Likewise.
3097         * testsuite/tr1/4_metaprogramming/is_const/value.cc: Likewise.
3098         * testsuite/tr1/4_metaprogramming/is_convertible/value.cc: Likewise.
3099         * testsuite/tr1/4_metaprogramming/is_empty/value.cc: Likewise.
3100         * testsuite/tr1/4_metaprogramming/is_enum/24808.cc: Likewise.
3101         * testsuite/tr1/4_metaprogramming/is_enum/value.cc: Likewise.
3102         * testsuite/tr1/4_metaprogramming/is_floating_point/value.cc: Likewise.
3103         * testsuite/tr1/4_metaprogramming/is_function/24808.cc: Likewise.
3104         * testsuite/tr1/4_metaprogramming/is_function/value.cc: Likewise.
3105         * testsuite/tr1/4_metaprogramming/is_fundamental/value.cc: Likewise.
3106         * testsuite/tr1/4_metaprogramming/is_integral/value.cc: Likewise.
3107         * testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc:
3108         Likewise.
3109         * testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc:
3110         Likewise.
3111         * testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc: Likewise.
3112         * testsuite/tr1/4_metaprogramming/is_object/24808.cc: Likewise.
3113         * testsuite/tr1/4_metaprogramming/is_object/value.cc: Likewise.
3114         * testsuite/tr1/4_metaprogramming/is_pod/value.cc: Likewise.
3115         * testsuite/tr1/4_metaprogramming/is_pointer/value.cc: Likewise.
3116         * testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc: Likewise.
3117         * testsuite/tr1/4_metaprogramming/is_reference/value.cc: Likewise.
3118         * testsuite/tr1/4_metaprogramming/is_same/value.cc: Likewise.
3119         * testsuite/tr1/4_metaprogramming/is_scalar/value.cc: Likewise.
3120         * testsuite/tr1/4_metaprogramming/is_signed/value.cc: Likewise.
3121         * testsuite/tr1/4_metaprogramming/is_union/value.cc: Likewise.
3122         * testsuite/tr1/4_metaprogramming/is_unsigned/value.cc: Likewise.
3123         * testsuite/tr1/4_metaprogramming/is_void/value.cc: Likewise.
3124         * testsuite/tr1/4_metaprogramming/is_volatile/value.cc: Likewise.
3125         * testsuite/tr1/4_metaprogramming/rank/value.cc: Likewise.
3126         * testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc: Likewise.
3127         * testsuite/tr1/4_metaprogramming/remove_const/value.cc: Likewise.
3128         * testsuite/tr1/4_metaprogramming/remove_cv/value.cc: Likewise.
3129         * testsuite/tr1/4_metaprogramming/remove_extent/value.cc: Likewise.
3130         * testsuite/tr1/4_metaprogramming/remove_pointer/value.cc: Likewise.
3131         * testsuite/tr1/4_metaprogramming/remove_reference/value.cc: Likewise.
3132         * testsuite/tr1/4_metaprogramming/remove_volatile/value.cc: Likewise.
3133         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3134         equal.cc: Likewise.
3135         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3136         not_equal.cc: Likewise.
3137         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3138         serialize.cc: Likewise.
3139         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3140         cons/default.cc: Likewise.
3141         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3142         cons/gen1.cc: Likewise.
3143         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3144         operators/equal.cc: Likewise.
3145         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3146         operators/not_equal.cc: Likewise.
3147         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3148         operators/serialize.cc: Likewise.
3149         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3150         cons/default.cc: Likewise.
3151         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3152         cons/gen1.cc: Likewise.
3153         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3154         operators/equal.cc: Likewise.
3155         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3156         operators/not_equal.cc: Likewise.
3157         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3158         operators/serialize.cc: Likewise.
3159         * testsuite/tr1/5_numerical_facilities/random/minstd_rand.cc: Likewise.
3160         * testsuite/tr1/5_numerical_facilities/random/minstd_rand0.cc: Likewise.
3161         * testsuite/tr1/5_numerical_facilities/random/mt19937.cc: Likewise.
3162         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
3163         default.cc: Likewise.
3164         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
3165         token.cc: Likewise.
3166         * testsuite/tr1/5_numerical_facilities/random/ranlux3.cc: Likewise.
3167         * testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc: Likewise.
3168         * testsuite/tr1/5_numerical_facilities/random/ranlux4.cc: Likewise.
3169         * testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc
3170         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3171         cons/default.cc: Likewise.
3172         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3173         cons/gen1.cc: Likewise.
3174         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3175         operators/equal.cc: Likewise.
3176         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3177         operators/not_equal.cc: Likewise.
3178         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3179         operators/serialize.cc: Likewise.
3180         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3181         cons/default.cc: Likewise.
3182         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3183         cons/gen1.cc: Likewise.
3184         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3185         operators/equal.cc: Likewise.
3186         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3187         operators/not_equal.cc: Likewise.
3188         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3189         operators/serialize.cc: Likewise.
3190         * testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc:
3191         Likewise.
3192         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3193         default.cc: Likewise.
3194         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3195         range.cc: Likewise.
3196         * testsuite/tr1/5_numerical_facilities/random/xor_combine/cons/
3197         default.cc: Likewise.
3198         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3199         equal.cc: Likewise.
3200         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3201         not_equal.cc: Likewise.
3202         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3203         serialize.cc: Likewise.
3204         * testsuite/tr1/5_numerical_facilities/special_functions/
3205         08_cyl_bessel_i/check_value.cc: Likewise.
3206         * testsuite/tr1/5_numerical_facilities/special_functions/
3207         08_cyl_bessel_i/pr56216.cc: Likewise.
3208         * testsuite/tr1/5_numerical_facilities/special_functions/
3209         09_cyl_bessel_j/check_value.cc: Likewise.
3210         * testsuite/tr1/5_numerical_facilities/special_functions/
3211         10_cyl_bessel_k/check_value.cc: Likewise.
3212         * testsuite/tr1/5_numerical_facilities/special_functions/
3213         11_cyl_neumann/check_value.cc: Likewise.
3214         * testsuite/tr1/5_numerical_facilities/special_functions/
3215         16_hermite/check_value.cc: Likewise.
3216         * testsuite/tr1/5_numerical_facilities/special_functions/
3217         21_sph_bessel/check_value.cc: Likewise.
3218         * testsuite/tr1/5_numerical_facilities/special_functions/
3219         23_sph_neumann/check_value.cc: Likewise.
3220         * testsuite/tr1/6_containers/array/capacity/empty.cc: Likewise.
3221         * testsuite/tr1/6_containers/array/capacity/max_size.cc: Likewise.
3222         * testsuite/tr1/6_containers/array/capacity/size.cc: Likewise.
3223         * testsuite/tr1/6_containers/array/comparison_operators/equal.cc:
3224         Likewise.
3225         * testsuite/tr1/6_containers/array/comparison_operators/greater.cc:
3226         Likewise.
3227         * testsuite/tr1/6_containers/array/comparison_operators/
3228         greater_or_equal.cc: Likewise.
3229         * testsuite/tr1/6_containers/array/comparison_operators/less.cc:
3230         Likewise.
3231         * testsuite/tr1/6_containers/array/comparison_operators/
3232         less_or_equal.cc: Likewise.
3233         * testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc:
3234         Likewise.
3235         * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc:
3236         Likewise.
3237         * testsuite/tr1/6_containers/array/element_access/back.cc: Likewise.
3238         * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
3239         * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
3240         * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc:
3241         Likewise.
3242         * testsuite/tr1/6_containers/array/requirements/assign.cc: Likewise.
3243         * testsuite/tr1/6_containers/array/requirements/contiguous.cc: Likewise.
3244         * testsuite/tr1/6_containers/array/requirements/member_swap.cc:
3245         Likewise.
3246         * testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc:
3247         Likewise.
3248         * testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc:
3249         Likewise.
3250         * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
3251         * testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc:
3252         Likewise.
3253         * testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc:
3254         Likewise.
3255         * testsuite/tr1/6_containers/hash/24799.cc: Likewise.
3256         * testsuite/tr1/6_containers/hash/operators/size_t.cc: Likewise.
3257         *
3258         testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc:
3259         Likewise.
3260         * testsuite/tr1/6_containers/tuple/cons/assignment.cc: Likewise.
3261         * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: Likewise.
3262         * testsuite/tr1/6_containers/tuple/cons/constructor.cc: Likewise.
3263         * testsuite/tr1/6_containers/tuple/creation_functions/23978.cc:
3264         Likewise.
3265         * testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc:
3266         Likewise.
3267         * testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: Likewise.
3268         * testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Likewise.
3269         * testsuite/tr1/6_containers/tuple/element_access/get.cc: Likewise.
3270         * testsuite/tr1/6_containers/tuple/tuple_size.cc: Likewise.
3271         * testsuite/tr1/6_containers/unordered_map/24064.cc: Likewise.
3272         * testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc:
3273         Likewise.
3274         * testsuite/tr1/6_containers/unordered_map/erase/1.cc: Likewise.
3275         * testsuite/tr1/6_containers/unordered_map/erase/24061-map.cc: Likewise.
3276         * testsuite/tr1/6_containers/unordered_map/find/map1.cc: Likewise.
3277         * testsuite/tr1/6_containers/unordered_map/insert/24061-map.cc:
3278         Likewise.
3279         * testsuite/tr1/6_containers/unordered_map/insert/array_syntax.cc:
3280         Likewise.
3281         * testsuite/tr1/6_containers/unordered_map/insert/map_range.cc:
3282         Likewise.
3283         * testsuite/tr1/6_containers/unordered_map/insert/map_single.cc:
3284         Likewise.
3285         * testsuite/tr1/6_containers/unordered_map/swap/1.cc: Likewise.
3286         * testsuite/tr1/6_containers/unordered_map/swap/2.cc: Likewise.
3287         * testsuite/tr1/6_containers/unordered_multimap/capacity/
3288         29134-multimap.cc: Likewise.
3289         * testsuite/tr1/6_containers/unordered_multimap/erase/1.cc: Likewise.
3290         * testsuite/tr1/6_containers/unordered_multimap/erase/
3291         24061-multimap.cc: Likewise.
3292         * testsuite/tr1/6_containers/unordered_multimap/find/multimap1.cc:
3293         Likewise.
3294         * testsuite/tr1/6_containers/unordered_multimap/insert/
3295         24061-multimap.cc: Likewise.
3296         * testsuite/tr1/6_containers/unordered_multimap/insert/
3297         multimap_range.cc: Likewise.
3298         * testsuite/tr1/6_containers/unordered_multimap/insert/
3299         multimap_single.cc: Likewise.
3300         * testsuite/tr1/6_containers/unordered_multimap/swap/1.cc: Likewise.
3301         * testsuite/tr1/6_containers/unordered_multimap/swap/2.cc: Likewise.
3302         * testsuite/tr1/6_containers/unordered_multiset/24054.cc: Likewise.
3303         * testsuite/tr1/6_containers/unordered_multiset/capacity/
3304         29134-multiset.cc: Likewise.
3305         * testsuite/tr1/6_containers/unordered_multiset/erase/1.cc: Likewise.
3306         * testsuite/tr1/6_containers/unordered_multiset/erase/
3307         24061-multiset.cc: Likewise.
3308         * testsuite/tr1/6_containers/unordered_multiset/find/multiset1.cc:
3309         Likewise.
3310         * testsuite/tr1/6_containers/unordered_multiset/insert/
3311         24061-multiset.cc: Likewise.
3312         * testsuite/tr1/6_containers/unordered_multiset/insert/
3313         multiset_range.cc: Likewise.
3314         * testsuite/tr1/6_containers/unordered_multiset/insert/
3315         multiset_single.cc: Likewise.
3316         * testsuite/tr1/6_containers/unordered_multiset/swap/1.cc: Likewise.
3317         * testsuite/tr1/6_containers/unordered_multiset/swap/2.cc: Likewise.
3318         * testsuite/tr1/6_containers/unordered_set/23465.cc: Likewise.
3319         * testsuite/tr1/6_containers/unordered_set/26132.cc: Likewise.
3320         * testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
3321         Likewise.
3322         * testsuite/tr1/6_containers/unordered_set/erase/1.cc: Likewise.
3323         * testsuite/tr1/6_containers/unordered_set/erase/24061-set.cc: Likewise.
3324         * testsuite/tr1/6_containers/unordered_set/find/set1.cc: Likewise.
3325         * testsuite/tr1/6_containers/unordered_set/insert/24061-set.cc:
3326         Likewise.
3327         * testsuite/tr1/6_containers/unordered_set/insert/set_range.cc:
3328         Likewise.
3329         * testsuite/tr1/6_containers/unordered_set/insert/set_single.cc:
3330         Likewise.
3331         * testsuite/tr1/6_containers/unordered_set/swap/1.cc: Likewise.
3332         * testsuite/tr1/6_containers/unordered_set/swap/2.cc: Likewise.
3333         * testsuite/tr1/6_containers/utility/pair.cc: Likewise.
3334         * testsuite/tr1/7_regular_expressions/match_results/ctors/char/
3335         default.cc: Likewise.
3336         * testsuite/tr1/7_regular_expressions/regex_traits/char/
3337         translate_nocase.cc: Likewise.
3338         * testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc:
3339         Likewise.
3340         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/
3341         translate_nocase.cc: Likewise.
3342         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc:
3343         Likewise.
3344         * testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise.
3345         * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Likewise.
3346
3347 2016-10-16  Ville Voutilainen  <ville.voutilainen@gmail.com>
3348
3349         Make sure the return value of malloc_allocator::allocate
3350         is zero-initialized so that checking it for non-zero works
3351         later.
3352         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
3353         Initialize the return value.
3354         * testsuite/ext/malloc_allocator/sanity.cc: New.
3355
3356 2016-10-14  Eelis van der Weegen  <eelis@eelis.net>
3357
3358         * include/bits/stl_algo.h (shuffle): Extract two random numbers from
3359         each generator invocation when its range is large enough.
3360
3361 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
3362
3363         * testsuite/experimental/algorithm/sample.cc: Qualify calls to
3364         resolve ambiguity between std::sample and std::experimental::sample.
3365
3366         * include/std/functional (_Mu<A, false, true>, _Mu<A, true, false>):
3367         Simplify forwarding from tuple of references.
3368         (_Maybe_wrap_member_pointer): Remove.
3369         (_Bind::__call, _Bind::__call_c, _Bind::__call_v, _Bind::__call_c_v):
3370         Use std::__invoke.
3371         (_Bind::_Mu_type, _Bind::_Res_type_impl, _Bind::_Res_type)
3372         (_Bind::__dependent, _Bind::_Res_type_cv): New helpers to simplify
3373         return type deduction.
3374         (_Bind::operator(), _Bind::operator() const): Use new helpers.
3375         (_Bind::operator() volatile, _Bind::operator() const volatile):
3376         Likewise. Add deprecated attribute for C++17 mode.
3377         (_Bind_result::__call): Use std::__invoke.
3378         (_Bind_result::operator() volatile)
3379         (_Bind_result::operator() const volatile): Add deprecated attribute.
3380         (_Bind_helper::__maybe_type, _Bindres_helper::__maybe_type): Remove.
3381         (_Bind_helper, _Bindres_helper): Don't use _Maybe_wrap_member_pointer.
3382         (bind, bind<R>): Don't use __maybe_type.
3383         * src/c++11/compatibility-thread-c++0x.cc
3384         (_Maybe_wrap_member_pointer): Define here for compatibility symbols.
3385         * testsuite/20_util/bind/68912.cc: Don't test volatile-qualification
3386         in C++17 mode.
3387         * testsuite/20_util/bind/cv_quals.cc: Likewise.
3388         * testsuite/20_util/bind/cv_quals_2.cc: Likewise.
3389
3390         * include/std/scoped_allocator (scoped_allocator_adaptor): Forward
3391         piecewise construction arguments as tuples of references, to avoid
3392         copies (related to LWG 2511).
3393         * testsuite/20_util/scoped_allocator/construct_pair.cc: New test.
3394
3395 2016-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
3396
3397         * testsuite/26_numerics/accumulate/1.cc: Remove 'test' variables.
3398         * testsuite/26_numerics/adjacent_difference/1.cc: Likewise.
3399         * testsuite/26_numerics/complex/13450.cc: Likewise.
3400         * testsuite/26_numerics/complex/50880.cc: Likewise.
3401         * testsuite/26_numerics/complex/c99.cc: Likewise.
3402         * testsuite/26_numerics/complex/cons/48760.cc: Likewise.
3403         * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
3404         * testsuite/26_numerics/complex/dr781_dr1137.cc: Likewise.
3405         * testsuite/26_numerics/complex/dr844.cc: Likewise.
3406         * testsuite/26_numerics/complex/inserters_extractors/char/1.cc:
3407         Likewise.
3408         * testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc:
3409         Likewise.
3410         * testsuite/26_numerics/complex/value_operations/1.cc: Likewise.
3411         * testsuite/26_numerics/complex/value_operations/dr387.cc: Likewise.
3412         * testsuite/26_numerics/headers/cmath/19322.cc: Likewise.
3413         * testsuite/26_numerics/headers/cmath/
3414         c99_classification_macros_c++11.c: Likewise.c
3415         * testsuite/26_numerics/headers/cmath/
3416         c99_classification_macros_c++98.cc: Likewise.
3417         * testsuite/26_numerics/headers/cmath/c_math.cc: Likewise.
3418         * testsuite/26_numerics/headers/cmath/dr550.cc: Likewise.
3419         * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
3420         * testsuite/26_numerics/headers/cmath/powi.cc: Likewise.
3421         * testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise.
3422         * testsuite/26_numerics/inner_product/1.cc: Likewise.
3423         * testsuite/26_numerics/iota/1.cc: Likewise.
3424         * testsuite/26_numerics/partial_sum/1.cc: Likewise.
3425         * testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc:
3426         Likewise.
3427         * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
3428         Likewise.
3429         * testsuite/26_numerics/random/bernoulli_distribution/operators/
3430         equal.cc: Likewise.
3431         * testsuite/26_numerics/random/bernoulli_distribution/operators/
3432         inequal.cc: Likewise.
3433         * testsuite/26_numerics/random/binomial_distribution/cons/default.cc:
3434         Likewise.
3435         * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
3436         Likewise.
3437         * testsuite/26_numerics/random/binomial_distribution/operators/
3438         equal.cc: Likewise.
3439         * testsuite/26_numerics/random/binomial_distribution/operators/
3440         inequal.cc: Likewise.
3441         * testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
3442         Likewise.
3443         * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
3444         Likewise.
3445         * testsuite/26_numerics/random/cauchy_distribution/operators/equal.cc:
3446         Likewise.
3447         * testsuite/26_numerics/random/cauchy_distribution/operators/
3448         inequal.cc: Likewise.
3449         * testsuite/26_numerics/random/chi_squared_distribution/cons/
3450         default.cc: Likewise.
3451         * testsuite/26_numerics/random/chi_squared_distribution/cons/
3452         parms.cc: Likewise.
3453         * testsuite/26_numerics/random/chi_squared_distribution/operators/
3454         equal.cc: Likewise.
3455         * testsuite/26_numerics/random/chi_squared_distribution/operators/
3456         inequal.cc: Likewise.
3457         * testsuite/26_numerics/random/default_random_engine.cc: Likewise.
3458         * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
3459         Likewise.
3460         * testsuite/26_numerics/random/discard_block_engine/operators/equal.cc:
3461         Likewise.
3462         * testsuite/26_numerics/random/discard_block_engine/operators/
3463         inequal.cc: Likewise.
3464         * testsuite/26_numerics/random/discard_block_engine/operators/
3465         serialize.cc: Likewise.
3466         * testsuite/26_numerics/random/discrete_distribution/cons/
3467         default.cc: Likewise.
3468         * testsuite/26_numerics/random/discrete_distribution/cons/
3469         initlist.cc: Likewise.
3470         * testsuite/26_numerics/random/discrete_distribution/cons/
3471         num_xbound_fun.cc: Likewise.
3472         * testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
3473         Likewise.
3474         * testsuite/26_numerics/random/discrete_distribution/operators/
3475         equal.cc: Likewise.
3476         * testsuite/26_numerics/random/discrete_distribution/operators/
3477         inequal.cc: Likewise.
3478         * testsuite/26_numerics/random/exponential_distribution/cons/
3479         default.cc: Likewise.
3480         * testsuite/26_numerics/random/exponential_distribution/cons/
3481         parms.cc: Likewise.
3482         * testsuite/26_numerics/random/exponential_distribution/operators/
3483         equal.cc: Likewise.
3484         * testsuite/26_numerics/random/exponential_distribution/operators/
3485         inequal.cc: Likewise.
3486         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3487         default.cc: Likewise.
3488         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3489         parms.cc: Likewise.
3490         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3491         equal.cc: Likewise.
3492         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3493         inequal.cc: Likewise.
3494         * testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc:
3495         Likewise.
3496         * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
3497         Likewise.
3498         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3499         equal.cc: Likewise.
3500         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3501         inequal.cc: Likewise.
3502         * testsuite/26_numerics/random/gamma_distribution/cons/default.cc:
3503         Likewise.
3504         * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
3505         Likewise.
3506         * testsuite/26_numerics/random/gamma_distribution/operators/equal.cc:
3507         Likewise.
3508         * testsuite/26_numerics/random/gamma_distribution/operators/
3509         inequal.cc: Likewise.
3510         * testsuite/26_numerics/random/geometric_distribution/cons/
3511         default.cc: Likewise.
3512         * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
3513         Likewise.
3514         * testsuite/26_numerics/random/geometric_distribution/operators/
3515         equal.cc: Likewise.
3516         * testsuite/26_numerics/random/geometric_distribution/operators/
3517         inequal.cc: Likewise.
3518         * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
3519         Likewise.
3520         * testsuite/26_numerics/random/independent_bits_engine/operators/
3521         equal.cc: Likewise.
3522         * testsuite/26_numerics/random/independent_bits_engine/operators/
3523         inequal.cc: Likewise.
3524         * testsuite/26_numerics/random/independent_bits_engine/operators/
3525         serialize.cc: Likewise.
3526         * testsuite/26_numerics/random/knuth_b.cc: Likewise.
3527         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3528         55215.cc: Likewise.
3529         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3530         default.cc: Likewise.
3531         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3532         51795.cc: Likewise.
3533         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3534         equal.cc: Likewise.
3535         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3536         inequal.cc: Likewise.
3537         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3538         serialize.cc: Likewise.
3539         * testsuite/26_numerics/random/lognormal_distribution/cons/default.cc:
3540         Likewise.
3541         * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
3542         Likewise.
3543         * testsuite/26_numerics/random/lognormal_distribution/operators/
3544         equal.cc: Likewise.
3545         * testsuite/26_numerics/random/lognormal_distribution/operators/
3546         inequal.cc: Likewise.
3547         * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
3548         Likewise.
3549         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
3550         default.cc: Likewise.
3551         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3552         equal.cc: Likewise.
3553         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3554         inequal.cc: Likewise.
3555         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3556         serialize.cc: Likewise.
3557         * testsuite/26_numerics/random/minstd_rand.cc: Likewise.
3558         * testsuite/26_numerics/random/minstd_rand0.cc: Likewise.
3559         * testsuite/26_numerics/random/mt19937.cc: Likewise.
3560         * testsuite/26_numerics/random/mt19937_64.cc: Likewise.
3561         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3562         default.cc: Likewise.
3563         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3564         parms.cc: Likewise.
3565         * testsuite/26_numerics/random/negative_binomial_distribution/
3566         operators/equal.cc: Likewise.
3567         * testsuite/26_numerics/random/negative_binomial_distribution/
3568         operators/inequal.cc: Likewise.
3569         * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
3570         Likewise.
3571         * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
3572         Likewise.
3573         * testsuite/26_numerics/random/normal_distribution/operators/
3574         equal.cc: Likewise.
3575         * testsuite/26_numerics/random/normal_distribution/operators/
3576         inequal.cc: Likewise.
3577         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3578         default.cc: Likewise.
3579         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3580         initlist_fun.cc: Likewise.
3581         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3582         num_xbound_fun.cc: Likewise.
3583         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3584         range.cc: Likewise.
3585         * testsuite/26_numerics/random/piecewise_constant_distribution/
3586         operators/equal.cc: Likewise.
3587         * testsuite/26_numerics/random/piecewise_constant_distribution/
3588         operators/inequal.cc: Likewise.
3589         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3590         default.cc: Likewise.
3591         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3592         initlist_fun.cc: Likewise.
3593         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3594         num_xbound_fun.cc: Likewise.
3595         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3596         range.cc: Likewise.
3597         * testsuite/26_numerics/random/piecewise_linear_distribution/
3598         operators/equal.cc: Likewise.
3599         * testsuite/26_numerics/random/piecewise_linear_distribution/
3600         operators/inequal.cc: Likewise.
3601         * testsuite/26_numerics/random/poisson_distribution/cons/default.cc:
3602         Likewise.
3603         * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
3604         Likewise.
3605         * testsuite/26_numerics/random/poisson_distribution/operators/
3606         equal.cc: Likewise.
3607         * testsuite/26_numerics/random/poisson_distribution/operators/
3608         inequal.cc: Likewise.
3609         * testsuite/26_numerics/random/random_device/cons/default.cc: Likewise.
3610         * testsuite/26_numerics/random/random_device/cons/token.cc: Likewise.
3611         * testsuite/26_numerics/random/ranlux24.cc: Likewise.
3612         * testsuite/26_numerics/random/ranlux24_base.cc: Likewise.
3613         * testsuite/26_numerics/random/ranlux48.cc: Likewise.
3614         * testsuite/26_numerics/random/ranlux48_base.cc: Likewise.
3615         * testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Likewise.
3616         * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
3617         Likewise.
3618         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3619         equal.cc: Likewise.
3620         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3621         inequal.cc: Likewise.
3622         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3623         serialize.cc: Likewise.
3624         * testsuite/26_numerics/random/student_t_distribution/cons/
3625         default.cc: Likewise.
3626         * testsuite/26_numerics/random/student_t_distribution/cons/
3627         parms.cc: Likewise.
3628         * testsuite/26_numerics/random/student_t_distribution/operators/
3629         equal.cc: Likewise.
3630         * testsuite/26_numerics/random/student_t_distribution/operators/
3631         inequal.cc: Likewise.
3632         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3633         55215.cc: Likewise.
3634         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3635         default.cc: Likewise.
3636         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3637         equal.cc: Likewise.
3638         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3639         inequal.cc: Likewise.
3640         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3641         serialize.cc: Likewise.
3642         * testsuite/26_numerics/random/uniform_int_distribution/cons/
3643         default.cc: Likewise.
3644         * testsuite/26_numerics/random/uniform_int_distribution/cons/
3645         parms.cc: Likewise.
3646         * testsuite/26_numerics/random/uniform_int_distribution/operators/
3647         equal.cc: Likewise.
3648         * testsuite/26_numerics/random/uniform_int_distribution/operators/
3649         inequal.cc: Likewise.
3650         * testsuite/26_numerics/random/uniform_real_distribution/cons/
3651         default.cc: Likewise.
3652         * testsuite/26_numerics/random/uniform_real_distribution/cons/
3653         parms.cc: Likewise.
3654         * testsuite/26_numerics/random/uniform_real_distribution/operators/
3655         equal.cc: Likewise.
3656         * testsuite/26_numerics/random/uniform_real_distribution/operators/
3657         inequal.cc: Likewise.
3658         * testsuite/26_numerics/random/weibull_distribution/cons/default.cc:
3659         Likewise.
3660         * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
3661         Likewise.
3662         * testsuite/26_numerics/random/weibull_distribution/operators/
3663         equal.cc: Likewise.
3664         * testsuite/26_numerics/random/weibull_distribution/operators/
3665         inequal.cc: Likewise.
3666         * testsuite/26_numerics/slice/1.cc: Likewise.
3667         * testsuite/26_numerics/slice_array/array_assignment.cc: Likewise.
3668         * testsuite/26_numerics/valarray/27867.cc: Likewise.
3669         * testsuite/26_numerics/valarray/28277.cc: Likewise.
3670         * testsuite/26_numerics/valarray/30416.cc: Likewise.
3671         * testsuite/26_numerics/valarray/dr543.cc: Likewise.
3672         * testsuite/26_numerics/valarray/dr630-1.cc: Likewise.
3673         * testsuite/26_numerics/valarray/dr630-2.cc: Likewise.
3674         * testsuite/26_numerics/valarray/dr630-3.C: Likewise.
3675         * testsuite/26_numerics/valarray/init-list.cc: Likewise.
3676         * testsuite/26_numerics/valarray/moveable.cc: Likewise.
3677         * testsuite/26_numerics/valarray/operators.cc: Likewise.
3678         * testsuite/26_numerics/valarray/swap.cc: Likewise.
3679         * testsuite/experimental/deque/erasure.cc: Likewise.
3680         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
3681         Likewise.
3682         * testsuite/experimental/filesystem/iterators/
3683         recursive_directory_iterator.cc: Likewise.
3684         * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
3685         * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
3686         * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
3687         * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
3688         * testsuite/experimental/filesystem/operations/create_directories.cc:
3689         Likewise.
3690         * testsuite/experimental/filesystem/operations/create_directory.cc:
3691         Likewise.
3692         * testsuite/experimental/filesystem/operations/current_path.cc:
3693         Likewise.
3694         * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
3695         * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
3696         * testsuite/experimental/filesystem/operations/last_write_time.cc:
3697         Likewise.
3698         * testsuite/experimental/filesystem/operations/permissions.cc: Likewise.
3699         * testsuite/experimental/filesystem/operations/status.cc: Likewise.
3700         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
3701         Likewise.
3702         * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
3703         * testsuite/experimental/forward_list/erasure.cc: Likewise.
3704         * testsuite/experimental/list/erasure.cc: Likewise.
3705         * testsuite/experimental/map/erasure.cc: Likewise.
3706         * testsuite/experimental/memory/shared_ptr/assign/assign.cc: Likewise.
3707         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
3708         Likewise.
3709         * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: Likewise.
3710         * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: Likewise.
3711         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: Likewise.
3712         * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc:
3713         Likewise.
3714         * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: Likewise.
3715         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
3716         Likewise.
3717         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
3718         Likewise.
3719         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
3720         Likewise.
3721         * testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise.
3722         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Likewise.
3723         * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: Likewise.
3724         * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
3725         Likewise.
3726         * testsuite/experimental/memory/shared_ptr/observers/operators.cc:
3727         Likewise.
3728         * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
3729         Likewise.
3730         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
3731         Likewise.
3732         * testsuite/experimental/memory_resource/1.cc: Likewise.
3733         * testsuite/experimental/memory_resource/null_memory_resource.cc:
3734         Likewise.
3735         * testsuite/experimental/memory_resource/resource_adaptor.cc: Likewise.
3736         * testsuite/experimental/set/erasure.cc: Likewise.
3737         * testsuite/experimental/string/erasure.cc: Likewise.
3738         * testsuite/experimental/string_view/capacity/1.cc: Likewise.
3739         * testsuite/experimental/string_view/cons/char/1.cc: Likewise.
3740         * testsuite/experimental/string_view/cons/char/2.cc: Likewise.
3741         * testsuite/experimental/string_view/cons/char/3.cc: Likewise.
3742         * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
3743         * testsuite/experimental/string_view/cons/wchar_t/2.cc: Likewise.
3744         * testsuite/experimental/string_view/cons/wchar_t/3.cc: Likewise.
3745         * testsuite/experimental/string_view/element_access/char/1.cc: Likewise.
3746         * testsuite/experimental/string_view/element_access/char/empty.cc:
3747         Likewise.
3748         * testsuite/experimental/string_view/element_access/char/
3749         front_back.cc: Likewise.
3750         * testsuite/experimental/string_view/element_access/wchar_t/1.cc:
3751         Likewise.
3752         * testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
3753         Likewise.
3754         * testsuite/experimental/string_view/element_access/wchar_t/
3755         front_back.cc: Likewise.
3756         * testsuite/experimental/string_view/inserters/char/1.cc: Likewise.
3757         * testsuite/experimental/string_view/inserters/char/2.cc: Likewise.
3758         * testsuite/experimental/string_view/inserters/char/3.cc: Likewise.
3759         * testsuite/experimental/string_view/inserters/pod/10081-out.cc:
3760         Likewise.
3761         * testsuite/experimental/string_view/inserters/wchar_t/1.cc: Likewise.
3762         * testsuite/experimental/string_view/inserters/wchar_t/2.cc: Likewise.
3763         * testsuite/experimental/string_view/inserters/wchar_t/3.cc: Likewise.
3764         * testsuite/experimental/string_view/modifiers/remove_prefix/char/
3765         1.cc: Likewise.
3766         * testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
3767         1.cc: Likewise.
3768         * testsuite/experimental/string_view/modifiers/remove_suffix/char/
3769         1.cc: Likewise.
3770         * testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
3771         1.cc: Likewise.
3772         * testsuite/experimental/string_view/operations/compare/char/1.cc:
3773         Likewise.
3774         * testsuite/experimental/string_view/operations/compare/char/
3775         13650.cc: Likewise.
3776         * testsuite/experimental/string_view/operations/compare/wchar_t/
3777         1.cc: Likewise.
3778         * testsuite/experimental/string_view/operations/compare/wchar_t/
3779         13650.cc: Likewise.
3780         * testsuite/experimental/string_view/operations/copy/char/1.cc:
3781         Likewise.
3782         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
3783         Likewise.
3784         * testsuite/experimental/string_view/operations/data/char/1.cc:
3785         Likewise.
3786         * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
3787         Likewise.
3788         * testsuite/experimental/string_view/operations/find/char/1.cc:
3789         Likewise.
3790         * testsuite/experimental/string_view/operations/find/char/2.cc:
3791         Likewise.
3792         * testsuite/experimental/string_view/operations/find/char/3.cc:
3793         Likewise.
3794         * testsuite/experimental/string_view/operations/find/char/4.cc:
3795         Likewise.
3796         * testsuite/experimental/string_view/operations/find/wchar_t/1.cc:
3797         Likewise.
3798         * testsuite/experimental/string_view/operations/find/wchar_t/2.cc:
3799         Likewise.
3800         * testsuite/experimental/string_view/operations/find/wchar_t/3.cc:
3801         Likewise.
3802         * testsuite/experimental/string_view/operations/find/wchar_t/4.cc:
3803         Likewise.
3804         * testsuite/experimental/string_view/operations/rfind/char/1.cc:
3805         Likewise.
3806         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
3807         Likewise.
3808         * testsuite/experimental/string_view/operations/rfind/char/3.cc:
3809         Likewise.
3810         * testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc:
3811         Likewise.
3812         * testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc:
3813         Likewise.
3814         * testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc:
3815         Likewise.
3816         * testsuite/experimental/string_view/operations/substr/char/1.cc:
3817         Likewise.
3818         * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
3819         Likewise.
3820         * testsuite/experimental/string_view/operations/to_string/1.cc:
3821         Likewise.
3822         * testsuite/experimental/string_view/operators/char/2.cc: Likewise.
3823         * testsuite/experimental/string_view/operators/wchar_t/2.cc: Likewise.
3824         * testsuite/experimental/unordered_map/erasure.cc: Likewise.
3825         * testsuite/experimental/unordered_set/erasure.cc: Likewise.
3826         * testsuite/experimental/vector/erasure.cc: Likewise.
3827         * testsuite/ext/array_allocator/1.cc: Likewise.
3828         * testsuite/ext/array_allocator/2.cc: Likewise.
3829         * testsuite/ext/array_allocator/3.cc: Likewise.
3830         * testsuite/ext/array_allocator/variadic_construct.cc: Likewise.
3831         * testsuite/ext/bitmap_allocator/variadic_construct.cc: Likewise.
3832         * testsuite/ext/codecvt/1.cc: Likewise.
3833         * testsuite/ext/codecvt/char-1.cc: Likewise.
3834         * testsuite/ext/codecvt/char-2.cc: Likewise.
3835         * testsuite/ext/codecvt/wchar_t.cc: Likewise.
3836         * testsuite/ext/enc_filebuf/char/13189.cc: Likewise.
3837         * testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
3838         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
3839         * testsuite/ext/ext_pointer/1.cc: Likewise.
3840         * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
3841         * testsuite/ext/malloc_allocator/variadic_construct.cc: Likewise.
3842         * testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: Likewise.
3843         * testsuite/ext/mt_allocator/tune-1.cc: Likewise.
3844         * testsuite/ext/mt_allocator/tune-2.cc: Likewise.
3845         * testsuite/ext/mt_allocator/tune-3.cc: Likewise.
3846         * testsuite/ext/mt_allocator/tune-4.cc: Likewise.
3847         * testsuite/ext/mt_allocator/variadic_construct.cc: Likewise.
3848         * testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
3849         * testsuite/ext/pod_char_traits.cc: Likewise.
3850         * testsuite/ext/pool_allocator/variadic_construct.cc: Likewise.
3851         * testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise.
3852         * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
3853         * testsuite/ext/random/arcsine_distribution/operators/equal.cc:
3854         Likewise.
3855         * testsuite/ext/random/arcsine_distribution/operators/inequal.cc:
3856         Likewise.
3857         * testsuite/ext/random/arcsine_distribution/operators/serialize.cc:
3858         Likewise.
3859         * testsuite/ext/random/beta_distribution/cons/default.cc: Likewise.
3860         * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
3861         * testsuite/ext/random/beta_distribution/operators/equal.cc: Likewise.
3862         * testsuite/ext/random/beta_distribution/operators/inequal.cc: Likewise.
3863         * testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise.
3864         * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
3865         * testsuite/ext/random/hoyt_distribution/operators/equal.cc: Likewise.
3866         * testsuite/ext/random/hoyt_distribution/operators/inequal.cc: Likewise.
3867         * testsuite/ext/random/hoyt_distribution/operators/serialize.cc:
3868         Likewise.
3869         * testsuite/ext/random/hypergeometric_distribution/cons/default.cc:
3870         Likewise.
3871         * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
3872         Likewise.
3873         * testsuite/ext/random/hypergeometric_distribution/operators/
3874         equal.cc: Likewise.
3875         * testsuite/ext/random/hypergeometric_distribution/operators/
3876         inequal.cc: Likewise.
3877         * testsuite/ext/random/hypergeometric_distribution/operators/
3878         serialize.cc: Likewise.
3879         * testsuite/ext/random/k_distribution/cons/default.cc: Likewise.
3880         * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
3881         * testsuite/ext/random/k_distribution/operators/equal.cc: Likewise.
3882         * testsuite/ext/random/k_distribution/operators/inequal.cc: Likewise.
3883         * testsuite/ext/random/k_distribution/operators/serialize.cc: Likewise.
3884         * testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise.
3885         * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
3886         * testsuite/ext/random/logistic_distribution/operators/equal.cc:
3887         Likewise.
3888         * testsuite/ext/random/logistic_distribution/operators/inequal.cc:
3889         Likewise.
3890         * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
3891         Likewise.
3892         * testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise.
3893         * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
3894         * testsuite/ext/random/nakagami_distribution/operators/equal.cc:
3895         Likewise.
3896         * testsuite/ext/random/nakagami_distribution/operators/inequal.cc:
3897         Likewise.
3898         * testsuite/ext/random/nakagami_distribution/operators/serialize.cc:
3899         Likewise.
3900         * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
3901         * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
3902         * testsuite/ext/random/normal_mv_distribution/operators/equal.cc:
3903         Likewise.
3904         * testsuite/ext/random/normal_mv_distribution/operators/inequal.cc:
3905         Likewise.
3906         * testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise.
3907         * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
3908         * testsuite/ext/random/pareto_distribution/operators/equal.cc: Likewise.
3909         * testsuite/ext/random/pareto_distribution/operators/inequal.cc:
3910         Likewise.
3911         * testsuite/ext/random/pareto_distribution/operators/serialize.cc:
3912         Likewise.
3913         * testsuite/ext/random/rice_distribution/cons/default.cc: Likewise.
3914         * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
3915         * testsuite/ext/random/rice_distribution/operators/equal.cc: Likewise.
3916         * testsuite/ext/random/rice_distribution/operators/inequal.cc: Likewise.
3917         * testsuite/ext/random/rice_distribution/operators/serialize.cc:
3918         Likewise.
3919         * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/
3920         default.cc: Likewise.
3921         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
3922         equal.cc: Likewise.
3923         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
3924         inequal.cc: Likewise.
3925         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
3926         serialize.cc: Likewise.
3927         * testsuite/ext/random/triangular_distribution/cons/default.cc:
3928         Likewise.
3929         * testsuite/ext/random/triangular_distribution/cons/parms.cc: Likewise.
3930         * testsuite/ext/random/triangular_distribution/operators/equal.cc:
3931         Likewise.
3932         * testsuite/ext/random/triangular_distribution/operators/inequal.cc:
3933         Likewise.
3934         * testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc:
3935         Likewise.
3936         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3937         equal.cc: Likewise.
3938         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3939         generate.cc: Likewise.
3940         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3941         inequal.cc: Likewise.
3942         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3943         serialize.cc: Likewise.
3944         * testsuite/ext/random/von_mises_distribution/cons/default.cc: Likewise.
3945         * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
3946         * testsuite/ext/random/von_mises_distribution/operators/equal.cc:
3947         Likewise.
3948         * testsuite/ext/random/von_mises_distribution/operators/inequal.cc:
3949         Likewise.
3950         * testsuite/ext/rope/2.cc: Likewise.
3951         * testsuite/ext/rope/3.cc: Likewise.
3952         * testsuite/ext/rope/4.cc: Likewise.
3953         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
3954         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
3955         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: Likewise.
3956         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
3957         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
3958         * testsuite/ext/stdio_filebuf/char/10063-1.cc: Likewise.
3959         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
3960         * testsuite/ext/stdio_filebuf/char/10063-3.cc: Likewise.
3961         * testsuite/ext/stdio_filebuf/char/2.cc: Likewise.
3962         * testsuite/ext/stdio_sync_filebuf/char/1.cc: Likewise.
3963         * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Likewise.
3964         * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Likewise.
3965         * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Likewise.
3966         * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Likewise.
3967         * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise.
3968         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
3969         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Likewise.
3970         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Likewise.
3971         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Likewise.
3972         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Likewise.
3973         * testsuite/ext/throw_allocator/variadic_construct.cc: Likewise.
3974         * testsuite/ext/type_traits/add_unsigned.cc: Likewise.
3975         * testsuite/ext/type_traits/remove_unsigned.cc: Likewise.
3976         * testsuite/ext/vstring/capacity/29134.cc: Likewise.
3977         * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
3978         * testsuite/ext/vstring/cons/58415-1.cc: Likewise.
3979         * testsuite/ext/vstring/cons/moveable.cc: Likewise.
3980         * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
3981         * testsuite/ext/vstring/element_access/char/front_back.cc: Likewise.
3982         * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
3983         * testsuite/ext/vstring/element_access/wchar_t/front_back.cc: Likewise.
3984         * testsuite/ext/vstring/hash/char/1.cc: Likewise.
3985         * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
3986         * testsuite/ext/vstring/init-list.cc: Likewise.
3987         * testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.
3988         * testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: Likewise.
3989         * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Likewise.
3990         * testsuite/ext/vstring/modifiers/pop_back/char/1.cc: Likewise.
3991         * testsuite/ext/vstring/modifiers/pop_back/wchar_t/1.cc: Likewise.
3992         * testsuite/ext/vstring/operators/1.cc: Likewise.
3993         * testsuite/ext/vstring/operators/2.cc: Likewise.
3994
3995 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
3996
3997         PR libstdc++/65122
3998         * include/ext/malloc_allocator.h (malloc_allocator::allocate): Use
3999         aligned_alloc for types with extended alignment if available,
4000         otherwise throw bad_alloc if malloc doesn't return a suitable value.
4001         * include/ext/bitmap_allocator.h (bitmap_allocator::allocate)
4002         (bitmap_allocator::deallocate): Use aligned new/delete for types with
4003         extended alignment.
4004         * include/ext/mt_allocator.h (__mt_alloc::allocate)
4005         (__mt_alloc::deallocate): Likewise.
4006         * include/ext/new_allocator.h (new_allocator::allocate)
4007         (new_allocator::deallocate): Likewise.
4008         * include/ext/pool_allocator.h (__pool_alloc::allocate)
4009         (__pool_alloc::deallocate): Likewise.
4010         * testsuite/20_util/allocator/overaligned.cc: New test.
4011         * testsuite/ext/bitmap_allocator/overaligned.cc: New test.
4012         * testsuite/ext/malloc_allocator/overaligned.cc: New test.
4013         * testsuite/ext/mt_allocator/overaligned.cc: New test.
4014         * testsuite/ext/new_allocator/overaligned.cc: New test.
4015         * testsuite/ext/pool_allocator/overaligned.cc: New test.
4016
4017 2016-10-14  Tim Shen  <timshen@google.com>
4018
4019         PR libstdc++/77944
4020         * include/std/variant: Include <bits/funcexcept.h> for __try and
4021         __catch.
4022
4023 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
4024
4025         * include/std/functional (_Reference_wrapper_base_impl): Remove.
4026         (_Refwrap_base_arg1, _Refwrap_base_arg2): New helpers using __void_t.
4027         (_Reference_wrapper_base): Inherit from new helpers.
4028
4029 2016-10-13  Paolo Carlini  <paolo.carlini@oracle.com>
4030
4031         * testsuite/24_iterators/container_access.cc: Remove 'test' variables.
4032         * testsuite/24_iterators/istream_iterator/2.cc: Likewise.
4033         * testsuite/24_iterators/istreambuf_iterator/2.cc: Likewise.
4034         * testsuite/24_iterators/istreambuf_iterator/2627.cc: Likewise.
4035         * testsuite/24_iterators/operations/next.cc: Likewise.
4036         * testsuite/24_iterators/operations/prev.cc: Likewise.
4037         * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
4038         * testsuite/24_iterators/random_access_iterator/26020.cc: Likewise.
4039         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
4040         * testsuite/24_iterators/reverse_iterator/11729.cc: Likewise.
4041         * testsuite/24_iterators/reverse_iterator/3.cc: Likewise.
4042         * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
4043         * testsuite/25_algorithms/all_of/1.cc: Likewise.
4044         * testsuite/25_algorithms/any_of/1.cc: Likewise.
4045         * testsuite/25_algorithms/binary_search/2.cc: Likewise.
4046         * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
4047         * testsuite/25_algorithms/clamp/1.cc: Likewise.
4048         * testsuite/25_algorithms/clamp/2.cc: Likewise.
4049         * testsuite/25_algorithms/copy/1.cc: Likewise.
4050         * testsuite/25_algorithms/copy/2.cc: Likewise.
4051         * testsuite/25_algorithms/copy/3.cc: Likewise.
4052         * testsuite/25_algorithms/copy/34595.cc: Likewise.
4053         * testsuite/25_algorithms/copy/4.cc: Likewise.
4054         * testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
4055         * testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
4056         * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
4057         * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
4058         * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
4059         * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
4060         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
4061         Likewise.
4062         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
4063         Likewise.
4064         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
4065         Likewise.
4066         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
4067         Likewise.
4068         * testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
4069         * testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
4070         * testsuite/25_algorithms/copy_n/1.cc: Likewise.
4071         * testsuite/25_algorithms/copy_n/2.cc: Likewise.
4072         * testsuite/25_algorithms/copy_n/3.cc: Likewise.
4073         * testsuite/25_algorithms/copy_n/4.cc: Likewise.
4074         * testsuite/25_algorithms/copy_n/50119.cc: Likewise.
4075         * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
4076         * testsuite/25_algorithms/equal_range/2.cc: Likewise.
4077         * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
4078         * testsuite/25_algorithms/fill/1.cc: Likewise.
4079         * testsuite/25_algorithms/fill/2.cc: Likewise.
4080         * testsuite/25_algorithms/fill/3.cc: Likewise.
4081         * testsuite/25_algorithms/fill/4.cc: Likewise.
4082         * testsuite/25_algorithms/fill_n/1.cc: Likewise.
4083         * testsuite/25_algorithms/find/39546.cc: Likewise.
4084         * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: Likewise.
4085         * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Likewise.
4086         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
4087         Likewise.
4088         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
4089         Likewise.
4090         * testsuite/25_algorithms/find_if/1.cc: Likewise.
4091         * testsuite/25_algorithms/find_if_not/1.cc: Likewise.
4092         * testsuite/25_algorithms/for_each/1.cc: Likewise.
4093         * testsuite/25_algorithms/heap/1.cc: Likewise.
4094         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
4095         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
4096         * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
4097         * testsuite/25_algorithms/includes/1.cc: Likewise.
4098         * testsuite/25_algorithms/inplace_merge/1.cc: Likewise.
4099         * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
4100         * testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise.
4101         * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
4102         * testsuite/25_algorithms/is_heap/1.cc: Likewise.
4103         * testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
4104         * testsuite/25_algorithms/is_partitioned/1.cc: Likewise.
4105         * testsuite/25_algorithms/is_permutation/1.cc: Likewise.
4106         * testsuite/25_algorithms/is_permutation/2.cc: Likewise.
4107         * testsuite/25_algorithms/is_permutation/vectorbool.cc: Likewise.
4108         * testsuite/25_algorithms/is_sorted/1.cc: Likewise.
4109         * testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
4110         * testsuite/25_algorithms/iter_swap/20577.cc: Likewise.
4111         * testsuite/25_algorithms/lower_bound/2.cc: Likewise.
4112         * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
4113         * testsuite/25_algorithms/make_heap/complexity.cc: Likewise.
4114         * testsuite/25_algorithms/max/1.cc: Likewise.
4115         * testsuite/25_algorithms/max/2.cc: Likewise.
4116         * testsuite/25_algorithms/max/3.cc: Likewise.
4117         * testsuite/25_algorithms/max/37547.cc: Likewise.
4118         * testsuite/25_algorithms/max/4.cc: Likewise.
4119         * testsuite/25_algorithms/min/1.cc: Likewise.
4120         * testsuite/25_algorithms/min/2.cc: Likewise.
4121         * testsuite/25_algorithms/min/3.cc: Likewise.
4122         * testsuite/25_algorithms/min/37547.cc: Likewise.
4123         * testsuite/25_algorithms/min/4.cc: Likewise.
4124         * testsuite/25_algorithms/minmax/1.cc: Likewise.
4125         * testsuite/25_algorithms/minmax/2.cc: Likewise.
4126         * testsuite/25_algorithms/minmax/3.cc: Likewise.
4127         * testsuite/25_algorithms/minmax/37547.cc: Likewise.
4128         * testsuite/25_algorithms/minmax_element/1.cc: Likewise.
4129         * testsuite/25_algorithms/move/1.cc: Likewise.
4130         * testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
4131         * testsuite/25_algorithms/move_backward/1.cc: Likewise.
4132         * testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
4133         * testsuite/25_algorithms/next_permutation/moveable.cc: Likewise.
4134         * testsuite/25_algorithms/none_of/1.cc: Likewise.
4135         * testsuite/25_algorithms/nth_element/1.cc: Likewise.
4136         * testsuite/25_algorithms/nth_element/2.cc: Likewise.
4137         * testsuite/25_algorithms/nth_element/3.cc: Likewise.
4138         * testsuite/25_algorithms/nth_element/moveable.cc: Likewise.
4139         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
4140         * testsuite/25_algorithms/partial_sort/2.cc: Likewise.
4141         * testsuite/25_algorithms/partial_sort/check_compare_by_value.cc:
4142         Likewise.
4143         * testsuite/25_algorithms/partial_sort/moveable.cc: Likewise.
4144         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
4145         * testsuite/25_algorithms/partial_sort_copy/2.cc: Likewise.
4146         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
4147         * testsuite/25_algorithms/partition/1.cc: Likewise.
4148         * testsuite/25_algorithms/partition/moveable.cc: Likewise.
4149         * testsuite/25_algorithms/partition_copy/1.cc: Likewise.
4150         * testsuite/25_algorithms/partition_point/1.cc: Likewise.
4151         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
4152         * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
4153         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
4154         * testsuite/25_algorithms/random_shuffle/1.cc: Likewise.
4155         * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
4156         * testsuite/25_algorithms/rotate/1.cc: Likewise.
4157         * testsuite/25_algorithms/rotate/moveable.cc: Likewise.
4158         * testsuite/25_algorithms/rotate/moveable2.cc: Likewise.
4159         * testsuite/25_algorithms/rotate/rotate.cc: Likewise.
4160         * testsuite/25_algorithms/search/1.cc: Likewise.
4161         * testsuite/25_algorithms/search_n/58358.cc: Likewise.
4162         * testsuite/25_algorithms/shuffle/1.cc: Likewise.
4163         * testsuite/25_algorithms/sort/1.cc: Likewise.
4164         * testsuite/25_algorithms/sort/check_compare_by_value.cc: Likewise.
4165         * testsuite/25_algorithms/sort/moveable.cc: Likewise.
4166         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
4167         * testsuite/25_algorithms/sort/vectorbool.cc: Likewise.
4168         * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc: Likewise.
4169         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
4170         * testsuite/25_algorithms/stable_partition/1.cc: Likewise.
4171         * testsuite/25_algorithms/stable_partition/mem_check.cc: Likewise.
4172         * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
4173         * testsuite/25_algorithms/stable_sort/2.cc: Likewise.
4174         * testsuite/25_algorithms/stable_sort/3.cc: Likewise.
4175         * testsuite/25_algorithms/stable_sort/49559.cc: Likewise.
4176         * testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
4177         Likewise.
4178         * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
4179         * testsuite/25_algorithms/stable_sort/moveable.cc: Likewise.
4180         * testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise.
4181         * testsuite/25_algorithms/swap_ranges/1.cc: Likewise.
4182         * testsuite/25_algorithms/unique/11480.cc: Likewise.
4183         * testsuite/25_algorithms/unique/2.cc: Likewise.
4184         * testsuite/25_algorithms/unique/moveable.cc: Likewise.
4185         * testsuite/25_algorithms/unique_copy/1.cc: Likewise.
4186         * testsuite/25_algorithms/unique_copy/2.cc: Likewise.
4187         * testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
4188         * testsuite/25_algorithms/upper_bound/2.cc: Likewise.
4189         * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
4190         * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Likewise.
4191         * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc:
4192         Likewise.
4193         * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc:
4194         Likewise.
4195         * testsuite/28_regex/algorithms/regex_match/basic/
4196         string_range_00_03.cc: Likewise.
4197         * testsuite/28_regex/algorithms/regex_match/basic/
4198         string_range_01_03.cc: Likewise.
4199         * testsuite/28_regex/algorithms/regex_match/basic/
4200         string_range_02_03.cc: Likewise.
4201         * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
4202         Likewise.
4203         * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
4204         Likewise.
4205         * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
4206         Likewise.
4207         * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc:
4208         Likewise.
4209         * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
4210         Likewise.
4211         * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
4212         Likewise.
4213         * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc:
4214         Likewise.
4215         * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
4216         Likewise.
4217         * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
4218         Likewise.
4219         * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Likewise.
4220         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
4221         Likewise.
4222         * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc:
4223         Likewise.
4224         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
4225         Likewise.
4226         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/
4227         anymatcher.cc: Likewise.
4228         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
4229         Likewise.
4230         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc:
4231         Likewise.
4232         * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
4233         Likewise.
4234         * testsuite/28_regex/algorithms/regex_match/extended/
4235         cstring_questionmark.cc: Likewise.
4236         * testsuite/28_regex/algorithms/regex_match/extended/
4237         cstring_range.cc: Likewise.
4238         * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
4239         Likewise.
4240         * testsuite/28_regex/algorithms/regex_match/extended/
4241         string_range_00_03.cc: Likewise.
4242         * testsuite/28_regex/algorithms/regex_match/extended/
4243         string_range_01_03.cc: Likewise.
4244         * testsuite/28_regex/algorithms/regex_match/extended/
4245         string_range_02_03.cc: Likewise.
4246         * testsuite/28_regex/algorithms/regex_match/extended/
4247         wstring_locale.cc: Likewise.
4248         * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
4249         Likewise.
4250         * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc: Likewise.
4251         * testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise.
4252         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
4253         Likewise.
4254         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
4255         Likewise.
4256         * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Likewise.
4257         * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Likewise.
4258         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
4259         Likewise.
4260         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
4261         * testsuite/28_regex/basic_regex/assign/char/cstring_op.cc: Likewise.
4262         * testsuite/28_regex/basic_regex/assign/char/moveable.cc: Likewise.
4263         * testsuite/28_regex/basic_regex/assign/char/pstring.cc: Likewise.
4264         * testsuite/28_regex/basic_regex/assign/char/range.cc: Likewise.
4265         * testsuite/28_regex/basic_regex/assign/char/string.cc: Likewise.
4266         * testsuite/28_regex/basic_regex/assign/char/string_op.cc: Likewise.
4267         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc: Likewise.
4268         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc: Likewise.
4269         * testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc: Likewise.
4270         * testsuite/28_regex/basic_regex/assign/wchar_t/range.cc: Likewise.
4271         * testsuite/28_regex/basic_regex/assign/wchar_t/string.cc: Likewise.
4272         * testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc: Likewise.
4273         * testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc:
4274         Likewise.
4275         * testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
4276         Likewise.
4277         * testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
4278         * testsuite/28_regex/basic_regex/ctors/extended/
4279         string_range_01_02_03.cc: Likewise.
4280         * testsuite/28_regex/basic_regex/ctors/move_char.cc: Likewise.
4281         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
4282         * testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc: Likewise.
4283         * testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc: Likewise.
4284         * testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc: Likewise.
4285         * testsuite/28_regex/basic_regex/imbue/string.cc: Likewise.
4286         * testsuite/28_regex/constants/error_type.cc: Likewise.
4287         * testsuite/28_regex/constants/match_flag_type.cc: Likewise.
4288         * testsuite/28_regex/init-list.cc: Likewise.
4289         * testsuite/28_regex/iterators/regex_iterator/char/64140.cc: Likewise.
4290         * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
4291         Likewise.
4292         * testsuite/28_regex/iterators/regex_iterator/char/
4293         string_position_01.cc
4294         * testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc:
4295         Likewise.
4296         * testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/
4297         default.cc: Likewise.
4298         * testsuite/28_regex/iterators/regex_iterator/typedefs.cc: Likewise.
4299         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
4300         Likewise.
4301         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
4302         Likewise.
4303         * testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Likewise.
4304         * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
4305         Likewise.
4306         * testsuite/28_regex/iterators/regex_token_iterator/ctors/char/
4307         default.cc: Likewise.
4308         * testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/
4309         default.cc: Likewise.
4310         * testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc:
4311         Likewise.
4312         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4313         string_01.cc: Likewise.
4314         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4315         wstring_02.cc: Likewise.
4316         * testsuite/28_regex/match_results/ctors/char/default.cc: Likewise.
4317         * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
4318         * testsuite/28_regex/match_results/format.cc: Likewise.
4319         * testsuite/28_regex/match_results/out_of_range_submatches.cc: Likewise.
4320         * testsuite/28_regex/match_results/swap.cc: Likewise.
4321         * testsuite/28_regex/match_results/typedefs.cc: Likewise.
4322         * testsuite/28_regex/regex_error/regex_error.cc: Likewise.
4323         * testsuite/28_regex/regression.cc: Likewise.
4324         * testsuite/28_regex/sub_match/cast_char.cc: Likewise.
4325         * testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
4326         * testsuite/28_regex/sub_match/embedded_zeros_cmp.cc: Likewise.
4327         * testsuite/28_regex/sub_match/length.cc: Likewise.
4328         * testsuite/28_regex/traits/char/ctor.cc: Likewise.
4329         * testsuite/28_regex/traits/char/isctype.cc: Likewise.
4330         * testsuite/28_regex/traits/char/length.cc: Likewise.
4331         * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
4332         * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
4333         * testsuite/28_regex/traits/char/transform.cc: Likewise.
4334         * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
4335         * testsuite/28_regex/traits/char/translate.cc: Likewise.
4336         * testsuite/28_regex/traits/char/translate_nocase.cc: Likewise.
4337         * testsuite/28_regex/traits/char/user_defined.cc: Likewise.
4338         * testsuite/28_regex/traits/char/value.cc: Likewise.
4339         * testsuite/28_regex/traits/wchar_t/ctor.cc: Likewise.
4340         * testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise.
4341         * testsuite/28_regex/traits/wchar_t/length.cc: Likewise.
4342         * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: Likewise.
4343         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
4344         * testsuite/28_regex/traits/wchar_t/transform.cc: Likewise.
4345         * testsuite/28_regex/traits/wchar_t/transform_primary.cc: Likewise.
4346         * testsuite/28_regex/traits/wchar_t/translate.cc: Likewise.
4347         * testsuite/28_regex/traits/wchar_t/translate_nocase.cc: Likewise.
4348         * testsuite/28_regex/traits/wchar_t/user_defined.cc: Likewise.
4349         * testsuite/28_regex/traits/wchar_t/value.cc: Likewise.
4350         * testsuite/29_atomics/atomic/60658.cc: Likewise.
4351         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
4352         * testsuite/29_atomics/atomic_flag/clear/1.cc: Likewise.
4353         * testsuite/backward/11460.cc: Likewise.
4354         * testsuite/backward/hash_map/1.cc: Likewise.
4355         * testsuite/backward/hash_map/25896.cc: Likewise.
4356         * testsuite/backward/hash_set/1.cc: Likewise.
4357         * testsuite/backward/hash_set/25896.cc: Likewise.
4358         * testsuite/decimal/binary-arith.cc: Likewise.
4359         * testsuite/decimal/comparison.cc: Likewise.
4360         * testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
4361         * testsuite/decimal/compound-assignment.cc: Likewise.
4362         * testsuite/decimal/conversion-from-float.cc: Likewise.
4363         * testsuite/decimal/conversion-from-integral.cc: Likewise.
4364         * testsuite/decimal/conversion-to-generic-float.cc: Likewise.
4365         * testsuite/decimal/conversion-to-integral.cc: Likewise.
4366         * testsuite/decimal/ctor.cc: Likewise.
4367         * testsuite/decimal/incdec-memfunc.cc: Likewise.
4368         * testsuite/decimal/incdec.cc: Likewise.
4369         * testsuite/decimal/make-decimal.cc: Likewise.
4370         * testsuite/decimal/pr54036-1.cc: Likewise.
4371         * testsuite/decimal/pr54036-2.cc: Likewise.
4372         * testsuite/decimal/pr54036-3.cc: Likewise.
4373         * testsuite/decimal/unary-arith.cc: Likewise.
4374         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise.
4375         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
4376         Likewise.
4377         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise.
4378         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
4379         Likewise.
4380         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
4381         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
4382         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
4383         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: Likewise.
4384         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
4385         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: Likewise.
4386         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
4387         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Likewise.
4388         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
4389         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Likewise.
4390         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
4391         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
4392         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Likewise.
4393         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
4394         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Likewise.
4395         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
4396         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
4397         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
4398         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
4399         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
4400         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
4401         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
4402         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
4403         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
4404         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
4405         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
4406         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
4407         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
4408         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
4409         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
4410         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
4411         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
4412         * testsuite/special_functions/18_riemann_zeta/check_value.cc: Likewise.
4413         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
4414         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
4415         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
4416         * testsuite/special_functions/20_sph_legendre/check_value.cc: Likewise.
4417         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
4418         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
4419         * testsuite/tr2/bases/value.cc: Likewise.
4420         * testsuite/tr2/direct_bases/value.cc: Likewise.
4421         * testsuite/util/debug/checks.h: Likewise.
4422         * testsuite/util/debug/unordered_checks.h: Likewise.
4423         * testsuite/util/testsuite_allocator.h: Likewise.
4424         * testsuite/util/testsuite_api.h: Likewise.
4425         * testsuite/util/testsuite_common_types.h: Likewise.
4426         * testsuite/util/testsuite_random.h: Likewise.
4427         * testsuite/util/testsuite_rvalref.h: Likewise.
4428
4429 2016-10-13  Jonathan Wakely  <jwakely@redhat.com>
4430
4431         * include/bits/shared_ptr_base.h: Include <functional>.
4432         [!__cpp_rtti]: Do not include <typeinfo>.
4433         * include/experimental/array: Do not include <functional>.
4434         * include/experimental/memory: Include <bits/functional_hash.h>
4435         instead of <functional>.
4436         * include/experimental/propagate_const: Include <bits/stl_function.h>,
4437         <bits/functional_hash.h>, and <bits/move.h> instead of <functional>.
4438         * include/experimental/tuple: Do not include <functional>.
4439         * include/std/future: Include <functional>.
4440         * include/std/memory: Do not include <functional>.
4441         * include/std/mutex: [_GLIBCXX_HAVE_TLS]: Likewise.
4442         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
4443         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
4444         missing includes.
4445         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4446         * testsuite/20_util/specialized_algorithms/memory_management_tools/
4447         1.cc: Likewise.
4448         * testsuite/30_threads/call_once/60497.cc: Likewise.
4449         * testsuite/30_threads/lock/2.cc: Likewise.
4450         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
4451         * testsuite/experimental/algorithm/sample.cc: Likewise.
4452         * testsuite/experimental/array/make_array.cc: Likewise.
4453         * testsuite/experimental/array/neg.cc: Likewise. Adjust dg-error line.
4454         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
4455         Adjust dg-error lines.
4456         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
4457         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
4458         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
4459         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
4460         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
4461
4462         * testsuite/experimental/algorithm/sample.cc: Add missing header.
4463
4464         * include/experimental/propagate_const (element_type): Qualify
4465         declval.
4466
4467         * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
4468         instead of assert.
4469
4470         * include/experiumental/functional (boyer_moore_searcher)
4471         (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
4472         with _GLIBCXX_STD_C.
4473         * include/std/functional: Likewise.
4474
4475         * include/std/chrono (floor): Replace non-constexpr operation.
4476         * testsuite/20_util/duration_cast/rounding.cc: Test conversion to
4477         durations with floating pointer representations.
4478
4479         * src/c++11/compatibility-thread-c++0x.cc (_Bind_simple)
4480         (_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols.
4481
4482         * include/std/functional (_Bind_simple, _Bind_simple_helper)
4483         (__bind_simple): Remove.
4484         * include/std/future: Include <bits/invoke.h> instead of <functional>.
4485         (__future_base::_Task_state::_M_run)
4486         (__future_base::_Task_state::_M_run_delayed): Use lambda expressions
4487         instead of __bind_simple.
4488         (__future_base::_Task_state::_S_maybe_wrap_ref): Remove.
4489         (async): Use thread::__make_invoker instead of __bind_simple.
4490         * include/std/thread: Include <tuple> and <bits/invoke.h> instead of
4491         <functional>.
4492         (thread::_Invoker, thread::__make_invoker): Define helpers to do
4493         INVOKE(DECAY_COPY(f), DECAY_COPY(args)...).
4494
4495         * include/std/functional (_Not_fn): Make exception specifications
4496         depend on whether negating the result can throw.
4497         * testsuite/20_util/not_fn/1.cc: Move to ...
4498         * testsuite/20_util/function_objects/not_fn/1.cc: ... here. Add tests
4499         for types that can throw when negated and that cannot be negated.
4500
4501         * include/bits/invoke.h (__invoke): Fix exception-specification.
4502         * include/std/functional (invoke): Likewise.
4503         * testsuite/20_util/function_objects/invoke/1.cc: New test.
4504
4505 2016-10-12  Paolo Carlini  <paolo.carlini@oracle.com>
4506
4507         * testsuite/util/testsuite_hooks.h: Rewrite VERIFY in terms of
4508         __builtin_printf and __builtin_abort.
4509         * testsuite/lib/libstdc++.exp: Remove _GLIBCXX_ASSERT use.
4510         * scripts/testsuite_flags.in: Likewise.
4511         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
4512         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
4513         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
4514         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
4515         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise, adjust.
4516         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
4517         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
4518         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
4519         * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
4520         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
4521         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
4522         Likewise.
4523         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
4524         Likewise.
4525         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
4526         Likewise.
4527         * testsuite/27_io/objects/char/7.cc: Likewise.
4528         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
4529         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
4530         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
4531         * testsuite/18_support/50594.cc: Remove 'test' variable, adjust.
4532         * testsuite/18_support/bad_alloc/what.cc: Likewise.
4533         * testsuite/18_support/bad_cast/what.cc: Likewise.
4534         * testsuite/18_support/bad_exception/what.cc: Likewise.
4535         * testsuite/18_support/bad_typeid/what.cc: Likewise.
4536         * testsuite/18_support/exception/38732.cc: Likewise.
4537         * testsuite/18_support/exception/what.cc: Likewise.
4538         * testsuite/18_support/exception_ptr/64241.cc: Likewise.
4539         * testsuite/18_support/exception_ptr/current_exception.cc: Likewise.
4540         * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
4541         * testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise.
4542         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
4543         * testsuite/18_support/nested_exception/cons.cc: Likewise.
4544         * testsuite/18_support/nested_exception/nested_ptr.cc: Likewise.
4545         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise.
4546         * testsuite/18_support/nested_exception/rethrow_nested.cc: Likewise.
4547         * testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise.
4548         * testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise.
4549         * testsuite/18_support/numeric_limits/digits10.cc: Likewise.
4550         * testsuite/18_support/numeric_limits/dr559.cc: Likewise.
4551         * testsuite/18_support/numeric_limits/epsilon.cc: Likewise.
4552         * testsuite/18_support/numeric_limits/is_iec559.cc: Likewise.
4553         * testsuite/18_support/numeric_limits/is_signed.cc: Likewise.
4554         * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
4555         * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
4556         * testsuite/18_support/numeric_limits/min_max.cc: Likewise.
4557         * testsuite/18_support/numeric_limits/specialization_default_values.cc:
4558         Likewise.
4559         * testsuite/18_support/type_info/hash_code.cc: Likewise.
4560         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
4561         * testsuite/19_diagnostics/error_category/cons/default.cc: Likewise.
4562         * testsuite/19_diagnostics/error_category/operators/equal.cc: Likewise.
4563         * testsuite/19_diagnostics/error_category/operators/
4564         not_equal.cc: Likewise.
4565         * testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
4566         * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
4567         * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
4568         * testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
4569         * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
4570         * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
4571         * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise.
4572         * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
4573         * testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
4574         Likewise.
4575         * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
4576         * testsuite/19_diagnostics/error_condition/operators/equal.cc:
4577         Likewise.
4578         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
4579         Likewise.
4580         * testsuite/19_diagnostics/logic_error/what-1.cc: Likewise.
4581         * testsuite/19_diagnostics/logic_error/what-2.cc: Likewise.
4582         * testsuite/19_diagnostics/logic_error/what-3.cc: Likewise.
4583         * testsuite/19_diagnostics/logic_error/what-big.cc: Likewise.
4584         * testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise.
4585         * testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise.
4586         * testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
4587         * testsuite/19_diagnostics/runtime_error/what-big.cc: Likewise.
4588         * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
4589         * testsuite/19_diagnostics/system_error/what-1.cc: Likewise.
4590         * testsuite/19_diagnostics/system_error/what-2.cc: Likewise.
4591         * testsuite/19_diagnostics/system_error/what-3.cc: Likewise.
4592         * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
4593         * testsuite/19_diagnostics/system_error/what-big.cc: Likewise.
4594         * testsuite/20_util/addressof/1.cc: Likewise.
4595         * testsuite/20_util/align/1.cc: Likewise.
4596         * testsuite/20_util/align/2.cc: Likewise.
4597         * testsuite/20_util/allocator/1.cc: Likewise.
4598         * testsuite/20_util/allocator/10378.cc: Likewise.
4599         * testsuite/20_util/allocator/8230.cc: Likewise.
4600         * testsuite/20_util/allocator_traits/members/allocate_hint.cc:
4601         Likewise.
4602         * testsuite/20_util/allocator_traits/members/construct.cc: Likewise.
4603         * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
4604         * testsuite/20_util/allocator_traits/members/max_size.cc: Likewise.
4605         * testsuite/20_util/any/assign/exception.cc: Likewise.
4606         * testsuite/20_util/auto_ptr/1.cc: Likewise.
4607         * testsuite/20_util/auto_ptr/2.cc: Likewise.
4608         * testsuite/20_util/auto_ptr/3.cc: Likewise.
4609         * testsuite/20_util/auto_ptr/4.cc: Likewise.
4610         * testsuite/20_util/auto_ptr/5.cc: Likewise.
4611         * testsuite/20_util/auto_ptr/6.cc: Likewise.
4612         * testsuite/20_util/auto_ptr/7.cc: Likewise.
4613         * testsuite/20_util/bind/all_bound.cc: Likewise.
4614         * testsuite/20_util/bind/conv_result.cc: Likewise.
4615         * testsuite/20_util/bind/cv_quals.cc: Likewise.
4616         * testsuite/20_util/bind/cv_quals_2.cc
4617         * testsuite/20_util/bind/nested.cc: Likewise.
4618         * testsuite/20_util/bind/placeholders.cc: Likewise.
4619         * testsuite/20_util/bind/ref.cc: Likewise.
4620         * testsuite/20_util/bind/ref2.cc: Likewise.
4621         * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
4622         * testsuite/20_util/duration/arithmetic/1.cc: Likewise.
4623         * testsuite/20_util/duration/arithmetic/2.cc: Likewise.
4624         * testsuite/20_util/duration/arithmetic/58850.cc: Likewise.
4625         * testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise.
4626         * testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise.
4627         * testsuite/20_util/duration/comparison_operators/1.cc: Likewise.
4628         * testsuite/20_util/duration/cons/1.cc: Likewise.
4629         * testsuite/20_util/duration/cons/2.cc: Likewise.
4630         * testsuite/20_util/enable_if/requirements/typedefs.cc: Likewise.
4631         * testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Likewise.
4632         * testsuite/20_util/enable_shared_from_this/members/assign.cc:
4633         Likewise.
4634         * testsuite/20_util/exchange/1.cc: Likewise.
4635         * testsuite/20_util/forward/a.cc: Likewise.
4636         * testsuite/20_util/forward/b.cc: Likewise.
4637         * testsuite/20_util/forward/d.cc: Likewise.
4638         * testsuite/20_util/function/1.cc: Likewise.
4639         * testsuite/20_util/function/2.cc: Likewise.
4640         * testsuite/20_util/function/3.cc: Likewise.
4641         * testsuite/20_util/function/4.cc: Likewise.
4642         * testsuite/20_util/function/43397.cc: Likewise.
4643         * testsuite/20_util/function/5.cc: Likewise.
4644         * testsuite/20_util/function/6.cc: Likewise.
4645         * testsuite/20_util/function/7.cc: Likewise.
4646         * testsuite/20_util/function/8.cc: Likewise.
4647         * testsuite/20_util/function/9.cc: Likewise.
4648         * testsuite/20_util/function/assign/move.cc: Likewise.
4649         * testsuite/20_util/function/cons/move.cc: Likewise.
4650         * testsuite/20_util/function_objects/dr660.cc: Likewise.
4651         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Likewise.
4652         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
4653         * testsuite/20_util/hash/chi2_q_document_words.cc: Likewise.
4654         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
4655         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
4656         * testsuite/20_util/hash/operators/size_t.cc: Likewise.
4657         * testsuite/20_util/hash/quality.cc: Likewise.
4658         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
4659         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
4660         * testsuite/20_util/is_function/24808.cc: Likewise.
4661         * testsuite/20_util/is_object/24808.cc: Likewise.
4662         * testsuite/20_util/move_if_noexcept/1.cc: Likewise.
4663         * testsuite/20_util/move_if_noexcept/constexpr.cc: Likewise.
4664         * testsuite/20_util/owner_less/cmp.cc: Likewise.
4665         * testsuite/20_util/pair/1.cc: Likewise.
4666         * testsuite/20_util/pair/2.cc: Likewise.
4667         * testsuite/20_util/pair/3.cc: Likewise.
4668         * testsuite/20_util/pair/4.cc: Likewise.
4669         * testsuite/20_util/pair/make_pair/constexpr.cc: Likewise.
4670         * testsuite/20_util/pair/moveable.cc: Likewise.
4671         * testsuite/20_util/pair/piecewise.cc: Likewise.
4672         * testsuite/20_util/pair/swap.cc: Likewise.
4673         * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
4674         * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.
4675         * testsuite/20_util/ratio/comparisons/comp3.cc: Likewise.
4676         * testsuite/20_util/ratio/cons/cons1.cc: Likewise.
4677         * testsuite/20_util/ratio/operations/45866.cc: Likewise.
4678         * testsuite/20_util/ratio/operations/47913.cc: Likewise.
4679         * testsuite/20_util/ratio/operations/ops1.cc: Likewise.
4680         * testsuite/20_util/ratio/operations/ops2.cc: Likewise.
4681         * testsuite/20_util/ratio/operations/ops3.cc: Likewise.
4682         * testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
4683         * testsuite/20_util/scoped_allocator/1.cc: Likewise.
4684         * testsuite/20_util/scoped_allocator/2.cc: Likewise.
4685         * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise.
4686         * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
4687         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
4688         * testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
4689         * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
4690         * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
4691         Likewise.
4692         * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
4693         * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise.
4694         * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise.
4695         * testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
4696         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
4697         * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
4698         * testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
4699         * testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
4700         * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise.
4701         * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
4702         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
4703         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Likewise.
4704         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Likewise.
4705         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc:
4706         Likewise.
4707         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
4708         Likewise.
4709         * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
4710         * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
4711         * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
4712         * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
4713         * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
4714         * testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
4715         * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
4716         * testsuite/20_util/shared_ptr/hash/1.cc: Likewise.
4717         * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
4718         * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise.
4719         * testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
4720         * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
4721         * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
4722         * testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
4723         * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
4724         * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
4725         * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
4726         * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
4727         * testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
4728         * testsuite/20_util/shared_ptr/observers/owner_before.cc: Likewise.
4729         * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
4730         * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
4731         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
4732         Likewise.
4733         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4734         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
4735         move_iterators/1.cc: Likewise.
4736         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
4737         move_iterators/1.cc: Likewise.
4738         * testsuite/20_util/temporary_buffer.cc: Likewise.
4739         * testsuite/20_util/time_point/1.cc: Likewise.
4740         * testsuite/20_util/time_point/2.cc: Likewise.
4741         * testsuite/20_util/time_point/3.cc: Likewise.
4742         * testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise.
4743         * testsuite/20_util/tuple/48476.cc: Likewise.
4744         * testsuite/20_util/tuple/comparison_operators/comparisons.cc:
4745         Likewise.
4746         * testsuite/20_util/tuple/cons/allocators.cc: Likewise.
4747         * testsuite/20_util/tuple/cons/assignment.cc: Likewise.
4748         * testsuite/20_util/tuple/cons/big_tuples.cc: Likewise.
4749         * testsuite/20_util/tuple/cons/constructor.cc: Likewise.
4750         * testsuite/20_util/tuple/creation_functions/23978.cc: Likewise.
4751         * testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.
4752         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise.
4753         * testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc:
4754         Likewise.
4755         * testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise.
4756         * testsuite/20_util/tuple/creation_functions/tie.cc: Likewise.
4757         * testsuite/20_util/tuple/creation_functions/tie2.cc: Likewise.
4758         * testsuite/20_util/tuple/cv_tuple_size.cc: Likewise.
4759         * testsuite/20_util/tuple/element_access/get.cc: Likewise.
4760         * testsuite/20_util/tuple/element_access/get_by_type.cc: Likewise.
4761         * testsuite/20_util/tuple/moveable.cc: Likewise.
4762         * testsuite/20_util/tuple/swap.cc: Likewise.
4763         * testsuite/20_util/tuple/tuple_size.cc: Likewise.
4764         * testsuite/20_util/typeindex/comparison_operators.cc: Likewise.
4765         * testsuite/20_util/typeindex/hash.cc: Likewise.
4766         * testsuite/20_util/typeindex/hash_code.cc: Likewise.
4767         * testsuite/20_util/typeindex/name.cc: Likewise.
4768         * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
4769         * testsuite/20_util/unique_ptr/assign/move.cc: Likewise.
4770         * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise.
4771         * testsuite/20_util/unique_ptr/assign/nullptr.cc: Likewise.
4772         * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise.
4773         * testsuite/20_util/unique_ptr/cons/nullptr.cc: Likewise.
4774         * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise.
4775         * testsuite/20_util/unique_ptr/cons/pointer_array.cc: Likewise.
4776         * testsuite/20_util/unique_ptr/cons/ptr_deleter.cc: Likewise.
4777         * testsuite/20_util/unique_ptr/creation/array.cc: Likewise.
4778         * testsuite/20_util/unique_ptr/creation/single.cc: Likewise.
4779         * testsuite/20_util/unique_ptr/hash/1.cc: Likewise.
4780         * testsuite/20_util/unique_ptr/modifiers/43183.cc: Likewise.
4781         * testsuite/20_util/unique_ptr/specialized_algorithms/
4782         comparisons.cc: Likewise.
4783         * testsuite/20_util/unique_ptr/specialized_algorithms/
4784         comparisons_array.cc: Likewise.
4785         * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc:
4786         Likewise.
4787         * testsuite/20_util/uses_allocator/construction.cc: Likewise.
4788         * testsuite/20_util/uses_allocator/value.cc: Likewise.
4789         * testsuite/20_util/variant/run.cc: Likewise.
4790         * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
4791         * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
4792         * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
4793         Likewise.
4794         * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
4795         * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
4796         Likewise.
4797         * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
4798         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
4799         Likewise.
4800         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
4801         Likewise.
4802         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
4803         Likewise.
4804         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
4805         Likewise.
4806         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
4807         Likewise.
4808         * testsuite/21_strings/basic_string/capacity/1.cc: Likewise.
4809         * testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise.
4810         * testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise.
4811         * testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise.
4812         * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
4813         Likewise.
4814         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise.
4815         * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
4816         Likewise.
4817         * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Likewise.
4818         * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
4819         Likewise.
4820         * testsuite/21_strings/basic_string/cons/char/1.cc: Likewise.
4821         * testsuite/21_strings/basic_string/cons/char/2.cc: Likewise.
4822         * testsuite/21_strings/basic_string/cons/char/3.cc: Likewise.
4823         * testsuite/21_strings/basic_string/cons/char/4.cc: Likewise.
4824         * testsuite/21_strings/basic_string/cons/char/42261.cc: Likewise.
4825         * testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
4826         * testsuite/21_strings/basic_string/cons/char/6.cc: Likewise.
4827         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
4828         * testsuite/21_strings/basic_string/cons/char/8.cc: Likewise.
4829         * testsuite/21_strings/basic_string/cons/char/moveable.cc: Likewise.
4830         * testsuite/21_strings/basic_string/cons/char/moveable2.cc: Likewise.
4831         * testsuite/21_strings/basic_string/cons/wchar_t/1.cc: Likewise.
4832         * testsuite/21_strings/basic_string/cons/wchar_t/2.cc: Likewise.
4833         * testsuite/21_strings/basic_string/cons/wchar_t/3.cc: Likewise.
4834         * testsuite/21_strings/basic_string/cons/wchar_t/4.cc: Likewise.
4835         * testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.
4836         * testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
4837         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Likewise.
4838         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
4839         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
4840         * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
4841         * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
4842         Likewise.
4843         * testsuite/21_strings/basic_string/element_access/char/1.cc: Likewise.
4844         * testsuite/21_strings/basic_string/element_access/char/2.cc: Likewise.
4845         * testsuite/21_strings/basic_string/element_access/char/3.cc: Likewise.
4846         * testsuite/21_strings/basic_string/element_access/char/4.cc: Likewise.
4847         * testsuite/21_strings/basic_string/element_access/char/58163.cc:
4848         Likewise.
4849         * testsuite/21_strings/basic_string/element_access/char/empty.cc:
4850         Likewise.
4851         * testsuite/21_strings/basic_string/element_access/char/front_back.cc:
4852         Likewise.
4853         * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc:
4854         Likewise.
4855         * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc:
4856         Likewise.
4857         * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc:
4858         Likewise.
4859         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
4860         Likewise.
4861         * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
4862         Likewise.
4863         * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
4864         Likewise.
4865         * testsuite/21_strings/basic_string/element_access/wchar_t/
4866         front_back.cc: Likewise.
4867         * testsuite/21_strings/basic_string/init-list.cc: Likewise.
4868         * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
4869         Likewise.
4870         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
4871         Likewise.
4872         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
4873         Likewise.
4874         * testsuite/21_strings/basic_string/inserters_extractors/char/
4875         28277.cc: Likewise.
4876         * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
4877         Likewise.
4878         * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
4879         Likewise.
4880         * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
4881         Likewise.
4882         * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
4883         Likewise.
4884         * testsuite/21_strings/basic_string/inserters_extractors/char/8.cc:
4885         Likewise.
4886         * testsuite/21_strings/basic_string/inserters_extractors/char/9.cc:
4887         Likewise.
4888         * testsuite/21_strings/basic_string/inserters_extractors/pod/
4889         10081-in.cc: Likewise.
4890         * testsuite/21_strings/basic_string/inserters_extractors/pod/
4891         10081-out.cc: Likewise.
4892         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
4893         Likewise.
4894         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4895         10.cc: Likewise.
4896         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4897         11.cc: Likewise.
4898         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4899         28277.cc: Likewise.
4900         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
4901         Likewise.
4902         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
4903         Likewise.
4904         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
4905         Likewise.
4906         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
4907         Likewise.
4908         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc:
4909         Likewise.
4910         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc:
4911         Likewise.
4912         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc:
4913         Likewise.
4914         * testsuite/21_strings/basic_string/modifiers/append/char/2.cc:
4915         Likewise.
4916         * testsuite/21_strings/basic_string/modifiers/append/char/3.cc:
4917         Likewise.
4918         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
4919         Likewise.
4920         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
4921         Likewise.
4922         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc:
4923         Likewise.
4924         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc:
4925         Likewise.
4926         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
4927         Likewise.
4928         * testsuite/21_strings/basic_string/modifiers/assign/char/1.cc:
4929         Likewise.
4930         * testsuite/21_strings/basic_string/modifiers/assign/char/2.cc:
4931         Likewise.
4932         * testsuite/21_strings/basic_string/modifiers/assign/char/3.cc:
4933         Likewise.
4934         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
4935         Likewise.
4936         * testsuite/21_strings/basic_string/modifiers/assign/char/
4937         move_assign.cc: Likewise.
4938         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc:
4939         Likewise.
4940         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc:
4941         Likewise.
4942         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc:
4943         Likewise.
4944         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
4945         Likewise.
4946         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
4947         move_assign.cc: Likewise.
4948         * testsuite/21_strings/basic_string/modifiers/insert/char/1.cc:
4949         Likewise.
4950         * testsuite/21_strings/basic_string/modifiers/insert/char/2.cc:
4951         Likewise.
4952         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
4953         Likewise.
4954         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc:
4955         Likewise.
4956         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc:
4957         Likewise.
4958         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
4959         Likewise.
4960         * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc:
4961         Likewise.
4962         * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc:
4963         Likewise.
4964         * testsuite/21_strings/basic_string/modifiers/replace/char/1.cc:
4965         Likewise.
4966         * testsuite/21_strings/basic_string/modifiers/replace/char/2.cc:
4967         Likewise.
4968         * testsuite/21_strings/basic_string/modifiers/replace/char/3.cc:
4969         Likewise.
4970         * testsuite/21_strings/basic_string/modifiers/replace/char/4.cc:
4971         Likewise.
4972         * testsuite/21_strings/basic_string/modifiers/replace/char/5.cc:
4973         Likewise.
4974         * testsuite/21_strings/basic_string/modifiers/replace/char/6.cc:
4975         Likewise.
4976         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
4977         Likewise.
4978         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc:
4979         Likewise.
4980         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc:
4981         Likewise.
4982         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc:
4983         Likewise.
4984         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc:
4985         Likewise.
4986         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc:
4987         Likewise.
4988         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc:
4989         Likewise.
4990         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
4991         Likewise.
4992         * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
4993         Likewise.
4994         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
4995         Likewise.
4996         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
4997         Likewise.
4998         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
4999         Likewise.
5000         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
5001         Likewise.
5002         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
5003         Likewise.
5004         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
5005         Likewise.
5006         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
5007         Likewise.
5008         * testsuite/21_strings/basic_string/numeric_conversions/char/
5009         stoull.cc: Likewise.
5010         * testsuite/21_strings/basic_string/numeric_conversions/char/
5011         to_string.cc: Likewise.
5012         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5013         dr1261.cc: Likewise.
5014         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5015         stod.cc: Likewise.
5016         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5017         stof.cc: Likewise.
5018         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5019         stoi.cc: Likewise.
5020         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5021         stol.cc: Likewise.
5022         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5023         stold.cc: Likewise.
5024         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5025         stoll.cc: Likewise.
5026         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5027         stoul.cc: Likewise.
5028         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5029         stoull.cc: Likewise.
5030         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5031         to_wstring.cc: Likewise.
5032         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
5033         Likewise.
5034         * testsuite/21_strings/basic_string/operations/compare/char/13650.cc:
5035         Likewise.
5036         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
5037         Likewise.
5038         * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
5039         Likewise.
5040         * testsuite/21_strings/basic_string/operations/compare/wchar_t/
5041         13650.cc: Likewise.
5042         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
5043         Likewise.
5044         * testsuite/21_strings/basic_string/operations/data/char/1.cc:
5045         Likewise.
5046         * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc:
5047         Likewise.
5048         * testsuite/21_strings/basic_string/operations/find/char/1.cc:
5049         Likewise.
5050         * testsuite/21_strings/basic_string/operations/find/char/2.cc:
5051         Likewise.
5052         * testsuite/21_strings/basic_string/operations/find/char/3.cc:
5053         Likewise.
5054         * testsuite/21_strings/basic_string/operations/find/char/4.cc:
5055         Likewise.
5056         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
5057         Likewise.
5058         * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc:
5059         Likewise.
5060         * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc:
5061         Likewise.
5062         * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc:
5063         Likewise.
5064         * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc:
5065         Likewise.
5066         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
5067         Likewise.
5068         * testsuite/21_strings/basic_string/operations/rfind/char/1.cc:
5069         Likewise.
5070         * testsuite/21_strings/basic_string/operations/rfind/char/2.cc:
5071         Likewise.
5072         * testsuite/21_strings/basic_string/operations/rfind/char/3.cc:
5073         Likewise.
5074         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc:
5075         Likewise.
5076         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc:
5077         Likewise.
5078         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc:
5079         Likewise.
5080         * testsuite/21_strings/basic_string/operations/substr/char/1.cc:
5081         Likewise.
5082         * testsuite/21_strings/basic_string/operations/substr/wchar_t/
5083         1.cc: Likewise.
5084         * testsuite/21_strings/basic_string/operators/char/1.cc: Likewise.
5085         * testsuite/21_strings/basic_string/operators/char/2.cc: Likewise.
5086         * testsuite/21_strings/basic_string/operators/char/3.cc: Likewise.
5087         * testsuite/21_strings/basic_string/operators/char/4.cc: Likewise.
5088         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
5089         * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Likewise.
5090         * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Likewise.
5091         * testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise.
5092         * testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise.
5093         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
5094         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
5095         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
5096         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
5097         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
5098         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
5099         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
5100         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
5101         * testsuite/21_strings/basic_string_view/element_access/char/
5102         1.cc: Likewise.
5103         * testsuite/21_strings/basic_string_view/element_access/char/
5104         empty.cc: Likewise.
5105         * testsuite/21_strings/basic_string_view/element_access/char/
5106         front_back.cc: Likewise.
5107         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5108         1.cc: Likewise.
5109         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5110         empty.cc: Likewise.
5111         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5112         front_back.cc: Likewise.
5113         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
5114         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
5115         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
5116         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
5117         Likewise.
5118         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
5119         Likewise.
5120         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
5121         Likewise.
5122         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
5123         Likewise.
5124         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
5125         char/1.cc: Likewise.
5126         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
5127         wchar_t/1.cc: Likewise.
5128         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
5129         char/1.cc: Likewise.
5130         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
5131         wchar_t/1.cc: Likewise.
5132         * testsuite/21_strings/basic_string_view/operations/compare/char/
5133         1.cc: Likewise.
5134         * testsuite/21_strings/basic_string_view/operations/compare/char/
5135         13650.cc: Likewise.
5136         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
5137         1.cc: Likewise.
5138         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
5139         13650.cc: Likewise.
5140         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
5141         Likewise.
5142         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
5143         Likewise.
5144         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
5145         Likewise.
5146         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
5147         Likewise.
5148         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
5149         Likewise.
5150         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
5151         Likewise.
5152         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
5153         Likewise.
5154         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
5155         Likewise.
5156         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5157         1.cc: Likewise.
5158         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5159         2.cc: Likewise.
5160         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5161         3.cc: Likewise.
5162         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5163         4.cc: Likewise.
5164         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5165         1.cc: Likewise.
5166         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5167         2.cc: Likewise.
5168         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5169         3.cc: Likewise.
5170         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5171         1.cc: Likewise.
5172         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5173         2.cc: Likewise.
5174         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5175         3.cc: Likewise.
5176         * testsuite/21_strings/basic_string_view/operations/string_conversion/
5177         1.cc: Likewise.
5178         * testsuite/21_strings/basic_string_view/operations/substr/char/
5179         1.cc: Likewise.
5180         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
5181         1.cc: Likewise.
5182         * testsuite/21_strings/basic_string_view/operators/char/2.cc:
5183         Likewise.
5184         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
5185         Likewise.
5186         * testsuite/21_strings/c_strings/char/1.cc: Likewise.
5187         * testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise.
5188         * testsuite/21_strings/char_traits/requirements/char/1.cc: Likewise.
5189         * testsuite/21_strings/char_traits/requirements/char/57704.cc:
5190         Likewise.
5191         * testsuite/21_strings/char_traits/requirements/short/1.cc: Likewise.
5192         * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Likewise.
5193
5194         * doc/xml/manual/test.xml: Fix typo.
5195
5196 2016-10-12  Jonathan Wakely  <jwakely@redhat.com>
5197
5198         * doc/xml/manual/status_cxx2017.xml: Add std::sample status.
5199         * doc/html/*: Regenerate.
5200         * include/experimental/algorithm (__sample): Move to bits/stl_algo.h
5201         and into namespace std.
5202         * include/bits/stl_algo.h (__sample): Define here. Fix invalid use
5203         of input iterator. Defend against overloaded comma operator.
5204         (sample): Define for C++17.
5205         * testsuite/25_algorithms/sample/1.cc: New test.
5206
5207         * testsuite/util/testsuite_common_types.h
5208         (bitwise_assignment_operators): Use direct-initialization for C++11
5209         and later, to avoid CopyConstructible requirement.
5210         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
5211         line numbers.
5212         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
5213         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
5214         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
5215         * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
5216         Adjust expected errors and line numbers.
5217
5218         * include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove.
5219         (call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call.
5220
5221         * include/bits/stl_uninitialized.h
5222         (__uninitialized_default_novalue_n_1<true>): Add missing return.
5223         * testsuite/20_util/specialized_algorithms/memory_management_tools/
5224         1.cc: Check return values of uninitialized_xxx_n algorithms.
5225
5226         * libsupc++/nested_exception.h (throw_with_nested): Remove return.
5227
5228         * doc/xml/manual/intro.xml: Document LWG 2442 status.
5229         * include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
5230         [_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define
5231         partial specialization to unpack args and forward to std::invoke.
5232         (call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call
5233         instead of __bind_simple and __once_call_impl.
5234         (call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of
5235         __bind_simple.
5236         * testsuite/30_threads/call_once/dr2442.cc: New test.
5237
5238 2016-10-11  Jonathan Wakely  <jwakely@redhat.com>
5239
5240         * include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
5241         _M_assign_dispatch directly with correct tag.
5242
5243         * doc/xml/manual/intro.xml: Document LWG 2484 status.
5244         * libsupc++/nested_exception.h (_Throw_with_nested_impl)
5245         (_Throw_with_nested_helper): Remove.
5246         (__throw_with_nested_impl): New overloaded functions to implement
5247         throw_with_nested logic.
5248         (throw_with_nested): Call __throw_with_nested_impl.
5249         (_Rethrow_if_nested_impl): Remove
5250         (__rethrow_if_nested_impl): New overloaded functions to implement
5251         rethrow_if_nested logic.
5252         (rethrow_if_nested): Call __rethrow_if_nested_impl.
5253         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
5254         problem cases from LWG 2484.
5255
5256         * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
5257         Register printer for std::__cxx11::list.
5258         * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
5259         std::__cxx11::list as well as std::list.
5260
5261         * include/experimental/string_view (basic_string_view::_S_compare):
5262         Remove redundant const from return type.
5263         * include/std/string_view (basic_string_view:_S_compare): Likewise.
5264
5265         * include/bits/std_mutex.h (mutex::native_handle)
5266         (lock_guard(mutex_type&, adopt_lock_t)
5267         (unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
5268         * include/std/mutex (recursive_mutex, timed_mutex)
5269         (recursive_timed_mutex): Likewise.
5270
5271 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
5272
5273         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5274         Replace <literallayout> with nested <variablelist> elements. Update
5275         some more outdated text.
5276         * doc/html/*: Regenerate.
5277
5278 2016-10-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
5279
5280         Make any's copy assignment operator exception-safe,
5281         don't copy the underlying value when any is moved,
5282         make in_place constructors explicit.
5283         * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)):
5284         Make explicit.
5285         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
5286         Likewise.
5287         (operator=(const any&)): Make strongly exception-safe.
5288         (operator=(any&&)): reset() unconditionally in the case where
5289         rhs has a value.
5290         (operator=(_ValueType&&)): Indent the return type.
5291         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
5292         * testsuite/20_util/any/assign/2.cc: Adjust.
5293         * testsuite/20_util/any/assign/exception.cc: New.
5294         * testsuite/20_util/any/cons/2.cc: Adjust.
5295         * testsuite/20_util/any/cons/explicit.cc: New.
5296         * testsuite/20_util/any/misc/any_cast_neg.cc: Ajust.
5297
5298 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
5299
5300         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5301         Describe other subdirectories and add markup. Remove outdated
5302         reference to check-script target.
5303         * doc/html/*: Regenerate.
5304
5305         * doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
5306
5307         * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
5308         with noexcept.
5309
5310         * include/std/functional (_Bind_result::__enable_if_void): Use alias
5311         template instead of class template.
5312         (_Bind_result::__disable_if_void): Likewise.
5313         (_Bind_result::__call): Adjust uses of __enable_if_void and
5314         __disable_if_void.
5315
5316         * doc/xml/manual/intro.xml: Document DR 2296 status.
5317         * doc/xml/manual/status_cxx2017.xml: Update status.
5318         * include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and
5319         call __builtin_addressof.
5320         (addressof): Add _GLIBCXX17_CONSTEXPR.
5321         * testsuite/20_util/addressof/requirements/constexpr.cc: New test.
5322         * testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno.
5323         * testsuite/20_util/forward/f_neg.cc: Likewise.
5324
5325         * include/bits/allocator.h (allocator<T>::is_always_equal): Define.
5326         * testsuite/20_util/allocator/requirements/typedefs.cc: Test for
5327         is_always_equal.
5328         * testsuite/util/testsuite_allocator.h
5329         (uneq_allocator::is_always_equal): Define as false_type.
5330
5331         * include/experimental/numeric (gcd, lcm): Make bool arguments
5332         ill-formed.
5333         * include/std/numeric (gcd, lcm): Likewise.
5334         * testsuite/26_numerics/gcd/gcd_neg.cc: New test.
5335         * testsuite/26_numerics/lcm/lcm_neg.cc: New test.
5336
5337         * include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this):
5338         Add noexcept.
5339         * include/bits/shared_ptr_base.h
5340         (__enable_shared_from_this::weak_from_this): Likewise.
5341         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
5342         Test exception-specification of weak_from_this.
5343
5344 2016-10-07  Jonathan Wakely  <jwakely@redhat.com>
5345
5346         * doc/xml/manual/status_cxx1998.xml: Improve documentation of
5347         implementation-defined properties.
5348         * doc/xml/manual/status_cxx2011.xml: Likewise.
5349         * doc/xml/manual/status_cxx2017.xml: Likewise.
5350
5351         * doc/xml/manual/status_cxx2017.xml: Update status.
5352         * include/std/type_traits (has_unique_object_representations): Define.
5353         * testsuite/20_util/has_unique_object_representations/value.cc: New.
5354         * testsuite/20_util/has_unique_object_representations/requirements/
5355         explicit_instantiation.cc: New.
5356         * testsuite/20_util/has_unique_object_representations/requirements/
5357         typedefs.cc: New.
5358
5359 2016-10-06  Jonathan Wakely  <jwakely@redhat.com>
5360
5361         * doc/xml/manual/status_cxx2011.xml: Update status.
5362         * include/std/scoped_allocator (__outer_allocator_t, __outermost_type):
5363         New helpers for recursive OUTERMOST.
5364         (__outermost): Use __outermost_type::_S_outermost.
5365         (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove.
5366         (scoped_allocator_adaptor::__outermost_alloc_traits): Use new
5367         __outermost_type helper.
5368         (scoped_allocator_adaptor::_Constructible): New alias template.
5369         (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>):
5370         Constrain template constructors.
5371         * testsuite/20_util/scoped_allocator/3.cc: New test.
5372         * testsuite/20_util/scoped_allocator/outermost.cc: New test.
5373
5374 2016-10-05  Jonathan Wakely  <jwakely@redhat.com>
5375
5376         PR libstdc++/70564
5377         * testsuite/20_util/not_fn/1.cc: Fix test.
5378         * testsuite/experimental/functional/not_fn.cc: Likewise.
5379
5380         PR libstdc++/70101
5381         * include/bits/stl_queue.h (priority_queue): Fix allocator-extended
5382         constructors.
5383         * testsuite/23_containers/priority_queue/allocator.cc: New test.
5384
5385         PR libstdc++/77864
5386         * include/bits/stl_map.h (map::map()): Use nothrow constructibility
5387         of comparison function in conditional noexcept.
5388         * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
5389         * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
5390         * include/bits/stl_set.h (set::set()): Likewise.
5391         * testsuite/23_containers/map/cons/noexcept_default_construct.cc:
5392         New test.
5393         * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
5394         Likewise.
5395         * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
5396         Likewise.
5397         * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
5398         Likewise.
5399
5400         * include/bits/node_handle.h (_Node_handle): Remove invalid and unused
5401         alias declaration.
5402
5403         PR libstdc++/70564
5404         * include/experimental/functional (_Not_fn): Remove.
5405         (not_fn): Use std::_Not_fn.
5406         * include/std/functional (_Not_fn): Add second parameter to
5407         disambiguate copying from initialization by not_fn. Define for C++14.
5408         (not_fn): Add second argument to initialization.
5409         * testsuite/20_util/not_fn/1.cc: Copy call wrapper using
5410         direct-initialization.
5411
5412 2016-10-03  François Dumont  <fdumont@gcc.gnu.org>
5413
5414         * src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move
5415         declaration...
5416         * src/c++11/mutex_pool.h: ... here. New.
5417         * src/c++11/debug.cc: Use latter.
5418
5419 2016-10-03  Jonathan Wakely  <jwakely@redhat.com>
5420
5421         * doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status.
5422         * doc/html/*: Regenerate.
5423         * include/experimental/numeric (__abs): Move to <numeric>.
5424         (gcd, lcm): Use __detail::gcd and __detail::lcm.
5425         * include/std/numeric (__detail::__abs_integral)
5426         (__detail::__gcd, __detail::__lcm): Define.
5427         (gcd, lcm): Define for C++17.
5428         * testsuite/26_numerics/gcd/1.cc: New test.
5429         * testsuite/26_numerics/lcm/1.cc: New test.
5430         * testsuite/experimental/numeric/gcd.cc: Swap contents with ...
5431         * testsuite/experimental/numeric/lcd.cc: ... this.
5432
5433         PR libstdc++/68323
5434         PR libstdc++/77794
5435         * config/abi/pre/gnu-versioned-namespace.ver: Add exports for
5436         __cxa_thread_atexit and __gnu_cxx::__freeres.
5437         * include/Makefile.am: Add <experimental/bits/lfts_config.h>
5438         * include/Makefile.in: Regenerate.
5439         * include.bits/basic_string.h: Fix nesting of versioned namespaces.
5440         * include/bits/c++config: Declare versioned namespaces for literals.
5441         * include/bits/regex.h (basic_regex, match_results): Add workarounds
5442         for PR c++/59256.
5443         * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
5444         * include/std/chrono: Likewise.
5445         * include/std/complex: Likewise.
5446         * include/std/string_view: Likewise.
5447         * include/std/variant: Likewise. Add workaround for PR c++/59256.
5448         * include/experimental/bits/fs_fwd.h: Declare versioned namespace.
5449         * include/experimental/bits/lfts_config.h: Declare versioned
5450         namespaces.
5451         * include/experimental/algorithm: Include
5452         <experimental/bits/lfts_config.h>.
5453         * include/experimental/any: Likewise.
5454         * include/experimental/bits/erase_if.h: Likewise.
5455         * include/experimental/chrono: Likewise.
5456         * include/experimental/functional: Likewise.
5457         * include/experimental/memory_resource: Likewise.
5458         * include/experimental/optional: Likewise.
5459         * include/experimental/propagate_const: Likewise.
5460         * include/experimental/random: Likewise.
5461         * include/experimental/ratio: Likewise.
5462         * include/experimental/system_error: Likewise.
5463         * include/experimental/tuple: Likewise.
5464         * include/experimental/type_traits: Likewise.
5465         * include/experimental/utility: Likewise.
5466         * include/experimental/string_view: Likewise. Fix nesting of
5467         versioned namespaces.
5468         * include/experimental/bits/string_view.tcc: Reopen inline namespace
5469         for non-inline function definitions.
5470         * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
5471         * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
5472         * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
5473         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
5474         Likewise.
5475         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
5476         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
5477         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
5478         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
5479         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
5480         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
5481
5482         PR libstdc++/77814
5483         * include/bits/std_abs.h: Use "C++" language linkage.
5484         * testsuite/17_intro/headers/c++2011/linkage.cc: Move <complex.h> to
5485         the end. Add <stdalign.h>.
5486
5487 2016-10-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
5488
5489         PR libstdc++/77802
5490         * testsuite/20_util/tuple/77802.cc: New.
5491
5492         Revert:
5493         2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5494         Implement LWG 2729 for tuple.
5495         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
5496         Suppress conditionally.
5497         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
5498         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
5499         (_Tuple_impl(const _Head&)): Constrain.
5500         (_Tuple_impl(_UHead&&)): Likewise.
5501         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
5502         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
5503         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
5504         (operator=(const tuple&)): Enable conditionally.
5505         (operator=(tuple&&)): Suppress conditionally.
5506         (operator=(const tuple<_UElements...>&)): Constrain.
5507         (operator=(tuple<_UElements...>&&)): Likewise.
5508         (operator=(const tuple&)): Enable conditionally (2-param tuple).
5509         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
5510         (operator=(const tuple<_U1, _U2>&)): Constrain.
5511         (operator=(tuple<_U1, _U2>&&)): Likewise.
5512         (operator=(const pair<_U1, _U2>&)): Likewise.
5513         (operator=(pair<_U1, _U2>&&)): Likewise.
5514         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
5515         * testsuite/20_util/tuple/tuple_traits.cc: New.
5516
5517 2016-09-30  Jonathan Wakely  <jwakely@redhat.com>
5518
5519         PR libstdc++/77795
5520         * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check
5521         for gets.
5522         * config.h.in: Regenerate.
5523         * configure: Regenerate.
5524         * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare
5525         for C++98 and C++11.
5526         * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise.
5527         * testsuite/27_io/headers/cstdio/functions_neg.cc: New test.
5528
5529         * doc/xml/manual/intro.xml: Document LWG 2192 changes.
5530         * doc/html/*: Regenerate.
5531         * include/Makefile.am: Add bits/std_abs.h.
5532         * include/Makefile.in: Regenerate.
5533         * include/bits/std_abs.h: New header defining all required overloads
5534         of std::abs in one place (LWG 2294).
5535         * include/c_global/cmath (abs(double), abs(float), abs(long double)):
5536         Move to bits/std_abs.h.
5537         (abs<_Tp>(_Tp)): Remove.
5538         * include/c_global/cstdlib (abs(long), abs(long long), abs(__int<N>)):
5539         Move to bits/std_abs.h.
5540         * testsuite/26_numerics/headers/cmath/dr2192.cc: New test.
5541         * testsuite/26_numerics/headers/cmath/dr2192_neg.cc: New test.
5542         * testsuite/26_numerics/headers/cstdlib/dr2192.cc: New test.
5543         * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: New test.
5544
5545         PR libstdc++/77801
5546         * include/experimental/numeric: Include <numeric>.
5547         (__abs): Define.
5548         (gcd, lcm): Use __abs instead of std::abs.
5549         * testsuite/experimental/numeric/77801.cc: New test.
5550         * testsuite/experimental/numeric/gcd.cc: Test unsigned inputs.
5551         * testsuite/experimental/numeric/lcm.cc: Likewise.
5552
5553 2016-09-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
5554
5555         Make optional::reset noexcept, make optional::value
5556         work in constant expressions.
5557         * include/std/optional (_M_get): Make constexpr.
5558         (reset): Make noexcept.
5559         * testsuite/20_util/optional/assignment/7.cc: New.
5560         * testsuite/20_util/optional/observers/6.cc: New.
5561
5562 2016-09-29  Jonathan Wakely  <jwakely@redhat.com>
5563
5564         * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads
5565         outside _GLIBCXX_USE_C99_MATH_TR1 condition.
5566
5567 2016-09-29  Alan Modra  <amodra@gmail.com>
5568
5569         * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST.
5570         * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo):
5571         Use LONG_DOUBLE_COMPAT_FLAGS.
5572         * Makefile.in: Regenerate.
5573         * configure: Regenerate.
5574         * doc/Makefile.in: Regenerate.
5575         * include/Makefile.in: Regenerate.
5576         * libsupc++/Makefile.in: Regenerate.
5577         * po/Makefile.in: Regenerate.
5578         * python/Makefile.in: Regenerate.
5579         * src/Makefile.in: Regenerate.
5580         * src/c++11/Makefile.in: Regenerate.
5581         * src/c++98/Makefile.in: Regenerate.
5582         * src/filesystem/Makefile.in: Regenerate.
5583         * testsuite/Makefile.in: Regenerate.
5584
5585 2016-09-28  Jonathan Wakely  <jwakely@redhat.com>
5586
5587         * include/std/chrono (system_clock): Fix typo in comment.
5588
5589         * include/experimental/bits/fs_fwd.h (file_time_type): Simplify
5590         definition.
5591         * src/filesystem/ops.cc (file_time): Take error_code parameter and
5592         check for overflow.
5593         (do_copy_file, last_write_time): Pass error_code in file_time calls.
5594         * testsuite/experimental/filesystem/operations/last_write_time.cc:
5595         New.
5596         * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper.
5597
5598         PR libstdc++/77686
5599         * include/std/functional (_Any_data): Add may_alias attribute.
5600
5601 2016-09-27  Jonathan Wakely  <jwakely@redhat.com>
5602
5603         * doc/xml/manual/status_cxx2017.xml: Update status.
5604         * doc/html/*: Regenerate.
5605         * include/std/functional (__cpp_lib_boyer_moore_searcher): Define.
5606         * testsuite/20_util/function_objects/searchers.cc: Test feature macro.
5607
5608         * doc/xml/manual/status_cxx2017.xml: Update status.
5609         * include/c_global/cmath (hypot): Add three-dimensional overloads.
5610         * testsuite/26_numerics/headers/cmath/hypot.cc: New.
5611
5612 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
5613
5614         PR libstdc++/77727
5615         * include/std/optional (optional(const optional<_Up>&)):
5616         Default-initialize the base and use emplace.
5617         (optional(optional<_Up>&&)): Likewise.
5618         * testsuite/20_util/optional/cons/77727.cc: New.
5619
5620 2016-09-26  François Dumont  <fdumont@gcc.gnu.org>
5621
5622         * include/debug/safe_base.h
5623         (_Safe_iterator_base::_M_detach_single): Make public.
5624
5625 2016-09-26  Jonathan Wakely  <jwakely@redhat.com>
5626
5627         * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
5628         redefine macro defined in <bits/stl_iterator.h>.
5629
5630         * include/bits/stl_map.h (map::extract(const_iterator)): Assert that
5631         iterator is not past-the-end.
5632         * include/bits/stl_multimap.h (multimap::extract(const_iterator)):
5633         Likewise.
5634         * include/bits/stl_multiset.h (multiset::extract(const_iterator)):
5635         Likewise.
5636         * include/bits/stl_set.h (set::extract(const_iterator)): Likewise.
5637         * include/bits/unordered_map.h (unordered_map::extract(const_iterator))
5638         (unordered_multimap::extract(const_iterator)): Likewise.
5639         * include/bits/unordered_set.h (unordered_set::extract(const_iterator))
5640         (unordered_multiset::extract(const_iterator)): Likewise.
5641
5642 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
5643
5644         PR libstdc++/77717
5645         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
5646         Fix an out-of-bounds access.
5647
5648 2016-09-26  Marek Polacek  <polacek@redhat.com>
5649
5650         PR c/7652
5651         * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]].
5652
5653 2016-09-25  François Dumont  <fdumont@gcc.gnu.org>
5654
5655         * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
5656         functional.
5657         (get_safe_base_mutex): Get mutex based on address lowest non nil bits.
5658         * testsuite/23_containers/vector/debug/mutex_association.cc: New.
5659
5660         * include/debug/bitset (bitset::reference::reference(const _Base_ref&,
5661         bitset*)): Remove __unused__ attribute.
5662         * include/debug/safe_base.h (_Safe_iterator_base): Make
5663         _Safe_sequence_base a friend.
5664         (_Safe_iterator_base::_M_attach): Make protected.
5665         (_Safe_iterator_base::_M_attach_single): Likewise.
5666         (_Safe_iterator_base::_M_detach): Likewise.
5667         (_Safe_iterator_base::_M_detach_single): Likewise.
5668         (_Safe_sequence_base): Make _Safe_iterator_base a friend.
5669         (_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New.
5670         (_Safe_sequence_base::_M_swap): Make protected.
5671         (_Safe_sequence_base::_M_attach): Make private.
5672         (_Safe_sequence_base::_M_attach_single): Likewise.
5673         (_Safe_sequence_base::_M_detach): Likewise.
5674         (_Safe_sequence_base::_M_detach_single): Likewise.
5675         * include/debug/safe_container.h
5676         (_Safe_container::_Safe_container(_Safe_container&&)): Make default.
5677         * include/debug/safe_iterator.h
5678         (_Safe_iterator::operator++()): Name __scoped_lock instance.
5679         * include/debug/safe_iterator.tcc: Remove trailing line.
5680         * include/debug/safe_unordered_base.h
5681         (_Safe_local_iterator_base::_M_attach): Make protected.
5682         (_Safe_local_iterator_base::_M_attach_single): Likewise.
5683         (_Safe_local_iterator_base::_M_detach): Likewise.
5684         (_Safe_local_iterator_base::_M_detach_single): Likewise.
5685         (_Safe_unordered_container_base): Make _Safe_local_iterator_base friend.
5686         (_Safe_unordered_container_base::_M_attach_local): Make private.
5687         (_Safe_unordered_container_base::_M_attach_local_single): Likewise.
5688         (_Safe_unordered_container_base::_M_detach_local): Likewise.
5689         (_Safe_unordered_container_base::_M_detach_local_single): Likewise.
5690
5691         * include/parallel/algo.h: Generalize usage of std::__iterator_category.
5692         Adjust whitespaces.
5693
5694 2016-09-23  Jonathan Wakely  <jwakely@redhat.com>
5695
5696         PR libstdc++/56166
5697         PR libstdc++/77582
5698         * include/bits/basic_string.h (basic_string::clear()): Drop reference
5699         and use empty rep.
5700         * include/ext/rc_string_base.h (__rc_string_base::_M_clear()):
5701         Likewise.
5702         * testsuite/21_strings/basic_string/56166.cc: New.
5703         * testsuite/ext/vstring/modifiers/clear/56166.cc: New.
5704
5705         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
5706         (basic_string::erase(size_type, size_type)): Add fast path for
5707         truncating the string, by calling _M_set_length directly.
5708         (basic_string::erase(__const_iterator, __const_iterator)): Likewise.
5709         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
5710         (basic_string::resize(size_type, _CharT)): Likewise.
5711
5712 2016-09-22  Jason Merrill  <jason@redhat.com>
5713
5714         * configure.ac: Define HAVE_MEMALIGN for newlib.
5715
5716 2015-09-23  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5717
5718         * config/cpu/m68k/atomicity.h: Adjust comment.
5719         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
5720         explicit atomicity_dir setup via configure.host.
5721         * configure.host (rtems-*): Set atomicity_dir.
5722         * configure: Regenerate.
5723
5724 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
5725
5726         Implement C++17 node extraction and insertion (P0083R5)
5727         * doc/xml/manual/status_cxx2017.xml: Document status.
5728         * doc/html/*: Regenerate.
5729         * include/Makefile.am: Add bits/node_handle.h and reorder.
5730         * include/Makefile.in: Regenerate.
5731         * include/bits/hashtable.h (_Hashtable::node_type)
5732         (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node)
5733         (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract)
5734         (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define.
5735         (_Hash_merge_helper): Define primary template.
5736         * include/bits/node_handle.h: New header.
5737         * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as
5738         friend.
5739         (map::node_type, map::insert_return_type, map::extract, map::merge)
5740         (map::insert(node_type&&), map::insert(const_iterator, node_type&&)):
5741         Define new members.
5742         (_Rb_tree_merge_helper): Specialize for map.
5743         * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper
5744         as friend.
5745         (multimap::node_type, multimap::extract, multimap::merge)
5746         (multimap::insert(node_type&&))
5747         (multimap::insert(const_iterator, node_type&&)): Define.
5748         (_Rb_tree_merge_helper): Specialize for multimap.
5749         * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper
5750         as friend.
5751         (multiset::node_type, multiset::extract, multiset::merge)
5752         (multiset::insert(node_type&&))
5753         (multiset::insert(const_iterator, node_type&&)): Define.
5754         * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as
5755         friend.
5756         (set::node_type, set::insert_return_type, set::extract, set::merge)
5757         (set::insert(node_type&&), set::insert(const_iterator, node_type&&)):
5758         Define.
5759         (_Rb_tree_merge_helper): Specialize for set.
5760         * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend.
5761         (_Rb_tree::node_type, _Rb_tree::insert_return_type)
5762         (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal)
5763         (_Rb_tree::_M_reinsert_node_hint_unique)
5764         (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract)
5765         (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define.
5766         (_Rb_tree_merge_helper): Specialize for multiset.
5767         * include/bits/unordered_map.h (unordered_map): Declare
5768         unordered_map<> and unordered_multimap<> as friends.
5769         (unordered_map::node_type, unordered_map::insert_return_type)
5770         (unordered_map::extract, unordered_map::merge)
5771         (unordered_map::insert(node_type&&))
5772         (unordered_map::insert(const_iterator, node_type&&))
5773         (unordered_multimap): Declare _Hash_merge_helper as friend.
5774         (unordered_multimap::node_type, unordered_multimap::extract)
5775         (unordered_multimap::merge, unordered_multimap::insert(node_type&&))
5776         (unordered_multimap::insert(const_iterator, node_type&&)): Define.
5777         (_Hash_merge_helper): Specialize for unordered maps and multimaps.
5778         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
5779         Declare _Hash_merge_helper as friend.
5780         (unordered_set::node_type, unordered_set::insert_return_type)
5781         (unordered_set::extract, unordered_set::merge)
5782         (unordered_set::insert(node_type&&))
5783         (unordered_set::insert(const_iterator, node_type&&)): Define.
5784         (unordered_multiset::node_type, unordered_multiset::extract)
5785         (unordered_multiset::merge, unordered_multiset::insert(node_type&&))
5786         (unordered_multiset::insert(const_iterator, node_type&&)): Define.
5787         (_Hash_merge_helper): Specialize for unordered sets and multisets.
5788         * include/debug/map.h (map): Add using declarations or forwarding
5789         functions for new members.
5790         * include/debug/map.h (multimap): Likewise.
5791         * include/debug/map.h (multiset): Likewise.
5792         * include/debug/map.h (set): Likewise.
5793         * include/debug/unordered_map (unordered_map, unordered_multimap):
5794         Likewise.
5795         * include/debug/unordered_set( unordered_set, unordered_multiset):
5796         Likewise.
5797         * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New
5798         helper function.
5799         (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper.
5800         (StdNodeHandlePrinter): Define printer for node handles.
5801         (build_libstdcxx_dictionary): Register StdNodeHandlePrinter.
5802         * testsuite/23_containers/map/modifiers/extract.cc: New.
5803         * testsuite/23_containers/map/modifiers/merge.cc: New.
5804         * testsuite/23_containers/multimap/modifiers/extract.cc: New.
5805         * testsuite/23_containers/multimap/modifiers/merge.cc: New.
5806         * testsuite/23_containers/multiset/modifiers/extract.cc: New.
5807         * testsuite/23_containers/multiset/modifiers/merge.cc: New.
5808         * testsuite/23_containers/set/modifiers/extract.cc: New.
5809         * testsuite/23_containers/set/modifiers/merge.cc: New.
5810         * testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
5811         * testsuite/23_containers/unordered_map/modifiers/merge.cc: New.
5812         * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
5813         New.
5814         * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New.
5815         * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
5816         New.
5817         * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New.
5818         * testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
5819         * testsuite/23_containers/unordered_set/modifiers/merge.cc: New.
5820         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
5821         dg-error lineno.
5822         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles.
5823
5824 2016-09-22  Ville Voutilainen  <ville.voutilainen@gmail.com>
5825
5826         Fix tests on old arm platforms for optional.
5827         * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
5828
5829 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
5830
5831         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for
5832         recent change to _Variant_storage.
5833         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with
5834         reference type.
5835
5836         * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify
5837         std::forward and ::new. Cast pointer to void*.
5838         * include/std/variant (_Variant_storage, _Union, _Variant_base)
5839         (__access, __visit_invoke, variant, visit): Qualify std::forward.
5840         * testsuite/20_util/variant/compile.cc: Test for ADL problems.
5841
5842 2016-09-22  Tim Shen  <timshen@google.com>
5843
5844         * include/std/variant (variant::operator=): Fix assignment
5845         on references.
5846         * testsuite/20_util/variant/compile.cc: Add test.
5847
5848 2016-09-22  Tim Shen  <timshen@google.com>
5849
5850         PR libstdc++/77641
5851         * include/std/variant (_Variant_storage::_Variant_storage):
5852         Change _Variant_storage's union to be default constructible.
5853         * testsuite/20_util/variant/compile.cc: New test.
5854
5855 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5856
5857         PR libstdc++/77288
5858         * include/std/optional (__is_optional_impl, __is_optional): Remove.
5859         (__converts_from_optional, __assigns_from_optional): New.
5860         (optional(_Up&&)): Use is_same instead of __is_optional.
5861         (optional(const optional<_Up>&)): Constrain with
5862         __converts_from_optional.
5863         (optional(optional<_Up>&&)): Likewise.
5864         (operator=(_Up&&)): Use is_same instead of __is_optional, check
5865         is_same and is_scalar.
5866         (operator=(const optional<_Up>&)): Constrain with
5867         __converts_from_optional and __assigns_from_optional.
5868         (operator=(optional<_Up>&&)): Likewise.
5869         * testsuite/20_util/optional/77288.cc: New.
5870         * testsuite/20_util/optional/cons/value.cc: Adjust.
5871
5872 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5873
5874         Implement LWG 2729 for tuple.
5875         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
5876         Suppress conditionally.
5877         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
5878         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
5879         (_Tuple_impl(const _Head&)): Constrain.
5880         (_Tuple_impl(_UHead&&)): Likewise.
5881         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
5882         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
5883         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
5884         (operator=(const tuple&)): Enable conditionally.
5885         (operator=(tuple&&)): Suppress conditionally.
5886         (operator=(const tuple<_UElements...>&)): Constrain.
5887         (operator=(tuple<_UElements...>&&)): Likewise.
5888         (operator=(const tuple&)): Enable conditionally (2-param tuple).
5889         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
5890         (operator=(const tuple<_U1, _U2>&)): Constrain.
5891         (operator=(tuple<_U1, _U2>&&)): Likewise.
5892         (operator=(const pair<_U1, _U2>&)): Likewise.
5893         (operator=(pair<_U1, _U2>&&)): Likewise.
5894         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
5895         * testsuite/20_util/tuple/tuple_traits.cc: New.
5896
5897 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5898
5899         PR libstdc++/77537
5900         Implement LWG 2729 for pair.
5901         * include/bits/stl_pair.h (_PCC): New.
5902         (_ConstructiblePair, _ImplicitlyConvertiblePair):
5903         Turn into static member functions of _PCC.
5904         (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
5905         (_PCCP): New.
5906         (pair(const _T1&, const _T2&)): Adjust.
5907         (_PCCFP): New.
5908         (pair(const pair<_U1, _U2>&)): Adjust.
5909         (pair(_U1&&, const _T2&)): Likewise.
5910         (pair(const _T1&, _U2&&)): Likewise.
5911         (pair(_U1&&, _U2&&)): Likewise.
5912         (pair(pair<_U1, _U2>&&)): Likewise.
5913         (operator=(const pair&)): Make conditionally deleted.
5914         (operator=(pair&&)): Make conditionally suppressed.
5915         (operator=(const pair<_U1, _U2>&)): Constrain.
5916         (operator=(pair<_U1, _U2>&&): Likewise.
5917         * include/std/type_traits (__nonesuch): New.
5918         * testsuite/20_util/pair/traits.cc: New.
5919
5920 2016-09-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
5921
5922         PR libstdc++/77619
5923         * include/bits/stl_construct.h: (_Construct_novalue): New.
5924         (_Destroy_n_aux, _Destroy_n): New.
5925         * include/bits/stl_uninitialized.h: (type_traits):
5926         New include in C++11 mode.
5927         (__uninitialized_default_novalue_1): New.
5928         (__uninitialized_default_novalue_n_1): Likewise.
5929         (__uninitialized_default_novalue): Likewise.
5930         (__uninitialized_default_novalue_n): Likewise.
5931         (__uninitialized_copy_n_pair): Likewise.
5932         (uninitialized_default_construct):
5933         Use __uninitialized_default_novalue.
5934         (uninitialized_default_construct_n):
5935         Use __uninitialized_default_novalue_n.
5936         (uninitialized_value_construct): Use __uninitialized_default.
5937         (uninitialized_value_construct_n): Use __uninitialized_default_n.
5938         (uninitialized_move): Use uninitialized_copy.
5939         (uninitialized_move_n): Use __uninitialized_copy_n_pair.
5940         (destroy_at): Use _Destroy.
5941         (destroy): Likewise.
5942         (destroy_n): Likewise.
5943         * testsuite/20_util/specialized_algorithms/
5944         memory_management_tools/1.cc: Add tests for exceptions,
5945         add tests for trivial cases for construct and move.
5946
5947 2016-09-20  Jonathan Wakely  <jwakely@redhat.com>
5948
5949         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
5950         (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
5951
5952 2016-09-19  Jonathan Wakely  <jwakely@redhat.com>
5953
5954         PR libstdc++/77645
5955         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
5956         (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
5957         division to int to work with Python 3.
5958
5959         * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
5960
5961         * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
5962         display_hint to be set by subclasses.
5963         (StdVariantPrinter): Use array for display_hint. Adjust output to be
5964         more similar to std::any and std::optional output.
5965         (register_type_printers): Add type printers for basic_string_view
5966         typedefs and experimental::any. Adjust type printers for
5967         fundamentals_v1 templates to match fundamentals_v2 and later.
5968         * testsuite/libstdc++-prettyprinters/cxx17.cc: New.
5969
5970         PR libstdc++/77645
5971         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
5972         argument.
5973         (ListWorkerBase.get_value_from_node): Define new method.
5974         (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
5975
5976 2016-09-17  Jonathan Wakely  <jwakely@redhat.com>
5977
5978         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
5979         (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
5980         Register for C++17 components in namespace std. Strip inline namespace
5981         from typename.
5982
5983 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
5984
5985         * doc/xml/manual/profile_mode.xml: Fix typo.
5986         * doc/html/manual/profile_mode_devel.html: Regenerate.
5987
5988 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
5989             Marc Glisse  <marc.glisse@inria.fr>
5990
5991         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
5992         (operator new(size_t, align_val_t)): Replace modulus operator with
5993         mask.
5994
5995 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
5996
5997         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
5998         Increase alignment if less than sizeof(void*).
5999         [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
6000         Increase size if not a multiple of alignment.
6001
6002 2016-09-15  Jonathan Wakely  <jwakely@redhat.com>
6003
6004         * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
6005         * doc/html/*: Regenerate.
6006
6007         * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
6008         -Wno-deprecated.
6009         * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
6010
6011 2016-09-14  Marek Polacek  <polacek@redhat.com>
6012
6013         * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
6014         -Wno-deprecated.
6015
6016 2016-09-14  Christophe Lyon  <christophe.lyon@linaro.org>
6017
6018         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
6019         Move dg-do directive before dg-skip.
6020         * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
6021         Move dg-do directive before dg-require.
6022         * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
6023         * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
6024         * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
6025         * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
6026         * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
6027         * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
6028         * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
6029         * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
6030         * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
6031         * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
6032         * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
6033         * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
6034         * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
6035         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
6036         * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
6037         Likewise.
6038         * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
6039         * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
6040         * testsuite/27_io/objects/char/12048-5.cc: Likewise.
6041         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
6042         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
6043
6044 2016-09-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
6045
6046         Implement P0040R3, Extending memory management tools.
6047         * include/bits/stl_uninitialized.h (utility): New include
6048         in C++17 mode.
6049         (uninitialized_default_construct): New.
6050         (uninitialized_default_construct_n): Likewise.
6051         (uninitialized_value_construct): Likewise.
6052         (uninitialized_value_construct_n): Likewise.
6053         (uninitialized_move): Likewise.
6054         (uninitialized_move_n): Likewise.
6055         (destroy_at, destroy, destroy_n): Likewise.
6056         * testsuite/20_util/specialized_algorithms/memory_management_tools/
6057         1.cc: New.
6058
6059 2016-09-12  Jason Merrill  <jason@redhat.com>
6060
6061         * config/abi/pre/gnu.ver: Use [jmy] for size_t.
6062
6063 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
6064
6065         Implement P0253R1, Fixing a design mistake in the searchers
6066         interface in Library Fundamentals.
6067         * include/std/functional: (utility): New include in C++17 mode.
6068         (default_searcher): Use a pair as return type, adjust the definition.
6069         (boyer_moore_searcher): Likewise.
6070         (boyer_moore_horspool_searcher): Likewise.
6071         * testsuite/20_util/function_objects/searchers.cc: Adjust.
6072
6073 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
6074
6075         Implement C++17 string searchers.
6076         * include/std/functional: (unordered_map, vector): New includes
6077         in C++17 mode.
6078         (array, bits/stl_algo.h): Likewise.
6079         (default_searcher, __boyer_moore_map_base): New.
6080         (__boyer_moore_array_base, __is_std_equal_to): Likewise.
6081         (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
6082         (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
6083         (make_boyer_moore_searcher): Likewise.
6084         (make_boyer_moore_horspool_searcher): Likewise.
6085         * testsuite/20_util/function_objects/searchers.cc: New.
6086
6087 2016-09-12  Matthew Wahab  <matthew.wahab@arm.com>
6088
6089         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
6090         Move dg-do directive before dg-require.
6091         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
6092         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
6093         Likewise.
6094         * testsuite/22_locale/codecvt/utf8.cc: Likewise.
6095         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
6096         * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
6097         * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
6098         * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
6099         * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
6100         * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
6101         * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
6102         * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
6103         * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
6104         * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
6105         * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
6106         * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
6107         Likewise.
6108         * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
6109         Likewise.
6110         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
6111         * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
6112         * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
6113         Likewise.
6114         * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
6115         Likewise.
6116         * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
6117         Likewise.
6118         * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
6119         Likewise.
6120         * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
6121         Likewise.
6122         * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
6123         Likewise.
6124         * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
6125         Likewise.
6126         * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
6127         Likewise.
6128         * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
6129         Likewise.
6130         * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
6131         Likewise.
6132         * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
6133         Likewise.
6134         * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
6135         Likewise.
6136         * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
6137         Likewise.
6138         * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
6139         Likewise.
6140         * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
6141         Likewise.
6142         * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
6143         Likewise.
6144         * testsuite/23_containers/forward_list/debug/
6145         iterator_self_move_assign_neg.cc: Likewise.
6146         * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
6147         Likewise.
6148         * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
6149         Likewise.
6150         * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
6151         Likewise.
6152         * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
6153         Likewise.
6154         * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
6155         Likewise.
6156         * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
6157         Likewise.
6158         * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
6159         Likewise.
6160         * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
6161         Likewise.
6162         * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
6163         * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
6164         * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
6165         * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
6166         * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
6167         * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
6168         * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
6169         * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
6170         * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
6171         * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
6172         * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
6173         Likewise.
6174         * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
6175         * testsuite/23_containers/map/debug/60499.cc: Likewise.
6176         * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
6177         * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
6178         * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
6179         * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
6180         * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
6181         * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
6182         * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
6183         Likewise.
6184         * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
6185         * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
6186         * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
6187         * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
6188         * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
6189         * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
6190         * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
6191         * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
6192         * testsuite/23_containers/multimap/debug/
6193         iterator_self_move_assign_neg.cc: Likewise.
6194         * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
6195         Likewise.
6196         * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
6197         * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
6198         * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
6199         * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
6200         * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
6201         * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
6202         * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
6203         * testsuite/23_containers/multiset/debug/
6204         iterator_self_move_assign_neg.cc: Likewise.
6205         * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
6206         Likewise.
6207         * testsuite/23_containers/set/debug/60499.cc: Likewise.
6208         * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
6209         * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
6210         * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
6211         * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
6212         * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
6213         * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
6214         * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
6215         Likewise.
6216         * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
6217         * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
6218         * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
6219         * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
6220         * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
6221         Likewise.
6222         * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
6223         * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
6224         * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
6225         Likewise.
6226         * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
6227         Likewise.
6228         * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
6229         Likewise.
6230         * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
6231         * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
6232         * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
6233         * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
6234         * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
6235         * testsuite/23_containers/unordered_map/debug/
6236         invalid_local_iterator_compare_neg.cc: Likewise.
6237         * testsuite/23_containers/unordered_map/debug/
6238         invalid_local_iterator_range_neg.cc: Likewise.
6239         * testsuite/23_containers/unordered_map/debug/
6240         iterator_self_move_assign_neg.cc: Likewise.
6241         * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
6242         Likewise.
6243         * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
6244         Likewise.
6245         * testsuite/23_containers/unordered_map/debug/
6246         use_erased_local_iterator_neg.cc: Likewise.
6247         * testsuite/23_containers/unordered_map/debug/
6248         use_invalid_iterator_neg.cc: Likewise.
6249         * testsuite/23_containers/unordered_map/debug/
6250         use_invalid_local_iterator_neg.cc: Likewise.
6251         * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
6252         * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc:
6253         Likewise.
6254         * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
6255         Likewise.
6256         * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
6257         Likewise.
6258         * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
6259         Likewise.
6260         * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
6261         Likewise.
6262         * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
6263         Likewise.
6264         * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
6265         Likewise.
6266         * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
6267         Likewise.
6268         * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
6269         Likewise.
6270         * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
6271         Likewise.
6272         * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
6273         Likewise.
6274         * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
6275         Likewise.
6276         * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
6277         Likewise.
6278         * testsuite/23_containers/unordered_multimap/debug/
6279         invalid_local_iterator_compare_neg.cc: Likewise.
6280         * testsuite/23_containers/unordered_multimap/debug/
6281         invalid_local_iterator_range_neg.cc: Likewise.
6282         * testsuite/23_containers/unordered_multimap/debug/
6283         iterator_self_move_assign_neg.cc: Likewise.
6284         * testsuite/23_containers/unordered_multimap/debug/
6285         max_load_factor_neg.cc: Likewise.
6286         * testsuite/23_containers/unordered_multimap/debug/
6287         self_move_assign_neg.cc: Likewise.
6288         * testsuite/23_containers/unordered_multimap/debug/
6289         use_erased_local_iterator_neg.cc: Likewise.
6290         * testsuite/23_containers/unordered_multimap/debug/
6291         use_invalid_iterator_neg.cc: Likewise.
6292         * testsuite/23_containers/unordered_multimap/debug/
6293         use_invalid_local_iterator_neg.cc: Likewise.
6294         * testsuite/23_containers/unordered_multiset/debug/60499.cc:
6295         Likewise.
6296         * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
6297         Likewise.
6298         * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
6299         Likewise.
6300         * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
6301         Likewise.
6302         * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
6303         Likewise.
6304         * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
6305         Likewise.
6306         * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
6307         Likewise.
6308         * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
6309         Likewise.
6310         * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
6311         Likewise.
6312         * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
6313         Likewise.
6314         * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
6315         Likewise.
6316         * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
6317         Likewise.
6318         * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
6319         Likewise.
6320         * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
6321         Likewise.
6322         * testsuite/23_containers/unordered_multiset/debug/
6323         invalid_local_iterator_compare_neg.cc: Likewise.
6324         * testsuite/23_containers/unordered_multiset/debug/
6325         invalid_local_iterator_range_neg.cc: Likewise.
6326         * testsuite/23_containers/unordered_multiset/debug/
6327         iterator_self_move_assign_neg.cc: Likewise.
6328         * testsuite/23_containers/unordered_multiset/debug/
6329         max_load_factor_neg.cc: Likewise.
6330         * testsuite/23_containers/unordered_multiset/debug/
6331         self_move_assign_neg.cc: Likewise.
6332         * testsuite/23_containers/unordered_multiset/debug/
6333         use_erased_local_iterator_neg.cc: Likewise.
6334         * testsuite/23_containers/unordered_multiset/debug/
6335         use_invalid_iterator_neg.cc: Likewise.
6336         * testsuite/23_containers/unordered_multiset/debug/
6337         use_invalid_local_iterator_neg.cc: Likewise.
6338         *  testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
6339         * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
6340         * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
6341         * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
6342         Likewise.
6343         * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
6344         * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
6345         * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
6346         Likewise.
6347         * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
6348         Likewise.
6349         * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
6350         Likewise.
6351         * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
6352         * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
6353         * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
6354         * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
6355         * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
6356         * testsuite/23_containers/unordered_set/debug/
6357         invalid_local_iterator_compare_neg.cc: Likewise.
6358         * testsuite/23_containers/unordered_set/debug/
6359         invalid_local_iterator_range_neg.cc: Likewise.
6360         * testsuite/23_containers/unordered_set/debug/
6361         iterator_self_move_assign_neg.cc: Likewise.
6362         * testsuite/23_containers/unordered_set/debug/
6363         max_load_factor_neg.cc: Likewise.
6364         * testsuite/23_containers/unordered_set/debug/
6365         self_move_assign_neg.cc: Likewise.
6366         * testsuite/23_containers/unordered_set/debug/
6367         use_erased_local_iterator_neg.cc: Likewise.
6368         * testsuite/23_containers/unordered_set/debug/
6369         use_invalid_iterator_neg.cc: Likewise.
6370         * testsuite/23_containers/unordered_set/debug/
6371         use_invalid_local_iterator_neg.cc: Likewise.
6372         * testsuite/23_containers/vector/debug/52433.cc: Likewise.
6373         * testsuite/23_containers/vector/debug/60499.cc: Likewise.
6374         * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
6375         * testsuite/23_containers/vector/debug/
6376         iterator_self_move_assign_neg.cc: Likewise.
6377         * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
6378         Likewise.
6379         * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
6380         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
6381         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
6382         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
6383         * testsuite/29_atomics/atomic/60658.cc: Likewise.
6384         * testsuite/29_atomics/atomic/60695.cc: Likewise.
6385         * testsuite/29_atomics/atomic/62259.cc: Likewise.
6386         * testsuite/29_atomics/atomic/64658.cc: Likewise.
6387         * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
6388         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
6389         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
6390         Likewise.
6391
6392 2016-09-11  Jonathan Wakely  <jwakely@redhat.com>
6393
6394         * libsupc++/new_opant.cc: Include exception_defines.h.
6395         * libsupc++/new_opvant.cc: Likewise.
6396
6397 2016-09-09  Jason Merrill  <jason@redhat.com>
6398
6399         Implement P0035R4, C++17 new of over-aligned types.
6400         * libsupc++/new: Declare aligned new/delete operators.
6401         * config/abi/pre/gnu.ver: Export them.
6402         * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
6403         _aligned_malloc.
6404         * libsupc++/new_opa.cc: New.
6405         * libsupc++/new_opant.cc: New.
6406         * libsupc++/new_opva.cc: New.
6407         * libsupc++/new_opva.cc: New.
6408         * libsupc++/del_opa.cc: New.
6409         * libsupc++/del_opant.cc: New.
6410         * libsupc++/del_opsa.cc: New.
6411         * libsupc++/del_opva.cc: New.
6412         * libsupc++/del_opvant.cc: New.
6413         * libsupc++/del_opvsa.cc: New.
6414         * libsupc++/Makefile.am: Build them.
6415
6416 2016-09-05  Tim Shen  <timshen@google.com>
6417
6418         * include/std/variant: include bits/move.h for std::addressof.
6419
6420 2016-09-05  Mikhail Strelnikov  <mikhail.strelnikov@gmail.com>
6421
6422         * include/std/variant (_Variant_storage::_M_storage()): Use
6423         std::addressof instead of operator& to take address.
6424
6425 2016-09-02  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
6426
6427         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
6428         setrlimit on both native and cross targets.
6429         * configure: Regenerate.
6430
6431 2016-08-31  Jonathan Wakely  <jwakely@redhat.com>
6432
6433         * include/bits/shared_ptr.h (_Assignable): New alias template.
6434         (shared_ptr::operator=(const shared_ptr<_Tp1>&))
6435         (shared_ptr::operator=(shared_ptr<_Tp1>&&))
6436         (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
6437         _Assignable.
6438         * include/bits/shared_ptr_base.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         (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
6444         (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
6445         _Convertible.
6446         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
6447         match on any line.
6448         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
6449         * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
6450         * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
6451         expected errors. Remove unnecessary code.
6452         * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
6453
6454         * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
6455         comparison object.
6456         * testsuite/23_containers/set/move_comparison.cc: New test.
6457
6458         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
6459         New test.
6460
6461 2016-08-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
6462
6463         PR libstdc++/77395
6464         * include/std/type_traits (is_constructible): Forward-declare...
6465         (__is_base_to_derived_ref): ...and use here.
6466         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
6467         * testsuite/20_util/is_constructible/77395.cc: New.
6468         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
6469         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
6470         Likewise.
6471         * testsuite/20_util/tuple/77395.cc: New.
6472
6473 2016-08-30  Uros Bizjak  <ubizjak@gmail.com>
6474
6475         * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
6476         directive above dg-require-namedlocale directive.
6477         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
6478         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
6479         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
6480         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
6481         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
6482
6483 2016-08-27  Tim Shen  <timshen@google.com>
6484
6485         PR libstdc++/77356
6486         * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
6487         _M_expression_term): Modify to support dash literal.
6488         * include/bits/regex_scanner.h: Add dash as a token type to make
6489         a different from the mandated dash literal by escaping.
6490         * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
6491         token in bracket expression parsing.
6492         * testsuite/28_regex/regression.cc: Add new testcases.
6493
6494 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6495
6496         PR libstdc++/51960
6497         * doc/xml/manual/intro.xml: Document DR 2127 change.
6498         * doc/html/*: Regenerate.
6499         * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
6500         (operator++(), operator++(int)): Use injected class name.
6501         * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
6502
6503         * testsuite/*: Use { target c++11 } or { target c++14 } instead of
6504         using -std in dg-options.
6505
6506 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6507             Pedro Alves  <palves@redhat.com>
6508
6509         * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
6510         and restore dg-interpreter-batch-mode.
6511         * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
6512         gdb-dg-runtest instead of dg-runtest.
6513         * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
6514
6515 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6516
6517         * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
6518         precise patterns for basic_string constructors.
6519         (GLIBCXX_3.4.23): Export new constructors.
6520         * doc/xml/manual/intro.xml: Document LWG 2583 status.
6521         * doc/html/*: Regenerate.
6522         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
6523         (basic_string(const basic_string&, size_type, const Alloc&)): Add
6524         new constructor for LWG 2583.
6525         (basic_string(const basic_string&, size_type, size_type)): Remove
6526         default argument.
6527         [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
6528         * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
6529         * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
6530         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
6531
6532 2016-08-24  Aditya Kumar  <hiraditya@msn.com>
6533
6534         * include/bits/algorithmfwd.h: Remove trailing whitespace.
6535         * include/bits/shared_ptr_base.h: Likewise.
6536
6537 2016-08-23  Jonathan Wakely  <jwakely@redhat.com>
6538
6539         * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
6540         * include/profile/array (array): Likewise.
6541         (array::swap): Fix exception specification for zero-sized arrays.
6542
6543         PR libstdc++/77334
6544         * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
6545         (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
6546         * testsuite/23_containers/map/77334.cc: New test.
6547
6548         * doc/xml/manual/using.xml: Remove reference to -pthreads option.
6549         * doc/html/*: Regenerate.
6550
6551         * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
6552         * testsuite/experimental/feat-lib-fund.cc: Likewise.
6553
6554         PR libstdc++/71771
6555         * include/bits/stl_iterator.h
6556         (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
6557         define for C++98 mode.
6558         (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
6559         * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
6560         -std=gnu++98.
6561         * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
6562         * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
6563         * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
6564         * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
6565         difference operator.
6566         * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
6567         difference operator for C++98.
6568         * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
6569
6570         * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
6571         * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
6572         (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
6573         * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
6574         (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
6575         Likewise.
6576         * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
6577         _GLIBCXX14_CONSTEXPR.
6578         (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
6579         * include/std/array (array::begin, array::end, array::rbegin)
6580         (array::rend, array::cbegin, array:cend, array::crbegin)
6581         (array::crend, array::operator[], array::at, array::front)
6582         (array::back, array::data): Likewise.
6583         * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
6584         with separate tests for C++11, C++14, and C++17.
6585         * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
6586         * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
6587         * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
6588
6589 2016-08-22  Tim Shen  <timshen@google.com>
6590
6591         Split _M_dfs() into smaller functions.
6592         * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
6593         (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
6594         (_M_handle_line_end_assertion, _M_handle_word_boundary)
6595         (_M_handle_subexpr_lookahead, _M_handle_match)
6596         (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
6597         Add separate function declarations.
6598         * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
6599
6600 2016-08-22  Gleb Natapov  <gleb@scylladb.com>
6601
6602         PR libstdc++/68297
6603         * config/abi/pre/gnu-versioned-namespace.ver: Export
6604         __cxa_init_primary_exception and std::exception_ptr(void*).
6605         * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
6606         export __cxa_init_primary_exception and std::exception_ptr(void*).
6607         * include/Makefile.am: Add new headers.
6608         * include/Makefile.in: Regenerate.
6609         * libsupc++/Makefile.am: Add new headers.
6610         * libsupc++/Makefile.in: Regenerate.
6611         * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
6612         * libsupc++/cxxabi_init_exception.h: New header.
6613         (__cxa_init_primary_exception): Declare.
6614         * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
6615         (__cxa_throw): Use __cxa_init_primary_exception.
6616         * libsupc++/exception (std::exception): Move to ...
6617         * libsupc++/exception.h: New header.
6618         * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
6619         friend declaration.
6620         (__exception_ptr::__dest_thunk): New function template.
6621         (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
6622         Use __cxa_allocate_exception and __cxa_init_primary_exception to
6623         create exception_ptr.
6624         * libsupc++/typeinfo: Include bits/exception.h instead of exception.
6625         * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
6626
6627 2016-08-22  Jonathan Wakely  <jwakely@redhat.com>
6628
6629         * doc/xml/api.xml: Replace hardcoded links for specific versions with
6630         link to docs for all releases.
6631         * doc/html/*: Regenerate.
6632
6633         PR libstdc++/77322
6634         * doc/xml/manual/intro.xml: Document DR 2062 change.
6635         * include/std/functional (function::swap): Add noexcept.
6636         (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
6637         * testsuite/20_util/function/77322.cc: New test.
6638
6639 2016-08-19  Jonathan Wakely  <jwakely@redhat.com>
6640
6641         * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
6642         *-*-solaris* instead of -pthreads.
6643         * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
6644         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
6645         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
6646         * testsuite/23_containers/list/pthread1.cc: Likewise.
6647         * testsuite/23_containers/list/pthread5.cc: Likewise.
6648         * testsuite/23_containers/map/pthread6.cc: Likewise.
6649         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
6650         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
6651         * testsuite/30_threads/shared_mutex/*: Likewise.
6652         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
6653         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6654         default_weaktoshared.cc: Likewise.
6655         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6656         mutex_weaktoshared.cc: Likewise.
6657         * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
6658         dg-require-effective-target instead of using -std option.
6659         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
6660         Likewise.
6661         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
6662         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
6663         Likewise.
6664         * testsuite/30_threads/async/*: Likewise.
6665         * testsuite/30_threads/call_once/*: Likewise.
6666         * testsuite/30_threads/condition_variable/*: Likewise.
6667         * testsuite/30_threads/condition_variable_any/*: Likewise.
6668         * testsuite/30_threads/future/*: Likewise.
6669         * testsuite/30_threads/lock/*: Likewise.
6670         * testsuite/30_threads/mutex/*: Likewise.
6671         * testsuite/30_threads/packaged_task/*: Likewise.
6672         * testsuite/30_threads/promise/*: Likewise.
6673         * testsuite/30_threads/recursive_mutex/*: Likewise.
6674         * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
6675         * testsuite/30_threads/shared_future/*: Likewise.
6676         * testsuite/30_threads/shared_lock/*: Likewise.
6677         * testsuite/30_threads/shared_timed_mutex/*: Likewise.
6678         * testsuite/30_threads/this_thread/*: Likewise.
6679         * testsuite/30_threads/thread/*: Likewise.
6680         * testsuite/30_threads/timed_mutex/*: Likewise.
6681         * testsuite/30_threads/try_lock/*: Likewise.
6682         * testsuite/30_threads/unique_lock/*: Likewise.
6683
6684         * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
6685         * doc/html/*: Regenerate.
6686         * include/experimental/functional (_Not_fn, not_fn): Match C++17
6687         semantics.
6688         * include/std/functional (_Not_fn, not_fn): Define for C++17.
6689         * testsuite/20_util/not_fn/1.cc: New.
6690         * testsuite/experimental/functional/not_fn.cc: Test abstract class.
6691         Remove test for volatile-qualified wrapper.
6692
6693         * include/std/atomic (atomic::is_always_lock_free): Define.
6694         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
6695         * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
6696         * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
6697         * doc/xml/manual/status_cxx2017.xml: Update status.
6698         * doc/html/*: Regenerate.
6699
6700         * include/experimental/tuple (apply): Qualify call to __apply_impl.
6701         * include/std/tuple (apply): Likewise.
6702         * testsuite/experimental/system_error/value.cc: Fix ambiguities in
6703         C++17 mode.
6704         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
6705         * testsuite/experimental/type_traits/value.cc: Likewise.
6706
6707         * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
6708         and variant.
6709         * doc/html/*: Regenerate.
6710
6711 2016-08-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
6712
6713         Implement the latest proposed resolution of LWG 2756.
6714         * include/std/optional (Optional_base(const _Tp&))
6715         (Optional_base(_Tp&&), using _Base::_Base): Remove.
6716         (optional(nullopt_t)): New.
6717         (optional(_Up&&)): Invoke base directly with in_place
6718         rather than creating a temporary, add default template
6719         argument, change constraints.
6720         (optional(const optional<_Up>&)): Invoke base directly
6721         with in_place, remove unnecessary constraints.
6722         (optional(optional<_Up>&& __t)): Likewise.
6723         (optional(in_place_t, _Args&&...)): New.
6724         (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
6725         (operator=(_Up&&)): Add default template argument, change constraints.
6726         (operator=(const optional<_Up>&)): Put is_same first in the
6727         constraints.
6728         (operator=(optional<_Up>&&)): Likewise.
6729         * testsuite/20_util/optional/assignment/5.cc: Add a test to
6730         verify assignment from something that can't be perfect-forwarded.
6731         * testsuite/20_util/optional/cons/value.cc: Add tests to verify
6732         that a nested optional is disengaged when constructed
6733         from a disengaged element type, and to verify that assignments
6734         from an engaged element type engage the optional.
6735
6736 2016-08-18  Tim Shen  <timshen@google.com>
6737
6738         Implement <variant>
6739
6740         * include/Makefile.am: Add new file std/variant.
6741         * include/Makefile.in: Generated from Makefile.am.
6742         * include/bits/enable_special_members.h: Add a tag type to allow
6743         the construction in non-default constructor.
6744         * include/bits/uses_allocator.h: Add convenience traits to
6745         detect constructibility.
6746         * include/std/variant: Implement <variant>.
6747         * testsuite/20_util/variant/compile.cc: Compile-time tests.
6748         * testsuite/20_util/variant/run.cc: Runtime tests.
6749
6750 2016-08-18  Jonathan Wakely  <jwakely@redhat.com>
6751
6752         * doc/xml/manual/test.xml (test.run.permutations): Expand section.
6753         (test.new_tests): Rewrite section.
6754         (tests.dg.directives): New section.
6755         * doc/html/*: Regenerate.
6756
6757         * doc/xml/manual/test.xml: Improve documentation of test targets.
6758         Document new-abi-baseline, check-debug, and check-parallel targets.
6759
6760         * doc/xml/manual/build_hacking.xml: New section on shared library
6761         versioning.
6762
6763         * doc/xml/manual/build_hacking.xml: Improve markup.
6764         * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
6765         to "Testing".
6766         * doc/xml/faq.xml: Change link text to "Testing".
6767
6768         * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
6769         dg-options directive.
6770
6771 2016-08-17  Jonathan Wakely  <jwakely@redhat.com>
6772
6773         * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
6774         directive and use effective target instead of dg-options.
6775
6776         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
6777         instead of -std in dg-options.
6778         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
6779         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
6780         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
6781         * testsuite/20_util/hash/quality.cc: Likewise.
6782         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
6783         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
6784         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
6785         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
6786         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
6787         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
6788
6789         * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
6790         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
6791         * testsuite/27_io/rvalue_streams.cc: Likewise.
6792
6793         * testsuite/26_numerics/complex/literals/types.cc: Add comment.
6794
6795         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
6796         Remove duplicate dg-options directive.
6797
6798         * testsuite/ext/profile/all.cc: Use effective target instead of
6799         -std=gnu++11. Use dg-additional-options instead of repeating options.
6800
6801         * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
6802         -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
6803         instead of dg-excess-errors.
6804
6805         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
6806         test for C++17.
6807         * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
6808         * testsuite/experimental/ratio/value.cc: Likewise.
6809         * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
6810         C++17.
6811         * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
6812         * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
6813         * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
6814         * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
6815         * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
6816         * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
6817         * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
6818         * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
6819         * testsuite/tr1/5_numerical_facilities/special_functions/
6820         10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
6821         C++17 compatibility.
6822
6823         * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
6824         expected signatures for C++14 compatibility.
6825
6826         PR libstdc++/77264
6827         * include/bits/basic_string.h (operator=(__sv_type)
6828         (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
6829         (replace(size_type, size_type, __sv_type))
6830         (replace(const_iterator, const_iterator, __sv_type))
6831         (find(__sv_type, size_type), rfind(__sv_type, size_type))
6832         (compare(size_type, size_type, __sv_type)): Reformat.
6833         (_If_sv): Define helper for SFINAE constaints.
6834         (append(const _Tp&, size_type, size_type))
6835         (assign(const _Tp&, size_type, size_type))
6836         (insert(size_type, const _Tp&, size_type, size_type))
6837         (replace(size_type, size_type, const _Tp&, size_type, size_type)):
6838         Use _If_sv.
6839         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
6840         SFINAE constraints.
6841         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
6842         Likewise.
6843         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
6844         Likewise.
6845         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
6846         Likewise.
6847         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
6848         Likewise.
6849         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
6850         Likewise.
6851         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
6852         Likewise.
6853         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
6854         Likewise.
6855         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
6856         Likewise.
6857         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
6858         Likewise.
6859         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
6860         Likewise.
6861
6862 2016-08-16  Jonathan Wakely  <jwakely@redhat.com>
6863
6864         PR libstdc++/72847
6865         * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
6866         pointers to start and end of storage.
6867         * testsuite/23_containers/vector/bool/72847.cc: New test.
6868         * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
6869         _M_finish after deallocating.
6870         (vector<bool>::_M_fill_insert): Likewise.
6871         (vector<bool>::_M_insert_range): Likewise.
6872         (vector<bool>::_M_insert_aux): Likewise.
6873
6874 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
6875
6876         Implement LWG 2744 and LWG 2754.
6877         * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
6878         (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
6879         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
6880         Likewise.
6881         (emplace(_Args&&...)): Likewise.
6882         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
6883         * include/std/utility: (__is_in_place_type_impl): New.
6884         (__is_in_place_type): Likewise.
6885         * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
6886         emplace.
6887         * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
6888         in_place constructor.
6889         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
6890         * testsuite/20_util/any/requirements.cc: Add a test for
6891         in_place-constructing a non-default-constructible type.
6892
6893 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
6894
6895         Add a feature macro for C++17 make_from_tuple.
6896         * include/std/tuple (__cpp_lib_make_from_tuple): New.
6897         (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
6898         Qualify the call to get<>().
6899         * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
6900
6901 2016-08-15  Uros Bizjak  <ubizjak@gmail.com>
6902
6903         * src/filesystem/ops.cc: Always include ostream and
6904         ext/stdio_filebuf.h.
6905         (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
6906         [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
6907         sendfile fails with ENOSYS or EINVAL.
6908
6909 2016-08-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
6910
6911         PR libstdc++/72840
6912         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
6913         syntax.
6914
6915 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
6916
6917         Implement C++17 make_from_tuple.
6918         * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
6919         * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
6920
6921 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
6922
6923         Implement LWG 2758.
6924         * include/bits/basic_string.h
6925         (append(__sv_type, size_type, size_type)): Turn into a template,
6926         change parameter type, constrain, add a conversion to __sv_type
6927         from the dependent parameter type.
6928         (assign(__sv_type, size_type, size_type)): Likewise.
6929         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
6930         (replace(size_type, size_type, __sv_type, size_type, size_type)):
6931         Likewise.
6932         (compare(size_type, size_type,__sv_type, size_type, size_type)):
6933         Likewise.
6934         * testsuite/21_strings/basic_string/lwg2758.cc: New.
6935
6936 2016-08-06  Jonathan Wakely  <jwakely@redhat.com>
6937
6938         * doc/xml/manual/status_cxx2017.xml: Update status table.
6939         * doc/html/manual/status.html: Regenerate.
6940
6941         * testsuite/lib/libstdc++.exp: Fix typo in comment.
6942
6943         PR libstdc++/72820
6944         * include/std/functional (_Function_base::_Base_manager::_M_clone):
6945         Qualify new operator.
6946         * testsuite/20_util/function/cons/72820.cc: New test.
6947
6948         * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
6949         * doc/html/manual/status.html: Regenerate.
6950         * include/Makefile.am: Add new header.
6951         * include/Makefile.in: Regenerate.
6952         * include/bits/invoke.h: New header.
6953         (__invoke): Make constexpr. Add && to types in exception specification.
6954         * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
6955         names. Include <bits/invoke.h> and use std::__invoke.
6956         * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
6957         new header.
6958         (invoke): Add && to types in exception specification.
6959         * include/std/tuple (apply, __apply_impl): Define for C++17.
6960         * testsuite/20_util/tuple/apply/1.cc: New test.
6961         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
6962         lineno.
6963
6964 2016-08-05  Jonathan Wakely  <jwakely@redhat.com>
6965
6966         * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
6967         * doc/html/manual/status.html: Regenerate.
6968
6969         * include/std/chrono (floor, ceil, round, abs): New for C++17.
6970         * testsuite/20_util/duration_cast/rounding.cc: New test.
6971         * testsuite/20_util/time_point_cast/rounding.cc: New test.
6972         * doc/xml/manual/status_cxx2017.xml: Update status table.
6973         * doc/html/manual/status.html: Regenerate.
6974         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
6975         dg-error lineno.
6976         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
6977         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
6978         * testsuite/20_util/duration/literals/range.cc: Likewise.
6979
6980         * include/std/functional (__callable_functor): Remove.
6981         (_Function_handler::_M_invoke): Use __invoke instead of
6982         __callable_functor or mem_fn.
6983         (function::_Callable): Use lvalue in result_of expression.
6984         (function): Remove TODO comments about allocators.
6985         * testsuite/20_util/function/cons/refqual.cc: New test.
6986
6987 2016-08-04  Jonathan Wakely  <jwakely@redhat.com>
6988
6989         * doc/xml/manual/status_cxx2017.xml: Update status table.
6990         * include/std/functional (__inv_unwrap): Move to <type_traits>.
6991         (__invoke_impl): Remove exception specifications.
6992         (__invoke, invoke): Add exception specifications using
6993         __is_nothrow_callable.
6994         * include/std/type_traits (__inv_unwrap): Move from <functional>.
6995         (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
6996         (__is_callable, __is_nothrow_callable): New traits.
6997         (is_callable, is_callable_v): New C++17 traits.
6998         (is_nothrow_callable, is_nothrow_callable_v): Likewise.
6999         * testsuite/20_util/is_callable/requirements/
7000         explicit_instantiation.cc: New test.
7001         * testsuite/20_util/is_callable/requirements/
7002         explicit_instantiation_ext.cc: New test.
7003         * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
7004         * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
7005         test.
7006         * testsuite/20_util/is_callable/value.cc: New test.
7007         * testsuite/20_util/is_callable/value_ext.cc: New test.
7008         * testsuite/20_util/is_nothrow_callable/requirements/
7009         explicit_instantiation.cc: New test.
7010         * testsuite/20_util/is_nothrow_callable/requirements/
7011         explicit_instantiation_ext.cc: New test.
7012         * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
7013         New test.
7014         * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
7015         New test.
7016         * testsuite/20_util/is_nothrow_callable/value.cc: New test.
7017         * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
7018
7019         * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
7020         * doc/html/manual/status.html: Regenerate.
7021
7022         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
7023         effective target not dg-options. Move check for feature-test macro to:
7024         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
7025         New test.
7026
7027         * include/std/functional (_Unwrap): Rename to __inv_unwrap.
7028         (__invfwd): Adjust.
7029         (__invoke_impl): Remove unused template parameters.
7030         * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
7031         parameter.
7032         * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
7033         and test __invoke extension for C++11.
7034
7035 2016-08-03  Jonathan Wakely  <jwakely@redhat.com>
7036
7037         * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
7038         Define feature-test macro.
7039         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
7040         for the macro.
7041
7042         * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
7043         * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
7044         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
7045         * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
7046         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
7047
7048         * include/std/utility (as_const): Define.
7049         * testsuite/20_util/as_const/1.cc: New test.
7050         * testsuite/20_util/as_const/rvalue_neg.cc: New test.
7051
7052         * include/bits/shared_ptr.h (owner_less): Add default template
7053         argument.
7054         * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
7055         specialization.
7056         (owner_less<void>): Define specialization.
7057         * include/bits/stl_function.h (__cpp_lib_transparent_operators):
7058         Update value.
7059         * testsuite/20_util/owner_less/void.cc: New test.
7060         * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
7061
7062         * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
7063         Define feature-test macro.
7064         * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
7065         * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
7066         * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
7067         (__cpp_lib_type_trait_variable_templates): Define.
7068
7069         * include/bits/stl_function.h: Remove commented-out macro.
7070         * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
7071         Define feature-test macro.
7072         * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
7073
7074         * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
7075         C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
7076         true.
7077         * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
7078         do #error for C++17.
7079         * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
7080         of __STDCPP_WANT_MATH_SPEC_FUNCS__.
7081         * include/tr1/bessel_function.tcc: Likewise.
7082         * include/tr1/beta_function.tcc: Likewise.
7083         * include/tr1/cmath: Likewise.
7084         * include/tr1/ell_integral.tcc: Likewise.
7085         * include/tr1/exp_integral.tcc: Likewise.
7086         * include/tr1/gamma.tcc: Likewise.
7087         * include/tr1/hypergeometric.tcc: Likewise.
7088         * include/tr1/legendre_function.tcc: Likewise.
7089         * include/tr1/modified_bessel_func.tcc: Likewise.
7090         * include/tr1/poly_hermite.tcc: Likewise.
7091         * include/tr1/poly_laguerre.tcc: Likewise.
7092         * include/tr1/riemann_zeta.tcc: Likewise.
7093         * include/tr1/special_function_util.h: Likewise.
7094         * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
7095
7096         * include/std/type_traits (has_trivial_default_constructor): Remove.
7097         (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
7098         * testsuite/20_util/has_trivial_copy_assign/requirements/
7099         explicit_instantiation.cc: Remove test.
7100         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
7101         line number.
7102         * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
7103         Likewise.
7104         * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
7105         * testsuite/20_util/has_trivial_copy_constructor/requirements/
7106         explicit_instantiation.cc: Likewise.
7107         * testsuite/20_util/has_trivial_copy_constructor/requirements/
7108         typedefs.cc: Likewise.
7109         * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
7110         * testsuite/20_util/has_trivial_default_constructor/requirements/
7111         explicit_instantiation.cc: Likewise.
7112         * testsuite/20_util/has_trivial_default_constructor/requirements/
7113         typedefs.cc: Likewise.
7114         * testsuite/20_util/has_trivial_default_constructor/value.cc:
7115         Likewise.
7116         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
7117         Check has_trivial_default_constructor, has_trivial_copy_constructor,
7118         and has_trivial_copy_assign are not defined.
7119         * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
7120         tests.
7121         * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
7122         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
7123         dg-error line number.
7124         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
7125         Likewise.
7126
7127 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
7128
7129         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
7130         Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
7131         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
7132         Likewise.
7133         * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
7134         Likewise.
7135         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
7136         Likewise.
7137         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
7138         Likewise.
7139         * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
7140         Likewise.
7141         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
7142         Likewise.
7143
7144         * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
7145         comments.
7146
7147         * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
7148         dg-error to relevant line.
7149         * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
7150         Likewise.
7151         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
7152
7153         * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
7154
7155         * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
7156         options are present that aren't valid for C.
7157         * testsuite/abi/header_cxxabi.c: Likewise.
7158
7159         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
7160         check_value.cc: Do not add special functions to namespace std in TR1
7161         test.
7162
7163         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
7164         run for C++11 and later.
7165         * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
7166         Likewise.
7167         * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
7168         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
7169         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
7170         * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
7171         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
7172         Likewise.
7173         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
7174         Likewise.
7175         * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
7176         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
7177         Likewise.
7178         * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
7179         Likewise.
7180         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
7181         Likewise.
7182         * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
7183         * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
7184         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
7185         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
7186         * testsuite/special_functions/03_beta/compile.cc: Likewise.
7187         * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
7188         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
7189         * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
7190         Likewise.
7191         * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
7192         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
7193         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
7194         * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
7195         Likewise.
7196         * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
7197         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
7198         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
7199         * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
7200         Likewise.
7201         * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
7202         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
7203         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
7204         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
7205         Likewise.
7206         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
7207         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
7208         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
7209         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
7210         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
7211         Likewise.
7212         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
7213         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
7214         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
7215         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
7216         Likewise.
7217         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
7218         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
7219         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
7220         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
7221         * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
7222         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
7223         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
7224         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
7225         * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
7226         * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
7227         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
7228         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
7229         * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
7230         * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
7231         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
7232         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
7233         * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
7234         * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
7235         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
7236         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
7237         * testsuite/special_functions/14_expint/compile.cc: Likewise.
7238         * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
7239         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
7240         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
7241         * testsuite/special_functions/15_hermite/compile.cc: Likewise.
7242         * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
7243         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
7244         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
7245         * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
7246         * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
7247         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
7248         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
7249         * testsuite/special_functions/17_legendre/compile.cc: Likewise.
7250         * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
7251         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
7252         * testsuite/special_functions/18_riemann_zeta/check_value.cc:
7253         Likewise.
7254         * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
7255         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
7256         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
7257         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
7258         * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
7259         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
7260         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
7261         * testsuite/special_functions/20_sph_legendre/check_value.cc:
7262         Likewise.
7263         * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
7264         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
7265         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
7266         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
7267         * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
7268         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
7269
7270         * testsuite/tr1/5_numerical_facilities/special_functions/
7271         08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
7272         of [[gnu::unused]].
7273         * testsuite/tr1/5_numerical_facilities/special_functions/
7274         09_cyl_bessel_j/check_value.cc: Likewise.
7275         * testsuite/tr1/5_numerical_facilities/special_functions/
7276         10_cyl_bessel_k/check_value.cc: Likewise.
7277         * testsuite/tr1/5_numerical_facilities/special_functions/
7278         11_cyl_neumann/check_value.cc: Likewise.
7279         * testsuite/tr1/5_numerical_facilities/special_functions/
7280         21_sph_bessel/check_value.cc: Likewise.
7281         * testsuite/tr1/5_numerical_facilities/special_functions/
7282         23_sph_neumann/check_value.cc: Likewise.
7283
7284 2016-08-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7285
7286         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
7287         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
7288         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
7289         * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
7290         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
7291         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
7292
7293 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
7294
7295         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
7296         test if -flto used.
7297
7298         * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
7299         additional flags for compiling libtestc++.a objects.
7300
7301 2016-08-01  Jonathan Wakely  <jwakely@redhat.com>
7302
7303         * include/bits/basic_string.h (data() const): Update comment.
7304         (data()): Add non-const overload for C++17.
7305         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
7306         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
7307
7308         * include/bits/basic_string.tcc: Disable explicit instantiation
7309         declarations for C++17.
7310
7311         * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
7312         ignored "xfail" from { dg-do compile { xfail selector } } directive.
7313         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
7314         Likewise.
7315         * testsuite/26_numerics/headers/cmath/
7316         c99_classification_macros_c++11.cc: Likewise.
7317         * testsuite/26_numerics/headers/cmath/
7318         c99_classification_macros_c++98.cc: Likewise.
7319         * testsuite/26_numerics/headers/cmath/
7320         c99_classification_macros_c.cc: Likewise.
7321
7322         * testsuite/backward/hash_set/check_construct_destroy.cc: Account
7323         for different construct/destroy counts in C++98 mode.
7324
7325         * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
7326
7327         * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
7328         later.
7329         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
7330         Likewise.
7331
7332         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
7333         C++98-compatible initialization for array.
7334
7335         * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
7336         unused header and variable from compile-only test.
7337         * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
7338         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
7339         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
7340         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
7341         Likewise.
7342
7343         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
7344         Remove duplicate dg-options directive.
7345
7346         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
7347         808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
7348
7349         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
7350         linker options from compile-only tests.
7351         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7352         Likewise.
7353
7354         * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
7355         supported for C++11 and later.
7356         * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
7357         * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
7358
7359 2016-08-01  Uros Bizjak  <ubizjak@gmail.com>
7360
7361         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
7362
7363 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
7364
7365         * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
7366         compile-only test.
7367
7368         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7369         Ensure test is compiled with optimization.
7370
7371         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7372         Adjust dg-prune-output pattern for error in C++98 mode.
7373
7374         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
7375         run for C++11 or later.
7376
7377         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
7378         test to not rely on GNU extension (escaped normal characters in POSIX
7379         BRE). Enable tests for other strings which are now supported.
7380
7381         * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
7382         c++11 instead of setting -std=gnu++14.
7383
7384         PR libstdc++/72745
7385         * include/std/array (get): Use positive message for static assertions.
7386         * include/std/functional (_Safe_tuple_element_t): Fix indentation.
7387         * include/std/tuple (tuple_element<I, tuple<>>): Add partial
7388         specialization for invalid indices, with static assertion.
7389         * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
7390
7391         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
7392         dg-error to relevant line.
7393         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
7394         Likewise.
7395         * testsuite/23_containers/forward_list/requirements/dr438/
7396         assign_neg.cc: Likewise.
7397         * testsuite/23_containers/forward_list/requirements/dr438/
7398         constructor_1_neg.cc: Likewise.
7399         * testsuite/23_containers/forward_list/requirements/dr438/
7400         constructor_2_neg.cc: Likewise.
7401         * testsuite/23_containers/forward_list/requirements/dr438/
7402         insert_neg.cc: Likewise.
7403         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
7404         Likewise.
7405         * testsuite/26_numerics/random/linear_congruential_engine/
7406         requirements/non_uint_neg.cc: Likewise.
7407         * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
7408         Likewise. Also test for std::atomic_address.
7409
7410 2016-07-31  Ville Voutilainen  <ville.voutilainen@gmail.com>
7411
7412         Add missing variable traits, fix testsuite failures.
7413         * include/bits/uses_allocator.h (uses_allocator_v): New.
7414         * include/std/functional (is_bind_expression_v, is_placeholder_v):
7415         Likewise.
7416         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
7417         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
7418         * testsuite/20_util/duration/literals/range.cc: Likewise.
7419         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
7420         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
7421         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
7422         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
7423         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
7424         Likewise.
7425         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
7426         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
7427         New.
7428
7429 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
7430
7431         * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
7432         not test 128-bit types.
7433         * testsuite/20_util/is_floating_point/value.cc: Likewise.
7434         * testsuite/20_util/is_integral/value.cc: Likewise.
7435         * testsuite/20_util/is_signed/value.cc: Likewise.
7436         * testsuite/20_util/is_unsigned/value.cc: Likewise.
7437         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
7438         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
7439         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
7440         Likewise.
7441         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7442         Likewise.
7443
7444         * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
7445
7446 2016-07-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
7447
7448         Implement C++17 variable templates for type traits.
7449         * include/std/chrono (treat_as_floating_point_v): New.
7450         * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
7451         (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
7452         (ratio_greater_equal_v): Likewise.
7453         * include/std/system_error (is_error_code_enum_v)
7454         (is_error_condition_enum_v): Likewise.
7455         * include/std/tuple (tuple_size_v): Likewise.
7456         * type_traits (conjunction_v, disjunction_v, negation_v)
7457         (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
7458         (is_array_v, is_pointer_v, is_lvalue_reference_v)
7459         (is_rvalue_reference_v, is_member_object_pointer_v)
7460         (is_member_function_pointer_v, is_enum_v, is_union_v)
7461         (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
7462         (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
7463         (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
7464         (is_trivially_copyable_v, is_standard_layout_v)
7465         (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
7466         (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
7467         (is_constructible_v, is_default_constructible_v)
7468         (is_copy_constructible_v, is_move_constructible_v)
7469         (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
7470         (is_destructible_v, is_trivially_constructible_v)
7471         (is_trivially_default_constructible_v)
7472         (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
7473         (is_trivially_assignable_v, is_trivially_copy_assignable_v)
7474         (is_trivially_move_assignable_v, is_trivially_destructible_v)
7475         (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
7476         (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
7477         (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
7478         (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
7479         (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
7480         (is_same_v, is_base_of_v, is_convertible_v): Likewise.
7481         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
7482         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
7483         Likewise.
7484         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
7485         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
7486         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
7487
7488 2016-07-29  Andreas Schwab  <schwab@linux-m68k.org>
7489
7490         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
7491         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
7492         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
7493
7494 2016-07-29  Jonathan Wakely  <jwakely@redhat.com>
7495
7496         * doc/xml/manual/abi.xml: Document 6.0.22 library version.
7497         * doc/html/manual/abi.html: Regenerate.
7498
7499         * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
7500         * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
7501         symbols.
7502         * configure: Regenerate.
7503         * testsuite/util/testsuite_abi.cc: Add new symbol version.
7504
7505         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
7506         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
7507         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
7508         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
7509         Likewise.
7510         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
7511         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
7512         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
7513
7514 2016-07-28  Jonathan Wakely  <jwakely@redhat.com>
7515
7516         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
7517         Adjust dg-prune-output pattern for error in C++98 mode.
7518         * testsuite/23_containers/deque/requirements/dr438/
7519         constructor_1_neg.cc: Likewise.
7520         * testsuite/23_containers/deque/requirements/dr438/
7521         constructor_2_neg.cc: Likewise.
7522         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
7523         Likewise.
7524         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
7525         Likewise.
7526         * testsuite/23_containers/list/requirements/dr438/
7527         constructor_1_neg.cc: Likewise.
7528         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7529         Likewise.
7530         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
7531         Likewise.
7532         * testsuite/23_containers/vector/requirements/dr438/
7533         constructor_1_neg.cc: Likewise.
7534         * testsuite/23_containers/vector/requirements/dr438/
7535         constructor_2_neg.cc: Likewise.
7536         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
7537         Likewise.
7538
7539         * testsuite/23_containers/vector/check_construct_destroy.cc: Account
7540         for different construct/destroy counts in C++98 mode.
7541
7542         * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
7543         dg-options to dg-additional-options so that default options are used.
7544         * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
7545         Likewise.
7546         * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
7547         * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
7548         Likewise.
7549         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7550         Use dg-additional-options instead of repeating the common options.
7551
7552         * testsuite/22_locale/conversions/string/1.cc: Remove unintended
7553         dg-do compile directive.
7554         * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
7555         dg-do directive.
7556         * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
7557
7558 2016-07-28  Ville Voutilainen  <ville.voutilainen@gmail.com>
7559
7560         Implement std::string_view and P0254r2,
7561         Integrating std::string_view and std::string.
7562         * include/Makefile.am: Add string_view and string_view.tcc
7563         to the exported headers.
7564         * include/Makefile.in: Likewise.
7565         * include/bits/basic_string.h: Include <string_view> in C++17 mode.
7566         (__sv_type): New.
7567         (basic_string(__sv_type, const _Alloc&)): Likewise.
7568         (operator=(__sv_type)): Likewise.
7569         (operator __sv_type()): Likewise.
7570         (operator+=(__sv_type)): Likewise.
7571         (append(__sv_type __sv)): Likewise.
7572         (append(__sv_type, size_type, size_type)): Likewise.
7573         (assign(__sv_type)): Likewise.
7574         (assign(__sv_type, size_type, size_type)): Likewise.
7575         (insert(size_type, __sv_type)): Likewise.
7576         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
7577         (replace(size_type, size_type, __sv_type)): Likewise.
7578         (replace(size_type, size_type, __sv_type, size_type, size_type)):
7579         Likewise.
7580         (replace(const_iterator, const_iterator, __sv_type)): Likewise.
7581         (find(__sv_type, size_type)): Likewise.
7582         (rfind(__sv_type, size_type)): Likewise.
7583         (find_first_of(__sv_type, size_type)): Likewise.
7584         (find_last_of(__sv_type, size_type)): Likewise.
7585         (find_first_not_of(__sv_type, size_type)): Likewise.
7586         (find_last_not_of(__sv_type, size_type)): Likewise.
7587         (compare(__sv_type)): Likewise.
7588         (compare(size_type, size_type, __sv_type)): Likewise.
7589         (compare(size_type, size_type, __sv_type, size_type, size_type)):
7590         Likewise.
7591         * include/bits/string_view.tcc: New.
7592         * include/std/string_view: Likewise.
7593         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
7594         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
7595         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
7596         Likewise.
7597         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
7598         Likewise.
7599         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
7600         Likewise.
7601         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
7602         Likewise.
7603         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
7604         Likewise.
7605         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
7606         Likewise.
7607         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
7608         Likewise.
7609         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
7610         Likewise.
7611         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
7612         Likewise.
7613         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
7614         Likewise.
7615         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
7616         Likewise.
7617         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
7618         Likewise.
7619         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
7620         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
7621         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
7622         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
7623         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
7624         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
7625         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
7626         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
7627         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
7628         * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
7629         Likewise.
7630         * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
7631         Likewise.
7632         * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
7633         Likewise.
7634         * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
7635         Likewise.
7636         * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
7637         Likewise.
7638         * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
7639         Likewise.
7640         * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
7641         Likewise.
7642         * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
7643         Likewise.
7644         * testsuite/21_strings/basic_string_view/include.cc: Likewise.
7645         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
7646         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
7647         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
7648         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
7649         Likewise.
7650         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
7651         Likewise.
7652         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
7653         Likewise.
7654         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
7655         Likewise.
7656         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
7657         Likewise.
7658         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
7659         Likewise.
7660         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
7661         Likewise.
7662         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
7663         Likewise.
7664         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
7665         Likewise.
7666         * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
7667         Likewise.
7668         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
7669         Likewise.
7670         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
7671         Likewise.
7672         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
7673         Likewise.
7674         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
7675         Likewise.
7676         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
7677         Likewise.
7678         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
7679         Likewise.
7680         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
7681         Likewise.
7682         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
7683         Likewise.
7684         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
7685         Likewise.
7686         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
7687         Likewise.
7688         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
7689         Likewise.
7690         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
7691         Likewise.
7692         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
7693         Likewise.
7694         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
7695         Likewise.
7696         * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
7697         Likewise.
7698         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
7699         Likewise.
7700         * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
7701         Likewise.
7702         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
7703         Likewise.
7704         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
7705         Likewise.
7706         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
7707         Likewise.
7708         * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
7709         Likewise.
7710         * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
7711         Likewise.
7712         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
7713         Likewise.
7714         * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
7715         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
7716         Likewise.
7717         * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
7718         Likewise.
7719         * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
7720         Likewise.
7721         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
7722         Likewise.
7723         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
7724         Likewise.
7725         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
7726         Likewise.
7727         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
7728         Likewise.
7729         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
7730         Likewise.
7731         * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
7732         Likewise.
7733         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
7734         * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
7735
7736 2016-07-27  Jonathan Wakely  <jwakely@redhat.com>
7737
7738         * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
7739
7740 2016-07-25  Georeth Chow  <georeth2010@gmail.com>
7741
7742         * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
7743         _S_concat enumerator.
7744         * testsuite/ext/rope/6.cc: New test.
7745
7746 2016-07-25  Jonathan Wakely  <jwakely@redhat.com>
7747
7748         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
7749         std::mt19937, std::thread and std::atomic to simplify test.
7750         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
7751
7752 2016-07-22  Jonathan Wakely  <jwakely@redhat.com>
7753
7754         PR libstdc++/71964
7755         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
7756         (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
7757         * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
7758         * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
7759         * testsuite/23_containers/set/allocator/71964.cc: New test.
7760
7761         * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
7762         delete[] instead of delete.
7763
7764 2016-07-21  Jonathan Wakely  <jwakely@redhat.com>
7765
7766         * include/experimental/propagate_const (propagate_const::__t): Rename
7767         to _M_t and remove comment. Qualify std::move and std::forward.
7768         * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
7769
7770         * testsuite/23_containers/vector/zero_sized_allocations.cc:
7771         Define sized deallocation function.
7772         * testsuite/util/testsuite_new_operators.h:
7773         (operator delete(void*, const std::nothrow_t&)): Define nothrow
7774         deallocation function.
7775
7776         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
7777         reads past the end of strings.
7778         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
7779         Likewise.
7780         * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
7781         invalid array accesses.
7782         * testsuite/experimental/string_view/operations/compare/char/1.cc:
7783         Fix read past the end of string.
7784         * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
7785
7786         * testsuite/24_iterators/container_access.cc: Fix missing returns.
7787         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
7788
7789         * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
7790         leak) memory for arguments to placement delete.
7791         * testsuite/20_util/addressof/1.cc: Don't leak memory.
7792         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
7793         * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
7794         Likewise.
7795
7796 2016-07-20  Jonathan Wakely  <jwakely@redhat.com>
7797
7798         * doc/xml/manual/intro.xml: Document DR 2684 status.
7799         * doc/html/*: Regenerate.
7800
7801         * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
7802         (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
7803         (atomic_uint64_t): Define (LWG 2441).
7804         * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
7805         lines.
7806         * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
7807         the new types.
7808         * doc/xml/manual/intro.xml: Document DR 2441 status.
7809
7810         * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
7811         to use perfect forwarding (LWG 2328).
7812         * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
7813         * doc/xml/manual/intro.xml: Document DR 2328 status.
7814
7815         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
7816         static objects for catching nullptr as pointer to member types.
7817
7818 2016-07-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
7819
7820         Clean up optional's comments.
7821         * include/std/optional: Remove incorrect section headers
7822         from comments when redundant, replace bare section
7823         headers with more descriptive comments.
7824
7825 2016-07-15  Jonathan Wakely  <jwakely@redhat.com>
7826
7827         * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
7828         * include/bits/move.h: Likewise.
7829         * include/bits/postypes.h: Likewise.
7830         * include/debug/bitset: Likewise.
7831         * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
7832         * include/ext/string_conversions.h: Change C++0x to __cxx11 in
7833         comment.
7834         * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
7835         * testsuite/util/thread/all.h: Likewise.
7836
7837         * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
7838         and adjust comment.
7839
7840         PR c++/58796
7841         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
7842         nullptr match handlers of pointer type.
7843
7844 2016-07-15  Edward Smith-Rowland  <3dw4rd@verizon.net>
7845
7846         Implement C++17 P0025 clamp.
7847         * include/bits/algorithmfwd.h: Declare clamp overloads.
7848         * include/bits/stl_algo.h: Implement clamp.  Feature __cpp_lib_clamp.
7849         * testsuite/25_algorithms/clamp/1.cc: New test.
7850         * testsuite/25_algorithms/clamp/2.cc: New test.
7851         * testsuite/25_algorithms/clamp/constexpr.cc: New test.
7852         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
7853         1.cc: New test.
7854         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
7855         pod.cc: New test.
7856
7857 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
7858
7859         Fix the constraints for any's assignment operator template to properly
7860         reject assignment from a non-copyable lvalue.
7861         * include/std/any (operator=(_ValueType&&)): Constrain the decayed
7862         type for is_copy_constructible,
7863         * testsuite/20_util/any/requirements.cc: Add a test for
7864         non-copyable lvalues.
7865
7866 2016-07-14  Jonathan Wakely  <jwakely@redhat.com>
7867
7868         * include/experimental/functional: Include <parallel/algorithm> in
7869         Parallel Mode.
7870
7871         * testsuite/experimental/functional/searchers.cc: Include <algorithm>
7872         for std::search.
7873
7874         PR libstdc++/70716
7875         * include/bits/forward_list.h (forward_list): Update doxygen comments
7876         to reflect allocator propagation semantics. Remove ambiguous
7877         statements about data being lost.
7878         * include/bits/stl_deque.h (deque): Likewise.
7879         * include/bits/stl_list.h (list): Likewise.
7880         * include/bits/stl_map.h (map): Likewise.
7881         * include/bits/stl_multimap.h (multimap): Likewise.
7882         * include/bits/stl_multiset.h (multiset): Likewise.
7883         * include/bits/stl_set.h (set): Likewise.
7884         * include/bits/stl_vector.h (vector): Likewise.
7885         * include/bits/unordered_map.h (unordered_map, unordered_multimap):
7886         Likewise.
7887         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
7888         Likewise.
7889
7890 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
7891
7892         Implement P0032R3, Homogeneous interface for variant, any and optional,
7893         for the parts concerning any and optional.
7894         * include/std/any (_Storage()): Make constexpr and have it
7895         initialize _M_ptr.
7896         (any()): Make constexpr.
7897         (any(const any&)): Adjust.
7898         (any(any&&)): Likewise.
7899         (__any_constructible_t): New.
7900         (any(_ValueType&&)): Constrain.
7901         (any(in_place_type_t<_Tp>, _Args&&...)): New.
7902         (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
7903         Likewise.
7904         (~any()): Adjust.
7905         (operator=(const any&)): Likewise.
7906         (operator=(any&&)): Likewise.
7907         (operator=(_ValueType&&)): Constrain.
7908         (emplace(_Args&&...)): New.
7909         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
7910         (clear()): Remove.
7911         (reset()): New.
7912         (swap(any&)): Adjust.
7913         (empty()): Remove.
7914         (has_value()): New.
7915         (type()): Adjust.
7916         (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
7917         (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
7918         (make_any(_Args&&...)): Likewise.
7919         (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
7920         * include/std/optional (in_place_t, in_place): Remove.
7921         (bad_optional_access): Add a comment referring to LEWG 72.
7922         (emplace(_Args&&...)): Constrain.
7923         (has_value()): New.
7924         (reset()): Likewise.
7925         (make_optional(_Args&&...)): Likewise.
7926         (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
7927         * include/std/utility (in_place_tag): New.
7928         (__in_place, __in_place_type, __in_place_index): Likewise.
7929         (in_place_t, in_place_type_t, in_place_index_t): Likewise.
7930         (in_place(__in_place*)): Likewise.
7931         (in_place(__in_place_type<_Tp>*)): Likewise.
7932         (in_place(__in_place_index<_Idx>*)): Likewise.
7933         * testsuite/20_util/any/assign/1.cc: Adjust.
7934         * testsuite/20_util/any/assign/emplace.cc: New.
7935         * testsuite/20_util/any/assign/self.cc: Adjust.
7936         * testsuite/20_util/any/cons/1.cc: Likewise.
7937         * testsuite/20_util/any/cons/in_place.cc: New.
7938         * testsuite/20_util/any/make_any.cc: Likewise.
7939         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
7940         * testsuite/20_util/any/misc/swap.cc: Likewise.
7941         * testsuite/20_util/any/modifiers/1.cc: Likewise.
7942         * testsuite/20_util/any/requirements.cc: New.
7943         * testsuite/20_util/in_place/requirements.cc: Likewise.
7944         * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
7945         * testsuite/20_util/optional/in_place.cc: Likewise.
7946         * testsuite/20_util/optional/make_optional.cc: Add tests for
7947         the new overloads of make_optional.
7948
7949 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
7950
7951         Implement P0307R2, Making Optional Greater Equal Again.
7952         * include/experimental/optional (_Has_addressof): Fix the comment.
7953         * include/std/optional (_Has_addressof): Likewise.
7954         (operator=(_Up&&)): Constrain.
7955         (operator=(const optional<_Up>&)): Likewise.
7956         (operator=(optional<_Up>&&)): Likewise.
7957         (__optional_relop_t): New.
7958         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7959         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
7960         Constrain and make transparent.
7961         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7962         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
7963         Constrain and make transparent.
7964         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7965         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7966         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
7967         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
7968         (operator!=(const optional<_Tp>&, _Tp const&)):
7969         Constrain and make transparent.
7970         (operator!=(const _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>&, const _Tp&)):
7974         Constrain and make transparent.
7975         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
7976         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
7977         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
7978         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
7979         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
7980         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
7981         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
7982         * testsuite/20_util/optional/relops/1.cc: Likewise.
7983         * testsuite/20_util/optional/relops/2.cc: Likewise.
7984         * testsuite/20_util/optional/relops/3.cc: Likewise.
7985         * testsuite/20_util/optional/relops/4.cc: Likewise.
7986         * testsuite/20_util/optional/requirements.cc: Add tests to verify
7987         that optional's relops are transparent and don't synthesize
7988         operators. Also test that assignment sfinaes.
7989
7990 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
7991
7992         PR libstdc++/71856
7993         * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
7994         * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
7995         Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
7996         on _GLIBCXX_ASSERTIONS.
7997         * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
7998         Include <unistd.h> for sleep.
7999         * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
8000         * include/parallel/merge.h: Likewise.
8001         * include/parallel/multiway_merge.h: Likewise.
8002         * include/parallel/partition.h: Likewise.
8003         * include/parallel/queue.h: Likewise.
8004         * include/parallel/sort.h: Likewise.
8005         * testsuite/25_algorithms/headers/algorithm/
8006         parallel_algorithm_assert.cc: New.
8007
8008         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
8009         (replace(__const_iterator, __const_iterator, initializer_list<C>)):
8010         Forward to different overload.
8011
8012         * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
8013         static.
8014
8015 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
8016
8017         Revert "Add non-const overload of std::string::data()".
8018
8019 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
8020
8021         Implement P0307R2, Making Optional Greater Equal Again.
8022         * include/experimental/optional (_Has_addressof): Fix the comment.
8023         * include/std/optional (_Has_addressof): Likewise.
8024         (operator=(_Up&&)): Constrain.
8025         (operator=(const optional<_Up>&)): Likewise.
8026         (operator=(optional<_Up>&&)): Likewise.
8027         (__optional_relop_t): New.
8028         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8029         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
8030         Constrain and make transparent.
8031         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8032         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
8033         Constrain and make transparent.
8034         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8035         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8036         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
8037         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
8038         (operator!=(const optional<_Tp>&, _Tp const&)):
8039         Constrain and make transparent.
8040         (operator!=(const _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>&, const _Tp&)):
8044         Constrain and make transparent.
8045         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
8046         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
8047         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
8048         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
8049         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
8050         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
8051         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8052         * testsuite/20_util/optional/relops/1.cc: Likewise.
8053         * testsuite/20_util/optional/relops/2.cc: Likewise.
8054         * testsuite/20_util/optional/relops/3.cc: Likewise.
8055         * testsuite/20_util/optional/relops/4.cc: Likewise.
8056         * testsuite/20_util/optional/requirements.cc: Add tests to verify
8057         that optional's relops are transparent and don't synthesize
8058         operators. Also test that assignment sfinaes.
8059
8060 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
8061
8062         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
8063         New function.
8064         (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
8065         instead of _M_data().
8066         (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
8067         Likewise.
8068         (append(const basic_string&)): Likewise.
8069         (append(const basic_string&, size_type, size_type)): Likewise.
8070         (assign(const basic_string&, size_type, size_type)): Likewise.
8071         (insert(size_type, const basic_string&)): Likewise.
8072         (insert(size_type, const basic_string&, size_type, size_type)):
8073         Likewise.
8074         (replace(size_type, size_type, const basic_string&, size_type,
8075         size_type)): Likewise.
8076         (replace(__const_iterator, __const_iterator, const basic_string&)):
8077         Likewise.
8078         (c_str(), data()): Use c_str() instead of _M_data().
8079         (data()): Add non-const overload as per LWG 2391 and P0272R1.
8080         (compare(const basic_string&)): Use data() instead of _M_data().
8081         [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
8082         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
8083         Pass raw pointers to _S_copy.
8084         (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
8085         _S_assign.
8086         (find(const _CharT*, size_type, size_type)): Use data instead of
8087         _M_data().
8088         * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
8089         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
8090         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
8091
8092 2016-07-12  Jonathan Wakely  <jwakely@redhat.com>
8093
8094         * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
8095         * doc/xml/manual/intro.xml: Document DR 2458 status.
8096         * doc/html*: Regenerate.
8097
8098         * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
8099         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
8100         Only include <array>.
8101         * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
8102         Likewise.
8103         * doc/xml/manual/intro.xml: Document LWG 2212 support.
8104         * doc/html*: Regenerate.
8105
8106         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8107         Add testcase from LWG 2164.
8108
8109 2016-07-11  François Dumont  <fdumont@gcc.gnu.org>
8110
8111         * include/bits/stl_vector.h (push_back(const value_type&)): Forward
8112         to _M_realloc_insert.
8113         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
8114         (_M_realloc_insert): Declare new function.
8115         (_M_emplace_back_aux): Remove definition.
8116         * include/bits/vector.tcc (emplace_back(_Args...)):
8117         Use _M_realloc_insert.
8118         (insert(const_iterator, const value_type&)): Likewise.
8119         (_M_insert_rval, _M_emplace_aux): Likewise.
8120         (_M_emplace_back_aux): Remove declaration.
8121         (_M_realloc_insert): Define.
8122         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
8123         Adjust expected results for emplacing an lvalue with reallocation.
8124
8125 2016-07-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
8126
8127         Implement std::optional.
8128         * include/Makefile.am: Add optional to exported headers.
8129         * include/Makefile.in: Likewise.
8130         * include/std/optional: New.
8131         * testsuite/20_util/optional/typedefs.cc: Likewise.
8132         * testsuite/20_util/optional/relops/2.cc: Likewise.
8133         * testsuite/20_util/optional/relops/3.cc: Likewise.
8134         * testsuite/20_util/optional/relops/4.cc: Likewise.
8135         * testsuite/20_util/optional/relops/5.cc: Likewise.
8136         * testsuite/20_util/optional/relops/1.cc: Likewise.
8137         * testsuite/20_util/optional/relops/6.cc: Likewise.
8138         * testsuite/20_util/optional/nullopt.cc: Likewise.
8139         * testsuite/20_util/optional/in_place.cc: Likewise.
8140         * testsuite/20_util/optional/make_optional.cc: Likewise.
8141         * testsuite/20_util/optional/assignment/2.cc: Likewise.
8142         * testsuite/20_util/optional/assignment/3.cc: Likewise.
8143         * testsuite/20_util/optional/assignment/4.cc: Likewise.
8144         * testsuite/20_util/optional/assignment/5.cc: Likewise.
8145         * testsuite/20_util/optional/assignment/1.cc: Likewise.
8146         * testsuite/20_util/optional/assignment/6.cc: Likewise.
8147         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
8148         * testsuite/20_util/optional/cons/default.cc: Likewise.
8149         * testsuite/20_util/optional/cons/move.cc: Likewise.
8150         * testsuite/20_util/optional/cons/value.cc: Likewise.
8151         * testsuite/20_util/optional/cons/copy.cc: Likewise.
8152         * testsuite/20_util/optional/requirements.cc: Likewise.
8153         * testsuite/20_util/optional/observers/2.cc: Likewise.
8154         * testsuite/20_util/optional/observers/3.cc: Likewise.
8155         * testsuite/20_util/optional/observers/4.cc: Likewise.
8156         * testsuite/20_util/optional/observers/5.cc: Likewise.
8157         * testsuite/20_util/optional/observers/1.cc: Likewise.
8158         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
8159         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
8160         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8161         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
8162         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
8163         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
8164         * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
8165         * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
8166         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
8167         * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
8168         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
8169         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
8170         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
8171         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
8172         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
8173         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
8174         * testsuite/20_util/optional/swap/1.cc: Likewise.
8175
8176 2016-07-08  Jonathan Wakely  <jwakely@redhat.com>
8177
8178         * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
8179
8180 2016-07-07  Jonathan Wakely  <jwakely@redhat.com>
8181
8182         * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
8183         * doc/html/*: Regenerate.
8184
8185 2016-07-07  Ville Voutilainen  <ville.voutilainen@gmail.com>
8186
8187         Implement std::any.
8188         * include/Makefile.am: Add any and c++17_warning.h to exported headers.
8189         * include/Makefile.in: Likewise.
8190         * include/std/any: New.
8191         * testsuite/20_util/any/assign/1.cc: Likewise.
8192         * testsuite/20_util/any/assign/2.cc: Likewise.
8193         * testsuite/20_util/any/assign/self.cc: Likewise.
8194         * testsuite/20_util/any/cons/1.cc: Likewise.
8195         * testsuite/20_util/any/cons/2.cc: Likewise.
8196         * testsuite/20_util/any/cons/aligned.cc: Likewise.
8197         * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
8198         * testsuite/20_util/any/misc/any_cast.cc: Likewise.
8199         * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
8200         * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
8201         * testsuite/20_util/any/misc/swap.cc: Likewise.
8202         * testsuite/20_util/any/modifiers/1.cc: Likewise.
8203         * testsuite/20_util/any/observers/type.cc: Likewise.
8204         * testsuite/20_util/any/typedefs.cc: Likewise.
8205
8206 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8207
8208         Add a new header for diagnosing the use of C++17 facilities
8209         in pre-C++17 modes.
8210         * include/bits/c++17_warning.h: New.
8211
8212 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8213
8214         Implement LWG 2451, optional<T> should 'forward' T's
8215         implicit conversions.
8216         * include/experimental/optional (__is_optional_impl, __is_optional):
8217         New.
8218         (optional()): Make constexpr and default.
8219         (optional(_Up&&), optional(const optional<_Up>&),
8220         optional(optional<_Up>&& __t): New.
8221         (operator=(_Up&&)): Constrain.
8222         (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
8223         * testsuite/experimental/optional/cons/value.cc:
8224         Add tests for the functionality added by LWG 2451.
8225         * testsuite/experimental/optional/cons/value_neg.cc: New.
8226
8227 2016-07-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8228
8229         Implement LWG 2509,
8230         any_cast doesn't work with rvalue reference targets and cannot
8231         move with a value target.
8232         * include/experimental/any (any(_ValueType&&)): Constrain and
8233         add an overload that doesn't forward.
8234         (any_cast(any&&)): Constrain and add an overload that moves.
8235         * testsuite/experimental/any/misc/any_cast.cc: Add tests for
8236         the functionality added by LWG 2509.
8237
8238 2016-07-04  François Dumont  <fdumont@gcc.gnu.org>
8239
8240         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8241         New test.
8242         * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
8243         test.
8244
8245 2016-07-04  Jonathan Wakely  <jwakely@redhat.com>
8246
8247         * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
8248         Define inline. Forward to _M_emplace_aux.
8249         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
8250         (_M_insert_rval, _M_emplace_aux): Declare new functions.
8251         (_Temporary_value): New RAII type using allocator to construct/destroy.
8252         (_S_insert_aux_assign): Remove.
8253         (_M_insert_aux): Make non-variadic.
8254         * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
8255         Use _Temporary_value.
8256         (emplace(const_iterator, _Args&&...)): Remove definition.
8257         (_M_insert_rval, _M_emplace_aux): Define.
8258         (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
8259         (_M_fill_insert): Use _Temporary_value.
8260         * testsuite/23_containers/vector/allocator/construction.cc: New test.
8261         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
8262         Adjust expected results for emplacing an lvalue with reallocation.
8263         * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
8264         expected results to account for construction/destruction of temporary
8265         using allocator.
8266         * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
8267
8268 2016-07-04  Ville Voutilainen  <ville.voutilainen@gmail.com>
8269
8270         PR libstdc++/71313
8271         * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
8272         Call remove_all for children of a directory.
8273         * testsuite/experimental/filesystem/operations/create_directories.cc:
8274         Adjust.
8275
8276 2016-07-02  François Dumont  <fdumont@gcc.gnu.org>
8277
8278         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
8279         dg-error line numbers.
8280         * testsuite/23_containers/array/tuple_interface/
8281         tuple_element_debug_neg.cc: Likewise.
8282         * testsuite/25_algorithms/lexicographical_compare/debug/
8283         irreflexive_neg.cc: Remove.
8284
8285 2016-06-30  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8286
8287         * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
8288         than specific target.
8289
8290 2016-06-27  François Dumont  <fdumont@gcc.gnu.org>
8291
8292         PR libstdc++/71640
8293         * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
8294         friend declaration.
8295
8296 2016-06-23  François Dumont  <fdumont@gcc.gnu.org>
8297
8298         * include/debug/array (array<>::swap): Fix noexcept qualificaton for
8299         zero-size array.
8300
8301 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8302
8303         * configure.host: Remove mep-* support.
8304
8305 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8306
8307         * configure: Regenerate.
8308         * configure.host: Remove support for knetbsd.
8309         * crossconfig.m4: Likewise.
8310
8311 2016-06-20  François Dumont  <fdumont@gcc.gnu.org>
8312
8313         PR libstdc++/71181
8314         * include/tr1/hashtable_policy.h
8315         (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
8316         dereferenceable to avoid check on lower_bound result.
8317         (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
8318         (_Prime_rehash_policy::_M_need_rehash): Likewise.
8319         * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
8320         Always return a value greater than input value. Set _M_next_resize to
8321         max value when reaching highest prime number.
8322         * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
8323         being now useless.
8324         * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
8325         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
8326         (test02): New.
8327         * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
8328         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8329         Fix indentation.
8330
8331 2016-06-17  Jonathan Wakely  <jwakely@redhat.com>
8332
8333         PR libstdc++/71545
8334         * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
8335         Remove irreflexive checks.
8336         * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
8337         binary_search): Likewise.
8338         * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
8339         * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
8340         * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
8341         * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
8342         * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
8343         Add constructor from array.
8344
8345 2016-06-16  François Dumont  <fdumont@gcc.gnu.org>
8346
8347         * include/debug/debug.h
8348         (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
8349         (__glibcxx_requires_subscript): Move...
8350         * include/debug/assertions.h: ...here and add __builtin_expect.
8351         (_GLIBCXX_DEBUG_ONLY): Remove ; value.
8352         * include/bits/stl_deque.h
8353         (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
8354         (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
8355         (std::deque<>::back()): Likewise.
8356         (std::deque<>::pop_front()): Likewise.
8357         (std::deque<>::pop_back()): Likewise.
8358         (std::deque<>::swap(deque&)): Add allocator check.
8359         * include/bits/stl_vector.h
8360         (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
8361         (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
8362         (std::vector<>::back()): Likewise.
8363         (std::vector<>::pop_back()): Likewise.
8364         (std::vector<>::swap(vector&)): Add allocator check.
8365
8366 2016-06-16  Daniel Kruegler  <daniel.kruegler@gmail.com>
8367
8368         Provide swappable traits (p0185r1)
8369         * include/std/type_traits (is_swappable, is_nothrow_swappable,
8370         is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
8371         is_nothrow_swappable_v, is_swappable_with_v,
8372         is_nothrow_swappable_with_v): New.
8373         * include/bits/stl_pair.h: Use it as per p0185r1.
8374         * include/bits/stl_queue.h: Likewise.
8375         * include/bits/stl_stack.h: Likewise.
8376         * include/bits/unique_ptr.h: Likewise.
8377         * include/std/tuple: Likewise.
8378         * include/std/array: Likewise. Fix zero-size member swap.
8379         * include/bits/hashtable.h: Use __and_.
8380         * testsuite/20_util/is_nothrow_swappable/requirements/
8381         explicit_instantiation.cc: Change test options to std=gnu++17.
8382         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
8383         Likewise.
8384         * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
8385         * testsuite/20_util/is_swappable/requirements/
8386         explicit_instantiation.cc: Likewise.
8387         * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
8388         * testsuite/20_util/is_swappable/value.cc: Likewise.
8389         * testsuite/20_util/is_nothrow_swappable/requirements/
8390         explicit_instantiation_ext.cc: New.
8391         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
8392         New.
8393         * testsuite/20_util/is_nothrow_swappable/value.h: New.
8394         * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
8395         * testsuite/20_util/is_nothrow_swappable_with/requirements/
8396         explicit_instantiation.cc: New.
8397         * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
8398         New.
8399         * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
8400         * testsuite/20_util/is_swappable/requirements/
8401         explicit_instantiation_ext.cc: New.
8402         * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
8403         * testsuite/20_util/is_swappable/value.h: New.
8404         * testsuite/20_util/is_swappable/value_ext.cc: New.
8405         * testsuite/20_util/is_swappable_with/requirements/
8406         explicit_instantiation.cc: New.
8407         * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
8408         * testsuite/20_util/is_swappable_with/value.cc: New.
8409         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
8410         dg-error line numbers.
8411         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
8412         Likewise.
8413
8414 2016-06-16  Jonathan Wakely  <jwakely@redhat.com>
8415
8416         * include/std/array: Remove trailing whitespace.
8417         * include/std/atomic: Likewise.
8418         * include/std/bitset: Likewise.
8419         * include/std/chrono: Likewise.
8420         * include/std/complex: Likewise.
8421         * include/std/condition_variable: Likewise.
8422         * include/std/fstream: Likewise.
8423         * include/std/functional: Likewise.
8424         * include/std/future: Likewise.
8425         * include/std/iomanip: Likewise.
8426         * include/std/iosfwd: Likewise.
8427         * include/std/istream: Likewise.
8428         * include/std/limits: Likewise.
8429         * include/std/ratio: Likewise.
8430         * include/std/scoped_allocator: Likewise.
8431         * include/std/sstream: Likewise.
8432         * include/std/stdexcept: Likewise.
8433         * include/std/string: Likewise.
8434         * include/std/system_error: Likewise.
8435         * include/std/thread: Likewise.
8436         * include/std/tuple: Likewise.
8437         * include/std/type_traits: Likewise.
8438         * include/std/utility: Likewise.
8439         * include/std/valarray: Likewise.
8440         * include/std/vector: Likewise.
8441
8442         * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
8443         new overloaded functions.
8444         * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
8445         to avoid creating a redundant temporary.
8446         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
8447         test.
8448
8449 2016-06-15  François Dumont  <fdumont@gcc.gnu.org>
8450
8451         * include/bits/stl_deque.h
8452         (std::deque<>::operator=): Call _M_assign_aux.
8453         (std::deque<>::assign(initializer_list<>)): Likewise.
8454         (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8455         (std::deque<>::insert(const_iterator, initializer_list<>)):
8456         Call _M_range_insert_aux.
8457         (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
8458         Likewise.
8459         (std::deque<>::_M_fill_assign): Call _M_fill_insert.
8460         (std::deque<>::_M_move_assign2): Call _M_assign_aux.
8461         * include/bits/deque.tcc
8462         (std::deque<>::operator=): Call _M_range_insert_aux.
8463         (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
8464         Likewise.
8465         * include/bits/stl_vector.h
8466         (std::vector<>::operator=): Call _M_assign_aux.
8467         (std::vector<>::assign(initializer_list<>)): Likewise.
8468         (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8469         (std::vector<>::insert(const_iterator, initializer_list<>)):
8470         Call _M_range_insert.
8471         * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
8472
8473 2016-06-07  François Dumont  <fdumont@gcc.gnu.org>
8474
8475         * include/std/tuple (_Head_base<>): Default specialization condition at
8476         type declaration.
8477
8478 2016-06-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8479
8480         Support allocators in tuples of zero size.
8481         * include/std/tuple (tuple<>::tuple(),
8482         tuple<>::tuple(allocator_arg_t, const _Alloc&),
8483         tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
8484         * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
8485
8486 2016-06-06  Jonathan Wakely  <jwakely@redhat.com>
8487
8488         PR libstdc++/71320
8489         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
8490         Add or remove permissions according to perms argument.
8491         * testsuite/experimental/filesystem/operations/permissions.cc: New
8492         test.
8493
8494 2016-06-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8495
8496         Protect allocator-overloads of tuple-from-tuple constructors
8497         from cases that would create dangling references.
8498         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8499         const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
8500         tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
8501         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
8502
8503 2016-05-29  Gerald Pfeifer  <gerald@pfeifer.com>
8504
8505         * doc/xml/manual/backwards_compatibility.xml: Adjust
8506         lists.debian.org link to https.
8507         * doc/html/manual/backwards.html: Regenerate.
8508
8509 2016-05-27  Jonathan Wakely  <jwakely@redhat.com>
8510
8511         * doc/xml/manual/abi.xml: Adjust URL to use https.
8512         * doc/html/manual/*: Regenerate.
8513
8514 2016-05-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
8515
8516         PR libstdc++/66338
8517         * include/std/tuple (_TMC): Add a check for _NotSameTuple.
8518         * include/std/tuple (tuple(_UElements&&...)): Remove the separate
8519         check for _NotSameTuple.
8520         * include/std/tuple (_TMCT): New.
8521         * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
8522         * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
8523         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8524               const tuple<_UElements...>&)): Likewise.
8525         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8526               tuple<_UElements...>&&)): Likewise.
8527         * testsuite/20_util/tuple/cons/66338.cc: New.
8528
8529 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
8530
8531         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
8532         * configure: Regenerate.
8533         * config.h.in: Regenerate.
8534
8535         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
8536         * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
8537         Remove const qualification on function. Replace
8538         _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
8539         (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
8540         (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
8541
8542 2016-05-24  François Dumont  <fdumont@gcc.gnu.org>
8543
8544         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
8545         * include/bits/hashtable_policy.h
8546         (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
8547         having load factor management.
8548         (_Mask_range_hashing): New.
8549         (__clp2): New.
8550         (_Power2_rehash_policy): New.
8551         (_Inserts<>): Remove last template parameter, _Unique_keys, so that
8552         partial specializations only depend on whether iterators are constant
8553         or not.
8554         * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
8555         test new hash policy.
8556         * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
8557         Likewise.
8558         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8559         Likewise.
8560         * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
8561         Likewise.
8562         * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
8563         Likewise.
8564         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
8565         New.
8566         * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
8567         using the new hash policy.
8568         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
8569
8570 2016-05-24  Jonathan Wakely  <jwakely@redhat.com>
8571
8572         * include/bits/stl_queue.h (priority_queue::value_compare): Define.
8573
8574 2016-05-23  François Dumont  <fdumont@gcc.gnu.org>
8575
8576         * include/debug/safe_iterator.h
8577         (_Safe_iterator<>::operator->()): Implement using underlying iterator
8578         operator ->.
8579         * include/debug/safe_local_iterator.h
8580         (_Safe_local_iterator<>::operator->()): Likewise.
8581
8582 2016-05-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8583
8584         * testsuite/experimental/memory_resource/1.cc: Add required argument
8585         to dg-require-atomic-builtins.
8586
8587 2016-05-13  Jonathan Wakely  <jwakely@redhat.com>
8588
8589         PR libstdc++/71073
8590         * include/debug/bitset: Add #pragma GCC system_header.
8591         * include/debug/deque: Likewise.
8592         * include/debug/list: Likewise.
8593         * include/debug/map: Likewise.
8594         * include/debug/set: Likewise.
8595         * include/debug/string: Likewise.
8596         * include/debug/unordered_map: Likewise.
8597         * include/debug/unordered_set: Likewise.
8598         * include/debug/vector: Likewise.
8599         * include/debug/functions.h: Adjust whitespace.
8600
8601 2016-05-12  Jonathan Wakely  <jwakely@redhat.com>
8602
8603         PR libstdc++/71081
8604         * testsuite/experimental/memory_resource/1.cc: Require atomics.
8605
8606 2016-05-11  Jonathan Wakely  <jwakely@redhat.com>
8607
8608         PR libstdc++/71049
8609         * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
8610         exception constructors with __sso_string parameters.
8611
8612 2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
8613
8614         * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
8615         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8616         Test begin and end functions.
8617         * testsuite/experimental/filesystem/iterators/
8618         recursive_directory_iterator.cc: Likewise.
8619
8620         PR libstdc++/71038
8621         * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
8622         * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
8623
8624         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8625         Overload operator* to move from rvalues.
8626
8627         PR libstdc++/71036
8628         * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
8629         * testsuite/experimental/filesystem/operations/create_directory.cc:
8630         New test.
8631
8632         PR libstdc++/71037
8633         * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
8634         base path to exception.
8635         * testsuite/experimental/filesystem/operations/canonical.cc: Test
8636         paths contained in exception.
8637
8638         * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
8639         using declaration.
8640
8641         PR libstdc++/71005
8642         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8643         New type.
8644         (directory_iterator::operator++(int)): Return proxy.
8645         (recursive_directory_iterator::operator++(int)): Likewise.
8646         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8647         Test post-increment.
8648         * testsuite/experimental/filesystem/iterators/
8649         recursive_directory_iterator.cc: Likewise.
8650
8651 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
8652
8653         PR libstdc++/71004
8654         * testsuite/experimental/filesystem/iterators/
8655         recursive_directory_iterator.cc: Fix test02 to not call member
8656         functions on invalid iterator, and use VERIFY not assert.
8657
8658 2016-05-09  Ville Voutilainen  <ville.voutilainen@gmail.com>
8659
8660         Avoid endless run-time recursion for copying single-element
8661         tuples where the element type is by-value constructible
8662         from any type.
8663         * include/std/tuple (_NotSameTuple): New.
8664         * include/std/tuple (tuple(_UElements&&...): Use it.
8665         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
8666
8667 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
8668
8669         PR libstdc++/71004
8670         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
8671         Initialize scalar member variables in default constructor.
8672         * testsuite/experimental/filesystem/iterators/
8673         recursive_directory_iterator.cc: Test default construction.
8674
8675 2016-05-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8676
8677         * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
8678
8679 2016-05-05  Jonathan Wakely  <jwakely@redhat.com>
8680
8681         * testsuite/experimental/filesystem/path/native/string.cc: Add
8682         dg-require-filesystem-ts directive.
8683
8684 2016-05-04  Jonathan Wakely  <jwakely@redhat.com>
8685
8686         PR libstdc++/70940
8687         * include/experimental/memory_resource
8688         (__resource_adaptor_imp::do_allocate): Do not default-construct
8689         rebound allocator.
8690         (__resource_adaptor_imp::do_deallocate): Likewise. Use
8691         allocator_traits to get pointer type.
8692         (__null_memory_resource::do_allocate): Remove unused parameters.
8693         (__null_memory_resource::do_deallocate): Likewise.
8694         (__null_memory_resource::do_is_equal): Likewise. Add return statement.
8695         * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
8696         * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
8697         move to ...
8698         * testsuite/experimental/memory_resource/1.cc: Here.
8699         * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
8700         * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
8701
8702 2016-04-29  Chris Gregory  <czipperz@gmail.com>
8703
8704         * config/*: Remove trailing whitespace.
8705         * src/*: Likewise.
8706         * testsuite/tr1/*: Likewise.
8707         * testsuite/util/*: Likewise.
8708
8709 2016-04-28  Jonathan Wakely  <jwakely@redhat.com>
8710
8711         PR libstdc++/70766
8712         * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
8713         __addressof.
8714         * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
8715         Likewise.
8716         * include/std/atomic (atomic<_Tp>): Likewise.
8717         * include/std/shared_mutex (shared_lock): Likewise.
8718         * testsuite/24_iterators/istream_iterator/70766.cc: New test.
8719         * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
8720         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
8721         * testsuite/29_atomics/atomic/70766.cc: New test.
8722         * testsuite/30_threads/shared_lock/70766.cc: New test.
8723
8724         * include/bits/hashtable_policy.h (__detail::_Insert_base,
8725         __detail::_Insert): Improve comments.
8726
8727 2016-04-27  Jonathan Wakely  <jwakely@redhat.com>
8728
8729         PR libstdc++/70767
8730         * include/std/limits: Update comments about DRs.
8731         (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
8732         numeric_limits<const volatile _Tp>): Define unconditionally.
8733
8734 2016-04-24  Jonathan Wakely  <jwakely@redhat.com>
8735
8736         PR libstdc++/70762
8737         * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
8738         static counter to return a different path on every call.
8739
8740 2016-04-22  Tim Shen  <timshen@google.com>
8741
8742         PR libstdc++/70745
8743         * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
8744         Fix the match_not_bow and match_not_eow behavior.
8745         * testsuite/28_regex/regression.cc: Add testcase.
8746
8747 2016-04-20  Jonathan Wakely  <jwakely@redhat.com>
8748
8749         PR libstdc++/69703
8750         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
8751         __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
8752
8753 2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
8754
8755         PR libstdc++/69703
8756         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
8757         Override endianness bit in mode.
8758         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
8759         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
8760         that little_endian mode is ignored.
8761         * testsuite/experimental/filesystem/path/native/string.cc: New test.
8762
8763         PR libstdc++/70609
8764         * src/filesystem/ops.cc (close_fd): New function.
8765         (do_copy_file): Set permissions before copying file contents. Check
8766         result of closing file descriptors. Don't copy streambuf when file
8767         is empty.
8768         (copy(const path&, const path&, copy_options, error_code&)): Use
8769         lstat for source file when copy_symlinks is set.
8770         * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
8771
8772         * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
8773         operator~ operator&=, operator|=, operator^=): Add noexcept to
8774         overloaded operators for copy_options, perms and directory_options.
8775         * src/filesystem/ops.cc (make_file_type, make_file_status,
8776         is_not_found_errno, file_time): Add noexcept.
8777
8778 2016-04-19  Edward Smith-Rowland  <3dw4rd@verizon.net>
8779
8780         * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
8781
8782 2016-04-18  Jonathan Wakely  <jwakely@redhat.com>
8783
8784         PR libstdc++/41759
8785         * include/bits/random.h: Reword static assertion messages to state
8786         positive conditions.
8787         * include/bits/random.tcc: Likewise.
8788         * include/bits/uniform_int_dist.h: Likewise.
8789         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
8790         patterns.
8791
8792         * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
8793
8794         * config/cpu/sh/atomicity.h: Fix typo in comment.
8795
8796         PR libstdc++/70294
8797         * include/std/thread (operator<, operator==): Move definitions to
8798         namespace-scope.
8799         * testsuite/30_threads/thread/id/70294.cc: New test.
8800
8801         * testsuite/18_support/bad_exception/23591_thread-1.c: Add
8802         -Wno-pedantic to dg-options.
8803         * testsuite/20_util/align/2.cc: Use type as operand of alignof.
8804         * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
8805         to dg-options.
8806         * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
8807         Remove extra semi-colon.
8808         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
8809         Always supply second argument to static_assert.
8810         * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
8811         semi-colon.
8812         * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
8813         dg-options.
8814         * testsuite/26_numerics/complex/literals/values.cc: Likewise.
8815         * testsuite/29_atomics/atomic/60695.cc: Likewise.
8816         * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
8817         alignof when operand is an object not a type.
8818         * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
8819         * testsuite/decimal/make-decimal.cc: Likewise.
8820         * testsuite/experimental/type_traits/value.cc: Always supply second
8821         argument to static_assert.
8822         * testsuite/util/testsuite_common_types.h: Use __extension__ for
8823         __int128 types.
8824
8825         * testsuite/experimental/type_erased_allocator/1.cc: Don't include
8826         internal header.
8827         * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
8828         * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
8829         * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
8830         Likewise. Add licence and change to compile-only test.
8831
8832         * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
8833         unused parameter.
8834         * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
8835
8836         * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
8837         warnings.
8838
8839 2016-04-17  Edward Smith-Rowland  <3dw4rd@verizon.net>
8840
8841         * include/bits/specfun.h: Trivial comment misspelling.
8842
8843 2016-04-14  Jason Merrill  <jason@redhat.com>
8844
8845         Revert Jonathan's empty ABI change from yesterday.
8846
8847 2016-04-13  Martin Sebor  <msebor@redhat.com>
8848
8849         PR c++/69517
8850         * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
8851         upper bound is positive.
8852
8853 2016-04-13  Jonathan Wakely  <jwakely@redhat.com>
8854
8855         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
8856         _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
8857         * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
8858         of functions taking empty structs by value. Add a template parameter
8859         to overloads without hints. Rename overloads with hints to
8860         _M_emplace_hint.
8861         (_Hashtable::_M_erase(true_type, const_iterator),
8862         _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
8863         by reordering parameters.
8864         * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
8865         _M_emplace_hint instead of _M_emplace.
8866         * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
8867         shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
8868         * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
8869         __shared_ptr): Likewise.
8870         * include/bits/stl_algo.h (replace_if): Likewise.
8871         * include/bits/stl_pair.h (piecewise_construct_t,
8872         piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
8873         * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
8874         __uses_alloc0): Likewise.
8875         * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
8876         * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
8877         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
8878         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
8879         * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
8880         * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
8881         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
8882
8883 2016-04-12  Edward Smith-Rowland  <3dw4rd@verizon.net>
8884
8885         Document C++17/TR29124 C++ Special Math Functions.
8886         * include/bits/specfun.h: Add Doxygen markup.
8887
8888 2016-04-07  Jonathan Wakely  <jwakely@redhat.com>
8889
8890         * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
8891
8892 2016-04-06  Eric Botcazou  <ebotcazou@adacore.com>
8893
8894         * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
8895         * src/Makefile.in: Regenerate.
8896
8897 2016-04-05  Jonathan Wakely  <jwakely@redhat.com>
8898
8899         PR libstdc++/70554
8900         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
8901         __atomic_fetch_add for bool.
8902         * configure: Regenerate.
8903
8904         * testsuite/30_threads/thread/70503.cc: Require -static to work.
8905
8906         PR libstdc++/70503
8907         * src/c++11/thread.cc (execute_native_thread_routine,
8908         execute_native_thread_routine_compat): Give internal linkage.
8909         * testsuite/30_threads/thread/70503.cc: New test.
8910
8911 2016-04-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8912
8913         PR libstdc++/70437
8914         * include/bits/stl_pair.h (_ConstructiblePair,
8915         _ImplicitlyConvertiblePair, _MoveConstructiblePair,
8916         _ImplicitlyMoveConvertiblePair): Add shortcut conditions
8917         for same-type cases.
8918         * testsuite/20_util/pair/70437.cc: New.
8919
8920 2016-03-24  Jonathan Wakely  <jwakely@redhat.com>
8921
8922         PR libstdc++/69945
8923         * config/abi/pre/gnu.ver: Add new symbol.
8924         * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
8925         * testsuite/18_support/free_eh_pool.cc: New test.
8926
8927 2016-03-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8928
8929         * include/Makefile.am (install-freestanding-headers): Add
8930         concept_check.h and move.h to the installed headers.
8931         * include/Makefile.in: Regenerated.
8932         * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
8933         freestanding implementations.
8934         * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
8935         that this macro has no effect for freestanding implementations.
8936         * doc/html/manual/using_macros.html: Likewise.
8937
8938 2016-02-24  Jonathan Wakely  <jwakely@redhat.com>
8939
8940         PR libstdc++/69939
8941         * include/experimental/tuple (__apply_impl): Qualify get and forward.
8942
8943 2016-02-23  Jonathan Wakely  <jwakely@redhat.com>
8944
8945         * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
8946         * doc/html/*: Regenerate.
8947
8948         PR libstdc++/69893
8949         * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
8950         exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
8951         llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
8952         nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
8953         trunc) [__cplusplus >= 201103L]: Import from namespace std.
8954         (fabs) [__cplusplus < 201103L]: Import from namespace std.
8955         * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
8956         Likewise.
8957         * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
8958         namespace before including TR1 headers.
8959         * testsuite/tr1/headers/c++200x/math.cc: New test.
8960
8961 2016-02-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8962
8963         PR libstdc++/69881
8964         * include/c_global/cstdarg: Undefine __need___va_list.
8965         * include/c_global/cstddef: Undefine all kinds of __need_*.
8966
8967 2016-02-16  Tim Shen  <timshen@google.com>
8968
8969         PR libstdc++/69794
8970         * include/bits/regex_scanner.h: Add different special character
8971         sets for grep and egrep regex.
8972         * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
8973         * testsuite/28_regex/regression.cc: Add new testcase.
8974
8975 2016-02-08  Jonathan Wakely  <jwakely@redhat.com>
8976
8977         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
8978         added 'constexpr' in previous commit.
8979         * configure: Regenerate.
8980
8981         PR libstdc++/48891
8982         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
8983         checks for all targets except *-*-solaris2.* and ensure we find the
8984         libc math.h header not our own.
8985         * configure: Regenerate.
8986
8987 2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
8988
8989         * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
8990         New file.  Copied over from s390-linux-gnu.
8991
8992 2016-02-04  Jonathan Wakely  <jwakely@redhat.com>
8993
8994         PR libstdc++/69626
8995         * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
8996         with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
8997         * config.h.in: Regenerate.
8998         * configure: Regenerate.
8999         * testsuite/21_strings/c_strings/char/69626.cc: New.
9000
9001         * doc/html/index.html: Regenerate.
9002
9003         * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
9004         * doc/xml/manual/spine.xml: Update copyright years and author blurb.
9005         * doc/html/*: Regenerate.
9006
9007 2016-02-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
9008
9009         PR libstdc++/69581
9010         * include/c_compatibility/math.h: Move header guards.
9011         * include/c_compatibility/stdlib.h: Likewise.
9012
9013 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
9014
9015         PR libstdc++/69506
9016         * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9017
9018 2016-01-28  John David Anglin  <danglin@gcc.gnu.org>
9019
9020         PR libstdc++/69450
9021         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
9022         isinf and isnan functions into two independent checks.  Check on hpux.
9023         * config.h.in: Regenerate.
9024         * configure: Regenerate.
9025         * include/c_global/cmath (isinf(double), isnan(double)): Use
9026         _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
9027         respectively.
9028
9029 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
9030
9031         * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
9032
9033 2016-01-27  Jonathan Wakely  <jwakely@redhat.com>
9034
9035         PR libstdc++/69295
9036         * testsuite/ext/special_functions/hyperg/check_value.cc: Use
9037         -ffp-contract=off, and -ffloat-store to disable excess precision.
9038         * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
9039         -ffp-contract=off.
9040
9041 2016-01-26  Jonathan Wakely  <jwakely@redhat.com>
9042
9043         PR libstdc++/69478
9044         * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
9045         random_access_iterator_tag>): Check is_move_assignable when moving.
9046         (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
9047         Likewise.
9048         * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
9049         * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
9050         * testsuite/25_algorithms/move/69478.cc: New.
9051         * testsuite/25_algorithms/move_backward/69478.cc: new.
9052
9053 2016-01-26  Andris Pavenis  <andris.pavenis@iki.fi>
9054
9055         * include/c_compatibility/stdlib.h: Include wide character related
9056         definitions only when they are available in cstdlib.
9057
9058 2016-01-25  Jonathan Wakely  <jwakely@redhat.com>
9059
9060         PR libstdc++/69464
9061         * include/Makefile.am: Add new header.
9062         * include/Makefile.in: Regenerate.
9063         * include/bits/random.h (uniform_int_distribution): Move to
9064         bits/uniform_int_dist.h.
9065         * include/bits/random.tcc (uniform_int_distribution::operator(),
9066         uniform_int_distribution::__generate_impl): Likewise.
9067         * include/bits/uniform_int_dist.h: New header.
9068         * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
9069         <bits/uniform_int_dist.h> instead of <random>.
9070         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
9071         move_iterators/1.cc: Include correct header for uninitialized_copy.
9072         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
9073         move_iterators/1.cc: Likewise.
9074         * testsuite/25_algorithms/nth_element/58800.cc: Include correct
9075         header for vector.
9076         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
9077
9078 2016-01-23  John David Anglin  <danglin@gcc.gnu.org>
9079
9080         PR libstdc++/69446
9081         * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9082
9083 2016-01-22  Edward Smith-Rowland  <3dw4rd@verizon.net>
9084
9085         TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
9086         * include/c_compatibility/math.h: Import the TR29124 functions
9087         into the global namespace.
9088         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
9089         xfail and make compile-only.
9090         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
9091         * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
9092         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
9093         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
9094         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
9095         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
9096         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
9097         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
9098         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
9099         * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
9100         * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
9101         * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
9102         * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
9103         * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
9104         * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
9105         * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
9106         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
9107         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
9108         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
9109         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
9110
9111 2016-01-22  Jonathan Wakely  <jwakely@redhat.com>
9112
9113         PR libstdc++/69116
9114         * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
9115         define result_type for types which can be safely used with valarrays.
9116         * testsuite/26_numerics/valarray/69116.cc: New.
9117
9118         PR libstdc++/69413
9119         * config/os/gnu-linux/os_defines.h: Define
9120         _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
9121         * include/c_global/cmath (isinf, isnan): Check it.
9122         * doc/xml/manual/internals.xml: Document it.
9123         * doc/html/*: Regenerate.
9124
9125 2016-01-21  Jonathan Wakely  <jwakely@redhat.com>
9126
9127         PR libstdc++/69406
9128         * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
9129         * include/ext/type_traits.h: Likewise.
9130         * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
9131         for presence of C headers.
9132         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
9133         dg-error line number.
9134         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
9135         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
9136         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
9137
9138 2016-01-20  Torvald Riegel  <triegel@redhat.com>
9139
9140         PR libstdc++/69310
9141         * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9142
9143 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
9144
9145         PR libstdc++/60401
9146         * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
9147         copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
9148         lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
9149         nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
9150         tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
9151         Add using declarations.
9152         * testsuite/26_numerics/headers/cmath/60401.cc: New.
9153
9154         PR libstdc++/69386
9155         * include/c_global/ccomplex: Ensure C++ language linkage.
9156         * include/c_global/cmath: Likewise.
9157         * include/c_global/cstdlib: Likewise.
9158         * include/c_global/ctgmath: Likewise.
9159         * testsuite/17_intro/headers/c++2011/linkage.cc: New.
9160
9161 2016-01-19  Jonathan Wakely  <jwakely@redhat.com>
9162
9163         PR libstdc++/14608
9164         PR libstdc++/60401
9165         * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
9166         --enable-cheaders=c_global configs.
9167         * include/Makefile.in: Regenerate.
9168         * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
9169         test and allow inclusion from C files.
9170         * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
9171         (at_quick_exit, quick_exit): Add using directives.
9172         * include/c_global/cmath: Use #include_next for math.h.
9173         * include/c_global/cstdlib: Use #include_next for stdlib.h.
9174         * testsuite/26_numerics/headers/cmath/14608.cc: New.
9175         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
9176         Remove xfail for most targets.
9177         * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
9178
9179 2016-01-18  Torvald Riegel  <triegel@redhat.com>
9180
9181         * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
9182         (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
9183         and move after its definition.
9184         * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
9185         * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
9186         __GXX_WEAK__, and only provide transactional clones if
9187         _GLIBCXX_USE_WEAK_REF is true.  Don't provide stubs of libitm
9188         functions.
9189
9190 2016-01-18  Jonathan Wakely  <jwakely@redhat.com>
9191
9192         PR libstdc++/60637
9193         * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
9194
9195         PR libstdc++/69243
9196         * include/std/functional (_Function_base::_M_not_empty_function):
9197         Change overloads for pointers to take arguments by value.
9198         * testsuite/20_util/function/cons/57465.cc: Add tests for
9199         pointer-to-member cases.
9200
9201         PR libstdc++/69340
9202         * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
9203         Use macros for exception handling and fix unused parameter warning.
9204
9205 2016-01-17  John David Anglin  <danglin@gcc.gnu.org>
9206
9207         PR libstdc++/68734
9208         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
9209
9210 2016-01-17  Torvald Riegel  <triegel@redhat.com>
9211
9212         * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
9213
9214 2016-01-16  H.J. Lu  <hongjiu.lu@intel.com>
9215
9216         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
9217         __int128 symbols.
9218
9219 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
9220
9221         PR libstdc++/69293
9222         * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
9223         static assertion that type is constructible from the arguments.
9224         * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
9225         * testsuite/20_util/uses_allocator/69293_neg.cc: New.
9226         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
9227
9228         PR libstdc++/69294
9229         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9230         and isnan on AIX. Quote variables.
9231         * configure: Regenerate.
9232
9233 2016-01-15  Torvald Riegel  <triegel@redhat.com>
9234
9235         * include/bits/basic_string.h (basic_string): Declare friends.
9236         * include/bits/c++config (_GLIBCXX_TXN_SAFE,
9237         _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
9238         * include/std/stdexcept (logic_error, domain_error, invalid_argument,
9239         length_error, out_of_range, runtime_error, range_error,
9240         underflow_error, overflow_error): Declare members as transaction-safe.
9241         (logic_error, runtime_error): Declare friend functions.
9242         * libsupc++/exception (exception, bad_exception): Declare members as
9243         transaction-safe.
9244         * src/c++11/cow-stdexcept.cc: Define transactional clones for the
9245         transaction-safe members of exceptions and helper functions.
9246         * libsupc++/eh_exception.cc: Adjust and define transactional clones.
9247         * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
9248         (CXXABI_1.3.10): New.
9249         * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
9250         (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
9251         * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
9252         * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
9253         * include/Makefile.in: Regenerate.
9254         * config.h.in: Regenerate.
9255         * configure: Regenerate.
9256         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
9257
9258 2016-01-15  Steve Ellcey  <sellcey@imgtec.com>
9259
9260         * include/ext/random.tcc: Use __builtin_isfinite instead of
9261         std::isfinite.
9262
9263 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
9264
9265         * include/bits/std_mutex.h: Fix Doxygen @file name.
9266
9267 2016-01-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
9268             Jonathan Wakely  <jwakely@redhat.com>
9269             Florian Goth <CaptainSifff@gmx.de>
9270
9271         Implement TR29124 C++ special Math Functions.
9272         * include/Makefile.am: Add new headers.
9273         * include/Makefile.in: Regenerate.
9274         * include/bits/specfun.h: New.
9275         * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
9276         * include/tr1/bessel_function.tcc: Ditto.
9277         * include/tr1/beta_function.tcc: Ditto.
9278         * include/tr1/cmath: Ditto.
9279         * include/tr1/ell_integral.tcc: Ditto.
9280         * include/tr1/exp_integral.tcc: Ditto.
9281         * include/tr1/gamma.tcc: Ditto.
9282         * include/tr1/hypergeometric.tcc: Ditto.
9283         * include/tr1/legendre_function.tcc: Ditto.
9284         * include/tr1/modified_bessel_func.tcc: Ditto.
9285         * include/tr1/poly_hermite.tcc: Ditto.
9286         * include/tr1/poly_laguerre.tcc: Ditto.
9287         * include/tr1/riemann_zeta.tcc: Ditto.
9288         * include/tr1/special_function_util.h: Ditto.
9289         * testsuite/ext/special_functions/conf_hyperg: New.
9290         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
9291         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
9292         * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
9293         * testsuite/ext/special_functions/hyperg: New.
9294         * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
9295         * testsuite/ext/special_functions/hyperg/check_value.cc: New.
9296         * testsuite/ext/special_functions/hyperg/compile.cc: New.
9297         * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
9298         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
9299         * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
9300         * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
9301         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
9302         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
9303         * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
9304         * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
9305         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
9306         * testsuite/special_functions/03_beta/check_nan.cc: New.
9307         * testsuite/special_functions/03_beta/check_value.cc: New.
9308         * testsuite/special_functions/03_beta/compile.cc: New.
9309         * testsuite/special_functions/03_beta/compile_2.cc: New.
9310         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
9311         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
9312         * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
9313         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
9314         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
9315         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
9316         * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
9317         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
9318         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
9319         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
9320         * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
9321         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
9322         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
9323         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
9324         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
9325         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
9326         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
9327         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
9328         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
9329         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
9330         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
9331         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
9332         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
9333         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
9334         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
9335         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
9336         * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
9337         * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
9338         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
9339         * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
9340         * testsuite/special_functions/11_ellint_1/check_value.cc: New.
9341         * testsuite/special_functions/11_ellint_1/compile.cc: New.
9342         * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
9343         * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
9344         * testsuite/special_functions/12_ellint_2/check_value.cc: New.
9345         * testsuite/special_functions/12_ellint_2/compile.cc: New.
9346         * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
9347         * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
9348         * testsuite/special_functions/13_ellint_3/check_value.cc: New.
9349         * testsuite/special_functions/13_ellint_3/compile.cc: New.
9350         * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
9351         * testsuite/special_functions/14_expint/check_nan.cc: New.
9352         * testsuite/special_functions/14_expint/check_value.cc: New.
9353         * testsuite/special_functions/14_expint/compile.cc: New.
9354         * testsuite/special_functions/14_expint/compile_2.cc: New.
9355         * testsuite/special_functions/15_hermite/check_nan.cc: New.
9356         * testsuite/special_functions/15_hermite/check_value.cc: New.
9357         * testsuite/special_functions/15_hermite/compile.cc: New.
9358         * testsuite/special_functions/15_hermite/compile_2.cc: New.
9359         * testsuite/special_functions/16_laguerre/check_nan.cc: New.
9360         * testsuite/special_functions/16_laguerre/check_value.cc: New.
9361         * testsuite/special_functions/16_laguerre/compile.cc: New.
9362         * testsuite/special_functions/16_laguerre/compile_2.cc: New.
9363         * testsuite/special_functions/17_legendre/check_nan.cc: New.
9364         * testsuite/special_functions/17_legendre/check_value.cc: New.
9365         * testsuite/special_functions/17_legendre/compile.cc: New.
9366         * testsuite/special_functions/17_legendre/compile_2.cc: New.
9367         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
9368         * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
9369         * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
9370         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
9371         * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
9372         * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
9373         * testsuite/special_functions/19_sph_bessel/compile.cc: New.
9374         * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
9375         * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
9376         * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
9377         * testsuite/special_functions/20_sph_legendre/compile.cc: New.
9378         * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
9379         * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
9380         * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
9381         * testsuite/special_functions/21_sph_neumann/compile.cc: New.
9382         * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
9383         * testsuite/util/specfun_testcase.h: New.
9384         * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
9385         * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
9386         * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
9387         * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
9388         * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
9389         * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
9390         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
9391
9392 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
9393
9394         PR libstdc++/48891
9395         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9396         and isnan functions.
9397         * config.h.in: Regenerate.
9398         * configure: Regenerate.
9399         * include/c_global/cmath (isinf(double), isnan(double))
9400         [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
9401         * testsuite/26_numerics/headers/cmath/48891.cc: New.
9402
9403 2016-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9404
9405         PR libstdc++/66006
9406         * configure.host (abi_baseline_pair): Use separate baseline for
9407         Solaris 11+ and Solaris 10 with gld.
9408         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
9409         * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
9410         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
9411
9412 2016-01-12  Daniel Kruegler  <daniel.kruegler@gmail.com>
9413
9414         PR libstdc++/68877
9415         * include/std/type_traits: Following N4511, reimplement __is_swappable
9416         and __is_nothrow_swappable. Move __is_swappable to namespace std,
9417         adjust callers. Use __is_nothrow_swappable in swap.
9418         * include/bits/move.h: Use __is_nothrow_swappable in swap.
9419         * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
9420         __is_swappable related tests.
9421         * testsuite/20_util/is_swappable/value.cc: New.
9422         * testsuite/20_util/is_swappable/requirements/
9423         explicit_instantiation.cc: New.
9424         * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
9425         * testsuite/25_algorithms/swap/68877.cc: New.
9426
9427 2016-01-12  Jonathan Wakely  <jwakely@redhat.com>
9428
9429         * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
9430
9431         PR libstdc++/69005
9432         PR libstdc++/69222
9433         * include/std/functional (function::_Invoke): Remove, use result_of.
9434         (function::_Callable): Replace alias template with class template
9435         and use partial specialization instead of _NotSelf alias template.
9436         (function(_Functor)): Add "not self" constraint so that _Callable is
9437         not used while type is incomplete.
9438         * testsuite/20_util/function/69222.cc: New.
9439
9440 2016-01-11  Jonathan Wakely  <jwakely@redhat.com>
9441
9442         PR libstdc++/60976
9443         * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
9444         Define partial specialization.
9445         * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
9446         destroy members to std::allocator explicit specialization.
9447
9448 2016-01-08  Jonathan Wakely  <jwakely@redhat.com>
9449
9450         * testsuite/26_numerics/headers/cmath/
9451         c99_classification_macros_c++.cc: Rename to ...
9452         * testsuite/26_numerics/headers/cmath/
9453         c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
9454         * testsuite/26_numerics/headers/cmath/
9455         c99_classification_macros_c++0x.cc: Rename to ...
9456         * testsuite/26_numerics/headers/cmath/
9457         c99_classification_macros_c++11.cc: Here.
9458
9459         PR libstdc++/69190
9460         * include/bits/uses_allocator.h: Add missing include.
9461
9462 2016-01-07  Jonathan Wakely  <jwakely@redhat.com>
9463
9464         PR libstdc++/69105
9465         PR libstdc++/69106
9466         PR libstdc++/69114
9467         * include/bits/stl_iterator.h (back_insert_iterator,
9468         front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
9469         * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
9470         * include/std/future (__future::base::_State_baseV2::__setter):
9471         Likewise.
9472         * include/std/scoped_allocator (__outermost): Likewise.
9473         * testsuite/20_util/scoped_allocator/69114.cc: New.
9474         * testsuite/20_util/uses_allocator/69114.cc: New.
9475         * testsuite/30_threads/promise/69106.cc: New.
9476
9477 2016-01-06  Jonathan Wakely  <jwakely@redhat.com>
9478
9479         PR libstdc++/69092
9480         * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
9481         Remove _GLIBCXX_NOEXCEPT.
9482         testsuite/21_strings/basic_string/cons/char/69092.cc: New.
9483
9484         * include/Makefile.am: Adjust.
9485         * include/Makefile.in: Regenerate.
9486         * include/bits/mutex.h: Rename to bits/std_mutex.h.
9487         * include/std/condition_variable: Adjust include.
9488         * include/std/mutex: Likewise.
9489
9490 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
9491
9492         Update copyright years.
9493 \f
9494 Copyright (C) 2016 Free Software Foundation, Inc.
9495
9496 Copying and distribution of this file, with or without modification,
9497 are permitted in any medium without royalty provided the copyright
9498 notice and this notice are preserved.