]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
variant (std::get, operator==): Implement constexpr comparison and get<>.
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
9189f559
TS
12016-12-07 Tim Shen <timshen@google.com>
2
3 * include/std/variant (std::get, operator==): Implement constexpr
4 comparison and get<>.
5 * testsuite/20_util/variant/compile.cc: Tests.
6
44f46885
TS
72016-12-07 Tim Shen <timshen@google.com>
8
9 * include/std/variant (__erased_use_alloc_ctor,
10 _Variant_base::_Variant_base, variant::variant): Remove uses-allocator
11 related functions.
12 * testsuite/20_util/variant/compile.cc: Remove related tests.
13 * testsuite/20_util/variant/run.cc: Remove related tests.
14
b6f684ae
AK
152016-12-06 Aditya Kumar <hiraditya@msn.com>
16
17 * src/c++11/shared_ptr.cc (_Sp_locker::_Sp_locker(const void* p)): Add
18 noexcept on constructor.
19 (_Sp_locker::_Sp_locker(const void* p1, const void* p2)): Same.
20
39a03251
JW
212016-12-06 Jonathan Wakely <jwakely@redhat.com>
22
23 * include/bits/basic_string.h (basic_string::find, basic_string::rfind)
24 (basic_string::find_first_of, basic_string::find_last_of)
25 (basic_string::find_first_not_of, basic_string::find_last_not_of):
26 Make all overloads noexcept.
27 (basic_string::compare(const _CharT*)): Make noexcept.
28
f9b6b929
JDA
292016-12-03 John David Anglin <danglin@gcc.gnu.org>
30
31 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Regenerate.
32
0269650d
DE
332016-12-01 David Edelsohn <dje.gcc@gmail.com>
34
35 * testsuite/26_numerics/headers/cmath/hypot.cc: XFAIL on AIX.
36
a2863bde
VV
372016-12-01 Ville Voutilainen <ville.voutilainen@gmail.com>
38
39 Implement LWG 2766,
40 Swapping non-swappable types and LWG 2749,
41 swappable traits for variants.
42 * include/bits/move.h (swap(_Tp&, _Tp&)): Constrain
43 with __is_tuple_like.
44 * include/bits/stl_pair.h (swap(pair<_T1, _T2>&, pair<_T1, _T2>&)):
45 Add a deleted overload.
46 * include/bits/unique_ptr.h
47 (swap(unique_ptr<_Tp, _Dp>&, unique_ptr<_Tp, _Dp>&)): Likewise.
48 * include/std/array
49 (swap(array<_Tp, _Nm>&, array<_Tp, _Nm>&)): Likewise.
50 * include/std/optional
51 (swap(optional<_Tp>&, optional<_Tp>&)): Likewise.
52 * include/std/tuple (__is_tuple_like_impl, __is_tuple_like):
53 Move to type_traits.
54 (swap(tuple<_Elements...>&, tuple<_Elements...>&)): Add a deleted
55 overload.
56 * include/std/type_traits (__is_tuple_like_impl, __is_tuple_like):
57 New.
58 (swap(_Tp&, _Tp&)): Constrain with __is_tuple_like.
59 * include/std/utility (__is_tuple_like_impl): Move to type_traits.
60 * include/std/variant
61 (swap(variant<_Types...>&, variant<_Types...>&)):
62 Add a deleted overload.
63 * testsuite/20_util/optional/swap/2.cc: Add tests for disabled
64 swaps.
65 * testsuite/20_util/pair/swap_cxx17.cc: New.
66 * testsuite/20_util/tuple/swap_cxx17.cc: Likewise.
67 * testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc:
68 Likewise.
69 * testsuite/20_util/variant/compile.cc: Add tests for disabled
70 swaps.
71 * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
72 New.
73 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
74 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
75 Likewise.
76
d9b2d86c
VV
772016-12-01 Ville Voutilainen <ville.voutilainen@gmail.com>
78
79 The convertible_to traits need to use a variadic catch-all for the
80 false-cases.
81 * include/std/istream (__is_convertible_to_basic_istream):
82 Change the parameter of the false-case of __check to a variadic.
83 * include/std/ostream (__is_convertible_to_basic_ostream):
84 Likewise.
85
77e6870d
BE
862016-12-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
87
88 * crossconfig.m4 (*-linux*): Add link-check for memalign.
89 * configure: Regenerated.
90
912016-12-01 Tim Shen <timshen@google.com>
974afa58
TS
92
93 PR libstdc++/71500
94 * include/bits/regex.h (basic_regex::basic_regex): Use ECMAScript
95 when the syntax is not specified.
96 * include/bits/regex_compiler.h (_RegexTranslator,
97 _RegexTranslatorBase): Partially support icase in ranges.
98 * include/bits/regex_compiler.tcc (_BracketMatcher::_M_apply):
99 Refactor _M_apply to make the control flow easier to follow, and
100 call _M_translator._M_match_range as added previously.
101 * testsuite/28_regex/traits/char/icase.cc: Add new tests.
102 * testsuite/28_regex/traits/char/user_defined.cc: Add new tests.
103
3ba9051e
VV
1042016-11-30 Ville Voutilainen <ville.voutilainen@gmail.com>
105
106 Fix testsuite failures caused by the patch implementing LWG 2534.
107 * include/std/istream (__is_convertible_to_basic_istream):
108 Change the return types of __check, introduce istream_type.
109 (operator>>(_Istream&&, _Tp&&)):
110 Use __is_convertible_to_basic_istream::istream_type as the return type.
111 * include/std/ostream (__is_convertible_to_basic_ostream):
112 Change the return types of __check, introduce ostream_type.
113 (operator>>(_Ostream&&, _Tp&&)):
114 Use __is_convertible_to_basic_ostream::ostream_type as the return type.
115
88811a97
TS
1162016-11-30 Tim Shen <timshen@google.com>
117
118 * include/bits/shared_ptr_base.h
119 (__shared_ptr_access<T, L, true, false>::operator*()): Fix assertion.
120
6d0e8a55
DE
1212016-11-30 David Edelsohn <dje.gcc@gmail.com>
122
123 * testsuite/18_support/50594.cc: XFAIL on AIX.
124 * testsuite/ext/mt_allocator/check_new.cc: Same.
125 * testsuite/ext/pool_allocator/check_new.cc: Same.
126 * testsuite/27_io/ios_base/storage/11584.cc: Same.
127
a7da4881
VV
1282016-11-30 Ville Voutilainen <ville.voutilainen@gmail.com>
129
130 Implement LWG 2534, Constrain rvalue stream operators.
131 * include/std/istream (__is_convertible_to_basic_istream): New.
132 (__is_extractable): Likewise.
133 (operator>>(basic_istream<_CharT, _Traits>&&, _Tp&&)):
134 Turn the stream parameter into a template parameter
135 and constrain.
136 * include/std/ostream (__is_convertible_to_basic_ostream): New.
137 (__is_insertable): Likewise.
138 (operator<<(basic_ostream<_CharT, _Traits>&&, const _Tp&)):
139 Turn the stream parameter into a template parameter
140 and constrain.
141 * testsuite/27_io/basic_istream/extractors_other/char/4.cc: New.
142 * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc:
143 Likewise.
144 * testsuite/27_io/basic_ostream/inserters_other/char/6.cc: Likewise.
145 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc: Likewise.
146
dfad822a
CL
1472016-11-30 Christophe Lyon <christophe.lyon@linaro.org>
148
149 * testsuite/experimental/type_erased_allocator/2.cc: Add
150 dg-require-thread-fence.
151
57e27acf
DE
1522016-11-29 David Edelsohn <dje.gcc@gmail.com>
153
154 PR libstdc++/68838
155 * testsuite/lib/libstdc++.exp (DEFAULT_CXXFLAGS): Add -Wl,-bmaxdata on
156 AIX.
157 * testsuite/23_containers/vector/profile/vector.cc: Remove
158 dg-additional-options.
159
3203ed5f
TS
1602016-11-26 Tim Shen <timshen@google.com>
161
162 PR libstdc++/78441
163 * include/std/variant: Propagate cv qualifications to types returned
164 by variant_alternative.
165 * testsuite/20_util/variant/compile.cc: Tests.
166
f6cdfe82
FM
1672016-11-23 Felix Morgner <felix.morgner@gmail.com>
168 Jonathan Wakely <jwakely@redhat.com>
169
75631692 170 PR libstdc++/78490
f6cdfe82
FM
171 * include/experimental/propagate_const (propagate_const::operator=):
172 Add missing return statements.
173 * testsuite/experimental/propagate_const/assignment/move_neg.cc:
174 Adjust dg-error line numbers.
175 * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
176
b2b0acbe
UB
1772016-11-22 Uros Bizjak <ubizjak@gmail.com>
178
179 * testsuite/Makefile.am
180 (check-DEJAGNU $(check_DEJAGNU_normal_targets)): Fix detection
181 of -j argument.
182 * testsuite/Makefile.in: Regenereate.
183
dba814af
JW
1842016-11-22 Jonathan Wakely <jwakely@redhat.com>
185
186 PR libstdc++/78465
187 * testsuite/29_atomics/headers/atomic/macros.cc: Replace runtime tests
188 with preprocessor conditions.
189
3115f94f
RO
1902016-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
191
192 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Update comments.
193 (__CORRECT_ISO_CPP11_MATH_H_PROTO): Rename to ...
194 (__CORRECT_ISO_CPP11_MATH_H_PROTO_FP): ... this.
195 Add test for C++11 <math.h> integral overloads.
196 * configure: Regenerate.
197 * config.h.in: Regenerate.
198
199 * include/c_global/cmath [__cplusplus >= 201103L]: Reflect
200 __CORRECT_ISO_CPP11_MATH_H_PROTO to
201 __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
202 * include/c_global/cmath [_GLIBCXX_USE_C99_MATH &&
203 !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC && __cplusplus >= 201103L]
204 (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO_INT.
205 (std::isfinite): Likewise.
206 (std::isinf): Likewise.
207 (std::isnan): Likewise.
208 (std::isnormal): Likewise.
209 (std::signbit): Likewise.
210 (std::isgreater): Likewise.
211 (std::isgreaterequal): Likewise.
212 (std::isless): Likewise.
213 (std::islessequal): Likewise.
214 (std::islessgreater): Likewise.
215 (std::isunordered): Likewise.
216 [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]
217 (std::acosh): Likewise.
218 (std::asinh): Likewise.
219 (std::atanh): Likewise.
220 (std::cbrt): Likewise.
221 (std::copysign): Likewise.
222 (std::erf): Likewise.
223 (std::erfc): Likewise.
224 (std::exp2): Likewise.
225 (std::expm1): Likewise.
226 (std::fdim): Likewise.
227 (std::fma): Likewise.
228 (std::fmax): Likewise.
229 (std::fmin): Likewise.
230 (std::hypot): Likewise.
231 (std::ilogb): Likewise.
232 (std::lgamma): Likewise.
233 (std::llrint): Likewise.
234 (std::llround): Likewise.
235 (std::log1p): Likewise.
236 (std::log2): Likewise.
237 (std::logb): Likewise.
238 (std::lrint): Likewise.
239 (std::lround): Likewise.
240 (std::nearbyint): Likewise.
241 (std::nextafter): Likewise.
242 (std::nexttoward): Likewise.
243 (std::remainder): Likewise.
244 (std::remquo): Likewise.
245 (std::rint): Likewise.
246 (std::round): Likewise.
247 (std::scalbln): Likewise.
248 (std::scalbn): Likewise.
249 (std::tgamma): Likewise.
250 (std::trunc): Likewise.
251 * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1 && __cplusplus >=
252 201103L]: Reflect __CORRECT_ISO_CPP11_MATH_H_PROTO to
253 __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
254
6f959acc
JW
2552016-11-15 Jonathan Wakely <jwakely@redhat.com>
256
27b3b3f4
JW
257 PR libstdc++/59406
258 * include/bits/functional_hash.h: Add comment noting difference from
259 FNV-1a.
260 * include/tr1/functional_hash.h: Likewise.
261 * libsupc++/hash_bytes.cc: Likewise.
262
3663671a
JW
263 * include/bits/basic_string.h: Reuse _If_sv alias template for new
264 constructor.
265
6ae2ae3b
JW
266 * doc/xml/manual/intro.xml: Document LWG 2770 status. Remove entries
267 for 2742 and 2748.
268 * doc/html/*: Regenerate.
269 * include/std/utility (__tuple_size_cv_impl): New helper to safely
270 detect tuple_size<T>::value, as per LWG 2770.
271 (tuple_size<cv T>): Adjust partial specializations to derive from
272 __tuple_size_cv_impl.
273 * testsuite/20_util/tuple/cv_tuple_size.cc: Test SFINAE-friendliness.
274
6f959acc
JW
275 * testsuite/libstdc++-prettyprinters/cxx17.cc: Adjust test for
276 variant<T&>.
277
7b277e8b
TS
2782016-11-15 Tim Shen <timshen@google.com>
279
6f959acc
JW
280 * include/std/variant: Remove variant<T&>, variant<void>, variant<>
281 support to rebase on the post-Issaquah design.
7b277e8b
TS
282 * testsuite/20_util/variant/compile.cc: Likewise.
283
84c1b9d3
MK
2842016-11-15 Matthias Klose <doko@ubuntu.com>
285
286 * configure: Regenerate.
287
8b99f005
JW
2882016-11-15 Jonathan Wakely <jwakely@redhat.com>
289
c7cbb4da
JW
290 * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Fix license
291 text.
292 * testsuite/20_util/any/assign/emplace.cc: Likewise.
293 * testsuite/20_util/any/cons/in_place.cc: Likewise.
294 * testsuite/20_util/any/make_any.cc: Likewise.
295 * testsuite/20_util/any/requirements.cc: Likewise.
296 * testsuite/20_util/any/typedefs.cc: Likewise.
297 * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
298 * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
299 Likewise.
300 * testsuite/20_util/in_place/requirements.cc: Likewise.
301 * testsuite/20_util/optional/77288.cc: Likewise.
302 * testsuite/20_util/optional/assignment/1.cc: Likewise.
303 * testsuite/20_util/optional/assignment/2.cc: Likewise.
304 * testsuite/20_util/optional/assignment/3.cc: Likewise.
305 * testsuite/20_util/optional/assignment/4.cc: Likewise.
306 * testsuite/20_util/optional/assignment/5.cc: Likewise.
307 * testsuite/20_util/optional/assignment/6.cc: Likewise.
308 * testsuite/20_util/optional/assignment/7.cc: Likewise.
309 * testsuite/20_util/optional/cons/77727.cc: Likewise.
310 * testsuite/20_util/optional/cons/move.cc: Likewise.
311 * testsuite/20_util/optional/cons/value.cc: Likewise.
312 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
313 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
314 * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
315 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
316 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
317 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
318 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
319 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
320 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
321 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
322 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
323 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
324 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
325 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
326 * testsuite/20_util/optional/hash.cc: Likewise.
327 * testsuite/20_util/optional/make_optional.cc: Likewise.
328 * testsuite/20_util/optional/observers/1.cc: Likewise.
329 * testsuite/20_util/optional/observers/2.cc: Likewise.
330 * testsuite/20_util/optional/observers/3.cc: Likewise.
331 * testsuite/20_util/optional/observers/4.cc: Likewise.
332 * testsuite/20_util/optional/observers/5.cc: Likewise.
333 * testsuite/20_util/optional/observers/6.cc: Likewise.
334 * testsuite/20_util/optional/relops/1.cc: Likewise.
335 * testsuite/20_util/optional/relops/2.cc: Likewise.
336 * testsuite/20_util/optional/relops/3.cc: Likewise.
337 * testsuite/20_util/optional/relops/4.cc: Likewise.
338 * testsuite/20_util/optional/relops/5.cc: Likewise.
339 * testsuite/20_util/optional/relops/6.cc: Likewise.
340 * testsuite/20_util/optional/requirements.cc: Likewise.
341 * testsuite/20_util/optional/swap/1.cc: Likewise.
342 * testsuite/20_util/optional/typedefs.cc: Likewise.
343 * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
344 * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
345 * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
346 Likewise.
347 * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
348 * testsuite/20_util/variant/hash.cc: Likewise.
349 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
350 * testsuite/experimental/any/typedefs.cc: Likewise.
351 * testsuite/experimental/array/make_array.cc: Likewise.
352 * testsuite/experimental/array/neg.cc: Likewise.
353 * testsuite/experimental/chrono/value.cc: Likewise.
354 * testsuite/experimental/deque/erasure.cc: Likewise.
355 * testsuite/experimental/forward_list/erasure.cc: Likewise.
356 * testsuite/experimental/list/erasure.cc: Likewise.
357 * testsuite/experimental/map/erasure.cc: Likewise.
358 * testsuite/experimental/memory/observer_ptr/assignment/assign.cc:
359 Likewise.
360 * testsuite/experimental/memory/observer_ptr/cons/cons.cc: Likewise.
361 * testsuite/experimental/memory/observer_ptr/hash/hash.cc: Likewise.
362 * testsuite/experimental/memory/observer_ptr/make_observer.cc:
363 Likewise.
364 * testsuite/experimental/memory/observer_ptr/relops/relops.cc:
365 Likewise.
366 * testsuite/experimental/memory/observer_ptr/requirements.cc: Likewise.
367 * testsuite/experimental/memory/observer_ptr/swap/swap.cc: Likewise.
368 * testsuite/experimental/memory/observer_ptr/typedefs.cc: Likewise.
369 * testsuite/experimental/optional/77288.cc: Likewise.
370 * testsuite/experimental/optional/assignment/1.cc: Likewise.
371 * testsuite/experimental/optional/assignment/2.cc: Likewise.
372 * testsuite/experimental/optional/assignment/3.cc: Likewise.
373 * testsuite/experimental/optional/assignment/4.cc: Likewise.
374 * testsuite/experimental/optional/assignment/5.cc: Likewise.
375 * testsuite/experimental/optional/assignment/6.cc: Likewise.
376 * testsuite/experimental/optional/cons/77727.cc: Likewise.
377 * testsuite/experimental/optional/cons/move.cc: Likewise.
378 * testsuite/experimental/optional/cons/value.cc: Likewise.
379 * testsuite/experimental/optional/cons/value_neg.cc: Likewise.
380 * testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
381 * testsuite/experimental/optional/constexpr/make_optional.cc: Likewise.
382 * testsuite/experimental/optional/constexpr/observers/1.cc: Likewise.
383 * testsuite/experimental/optional/constexpr/observers/2.cc: Likewise.
384 * testsuite/experimental/optional/constexpr/observers/3.cc: Likewise.
385 * testsuite/experimental/optional/constexpr/observers/4.cc: Likewise.
386 * testsuite/experimental/optional/constexpr/observers/5.cc: Likewise.
387 * testsuite/experimental/optional/constexpr/relops/1.cc: Likewise.
388 * testsuite/experimental/optional/constexpr/relops/2.cc: Likewise.
389 * testsuite/experimental/optional/constexpr/relops/3.cc: Likewise.
390 * testsuite/experimental/optional/constexpr/relops/4.cc: Likewise.
391 * testsuite/experimental/optional/constexpr/relops/5.cc: Likewise.
392 * testsuite/experimental/optional/constexpr/relops/6.cc: Likewise.
393 * testsuite/experimental/optional/make_optional.cc: Likewise.
394 * testsuite/experimental/optional/observers/1.cc: Likewise.
395 * testsuite/experimental/optional/observers/2.cc: Likewise.
396 * testsuite/experimental/optional/observers/3.cc: Likewise.
397 * testsuite/experimental/optional/observers/4.cc: Likewise.
398 * testsuite/experimental/optional/observers/5.cc: Likewise.
399 * testsuite/experimental/optional/relops/1.cc: Likewise.
400 * testsuite/experimental/optional/relops/2.cc: Likewise.
401 * testsuite/experimental/optional/relops/3.cc: Likewise.
402 * testsuite/experimental/optional/relops/4.cc: Likewise.
403 * testsuite/experimental/optional/relops/5.cc: Likewise.
404 * testsuite/experimental/optional/relops/6.cc: Likewise.
405 * testsuite/experimental/optional/requirements.cc: Likewise.
406 * testsuite/experimental/optional/swap/1.cc: Likewise.
407 * testsuite/experimental/optional/typedefs.cc: Likewise.
408 * testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
409 * testsuite/experimental/propagate_const/assignment/move_neg.cc:
410 Likewise.
411 * testsuite/experimental/propagate_const/cons/move.cc: Likewise.
412 * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
413 * testsuite/experimental/propagate_const/hash/1.cc: Likewise.
414 * testsuite/experimental/propagate_const/observers/1.cc: Likewise.
415 * testsuite/experimental/propagate_const/relops/1.cc: Likewise.
416 * testsuite/experimental/propagate_const/requirements1.cc: Likewise.
417 * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
418 * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
419 * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
420 * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
421 * testsuite/experimental/propagate_const/swap/1.cc: Likewise.
422 * testsuite/experimental/propagate_const/typedefs.cc: Likewise.
423 * testsuite/experimental/random/randint.cc: Likewise.
424 * testsuite/experimental/ratio/value.cc: Likewise.
425 * testsuite/experimental/set/erasure.cc: Likewise.
426 * testsuite/experimental/string/erasure.cc: Likewise.
427 * testsuite/experimental/string_view/typedefs.cc: Likewise.
428 * testsuite/experimental/system_error/value.cc: Likewise.
429 * testsuite/experimental/tuple/tuple_size.cc: Likewise.
430 * testsuite/experimental/type_traits/value.cc: Likewise.
431 * testsuite/experimental/unordered_map/erasure.cc: Likewise.
432 * testsuite/experimental/unordered_set/erasure.cc: Likewise.
433 * testsuite/experimental/vector/erasure.cc: Likewise.
434
bf56b0b8
JW
435 * doc/xml/manual/intro.xml: Document LWG 2742 status.
436 * doc/html/*: Regenerate.
437 * include/bits/basic_string.h
438 (basic_string(const T&, size_type, size_type, const Allocator&)): Add
439 constructor for substring of basic_string_view, as per LWG 2742 but
440 with additional constraint to fix ambiguity.
441 * testsuite/21_strings/basic_string/cons/char/9.cc: New test.
442 * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: New test.
443
8b99f005
JW
444 * doc/xml/manual/intro.xml: Document LWG 2748 status.
445 * include/std/optional (optional<T>::swap): Use is_nothrow_swappable_v
446 for exception specification.
447 (swap(optional<T>&, optional<T>&)): Disable when T is not swappable.
448 * testsuite/20_util/optional/swap/2.cc: New test.
449
6964bb3e
VV
4502016-11-14 Ville Voutilainen <ville.voutilainen@gmail.com>
451
452 Implement P0513R0, Poisoning the Hash.
453 * include/bits/functional_hash.h (__poison_hash): New.
454 * include/bits/unique_ptr.h
455 (hash<unique_ptr<_Tp, _Dp>>): Derive from __poison_hash.
456 * include/std/optional (hash<optional<_Tp>>): Likewise.
457 * include/std/variant (hash<variant<_Types...>>): Likewise.
458 * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
459 * testsuite/20_util/default_delete/void_neg.cc: Likewise.
460 * testsuite/20_util/optional/hash.cc: New.
461 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
462 * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Adjust.
463 * testsuite/20_util/unique_ptr/hash/1.cc: Add tests for
464 poisoned fancy pointer hashes.
465 * testsuite/20_util/variant/hash.cc: New.
466
627a2f59
VV
4672016-11-14 Ville Voutilainen <ville.voutilainen@gmail.com>
468
469 Implement P0504R0 (Revisiting in-place tag types for
470 any/optional/variant).
471 * include/std/any (any(_ValueType&& __value)): Constrain
472 the __is_in_place_type with the decayed type.
473 (make_any): Adjust to use the new tag type.
474 * include/std/utility (in_place_tag): Remove.
475 (in_place_t): Turn into a non-reference tag type.
476 (__in_place, __in_place_type, __in_place_index): Remove.
477 (in_place): Turn into an inline variable of non-reference
478 tag type.
479 (in_place<_Tp>): Remove.
480 (in_place_index<_Idx>): Remove.
481 (in_place_type_t): New.
482 (in_place_type): Turn into a variable template of non-reference
483 type.
484 (in_place_index_t): New.
485 (in_place_index): Turn into a variable template of non-reference
486 type.
487 * include/std/variant
488 (_Variant_storage(in_place_index_t<_Np>, _Args&&...)): Adjust to
489 use the new tag type.
490 (_Union(in_place_index_t<0>, _Args&&...)): Likewise.
491 (_Union(in_place_index_t<_Np>, _Args&&...)): Likewise.
492 (_Variant_base()): Likewise.
493 (variant(_Tp&&)): Likewise.
494 (variant(in_place_type_t<_Tp>, _Args&&...)): Likewise.
495 (variant(in_place_type_t<_Tp>, initializer_list<_Up>,
496 _Args&&...)): Likewise.
497 (variant(in_place_index_t<_Np>, _Args&&...)): Likewise.
498 (variant(in_place_index_t<_Np>, initializer_list<_Up>,
499 _Args&&...)): Likewise
500 (variant(allocator_arg_t, const _Alloc&)): Likewise.
501 (variant(allocator_arg_t, const _Alloc&, _Tp&&)): Likewise.
502 (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
503 _Args&&...)): Likewise.
504 (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
505 initializer_list<_Up>, _Args&&...)): Likewise.
506 (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
507 _Args&&...)): Likewise.
508 (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
509 initializer_list<_Up>, _Args&&...)): Likewise.
510 (emplace(_Args&&...)): Likewise.
511 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
512 * testsuite/20_util/any/cons/explicit.cc: Likewise.
513 * testsuite/20_util/any/cons/in_place.cc: Likewise.
514 * testsuite/20_util/any/requirements.cc: Add tests to
515 check that any is not constructible from the new in_place_type_t
516 of any value category.
517 * testsuite/20_util/in_place/requirements.cc: Adjust to
518 use the new tag type.
519 * testsuite/20_util/variant/compile.cc: Likewise.
520 * testsuite/20_util/variant/run.cc: Likewise.
521
ca9e949f
VV
5222016-11-14 Ville Voutilainen <ville.voutilainen@gmail.com>
523
524 Use constexpr addressof in optional, SFINAE housekeeping
525 for any, optional and tuple.
526 * include/std/any (__do_emplace(_Args&&...)): New.
527 (__do_emplace(initializer_list<_Up>, _Args&&...)): Likewise.
528 (__any_constructible): Likewise.
529 (__any_constructible_t): Use __any_constructible.
530 (operator=(_ValueType&&)): SFINAE in the return type.
531 (emplace(_Args&&...)): Likewise.
532 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
533 * include/std/optional (_Has_addressof_mem): Remove.
534 (_Has_addressof_free): Likewise.
535 (_Has_addressof): Likewise.
536 (__constexpr_addressof(_Tp&)): Likewise.
537 (operator->): Use std::__addressof.
538 * include/std/tuple (operator=(const tuple<_UElements...>&)):
539 SFINAE in return type.
540 (operator=(tuple<_UElements...>&&)): Likewise.
541 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
542
9c52cc01
JW
5432016-11-14 Jonathan Wakely <jwakely@redhat.com>
544
3ce96851
JW
545 * include/bits/move.h (addressof(const _Tp&&)): Add deleted overload,
546 as per LWG 2598.
547
9c52cc01
JW
548 * include/std/future (future::share(), future<R&>::share())
549 (future<void>::share()): Add noexcept, as per LWG 2556.
550
b2343559
JW
5512016-11-13 Jonathan Wakely <jwakely@redhat.com>
552
881ca4c9
JW
553 PR libstdc++/78326
554 * include/experimental/memory_resource (memory_resource::_S_max_align):
555 Change access to protected.
556
b2343559
JW
557 * doc/xml/manual/status_cxx2017.xml: Update status.
558 * doc/html/manual/status.html: Regenerate.
559 * include/bits/shared_ptr.h (shared_ptr(unique_ptr<_Yp, _Del>)): Add
560 extension constructor to maintain C++14 behaviour.
561 * include/bits/shared_ptr_base.h (__sp_array_delete): Add new struct.
562 (__shared_count(_Ptr, false_type), __shared_count(_Ptr, true_type)):
563 New constructors.
564 (__sp_compatible_with, __sp_is_constructible): Add specializations
565 for array support.
566 (__sp_is_constructible_arr, __sp_is_constructible_arrN): New helpers.
567 (__shared_ptr_access): New base class for observer member functions.
568 (__shared_ptr::element_type): Use remove_extent.
569 (__shared_ptr::_UniqCompatible): Add __sp_compatible_with check.
570 (__shared_ptr(_Yp*)): Use tag dispatching to call new __shared_count
571 constructor.
572 (__shared_ptr(unique_ptr<_Yp, _Del>)): Add extension constructor.
573 (__shared_ptr::operator*, __shared_ptr::operator->): Remove and
574 inherit from __shared_ptr_access base class.
575 (__shared_ptr::__has_esft_base): Return false for array types.
576 (__weak_ptr::element_type): Use remove_extent.
577 * include/experimental/bits/shared_ptr.h (__libfund_v1): Remove.
578 (__shared_ptr<__libfund_v1<_Tp>>): Remove specializations.
579 (__wak_ptr<__libfund_v1<_Tp>>): Likewise.
580 (experimental::__sp_compatible_v): Redefine using
581 __sp_compatible_with.
582 (experimental::__sp_is_constructible_v): Redefine using
583 __sp_is_constructible.
584 (get_deleter, operator<<): Change argument from __shared_ptr to
585 shared_ptr.
586 * testsuite/20_util/shared_ptr/cons/array.cc: New test.
587 * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Adjust for
588 new behaviour.
589 * testsuite/20_util/shared_ptr/observers/array.cc: Test observers for
590 arrays.
591 * testsuite/20_util/shared_ptr/observers/array_neg.cc: New test.
592
17018005
VV
5932016-11-13 Ville Voutilainen <ville.voutilainen@gmail.com>
594
595 Implement P0403R1, Literal suffixes for basic_string_view.
596 * include/std/string_view
597 (operator""sv(const char*, size_t)): New.
598 (operator""sv(const wchar_t*, size_t)): Likewise.
599 (operator""sv(const char16_t*, size_t)): Likewise.
600 (operator""sv(const char32_t*, size_t)): Likewise.
601 * testsuite/21_strings/basic_string_view/literals/types.cc: New.
602 * testsuite/21_strings/basic_string_view/literals/values.cc: Likewise.
603 * testsuite/experimental/string_view/literals/values.cc: Add
604 tests for literals with embedded NULs.
605
13908b44
JW
6062016-11-12 Jonathan Wakely <jwakely@redhat.com>
607
5485c818
JW
608 * src/filesystem/ops.cc (is_empty): Fix typo in exception message.
609
13908b44
JW
610 * include/std/future (future_error): Fix public typo to private.
611
0f88f1f2
JW
6122016-11-11 Jonathan Wakely <jwakely@redhat.com>
613
330cc73d
JW
614 * include/std/future (future_error): Make existing constructor
615 private and add constructor from future_errc.
616
0f88f1f2
JW
617 * include/bits/shared_ptr.h (hash<shared_ptr<T>>): Use element_type.
618 * include/bits/shared_ptr_base.h (hash<__shared_ptr<T, L>>): Likewise.
619
28d1bf44
FD
6202016-11-10 François Dumont <fdumont@gcc.gnu.org>
621
622 * src/c++11/debug.cc (format_word): Delete.
623 (print_literal): New. Replace call to print_word for literals.
624
7ce69e5a
TS
6252016-11-09 Tim Shen <timshen@google.com>
626
7b277e8b 627 * include/bits/regex.h (regex_iterator::regex_iterator()):
7ce69e5a 628 Define end() as _M_pregex == nullptr.
7b277e8b 629 * include/bits/regex.tcc (regex_iterator::operator==(),
7ce69e5a
TS
630 regex_iterator::operator++()): Fix operator==() and operator++() to
631 look at null-ness of _M_pregex on both sides.
632 * testsuite/28_regex/regression.cc: New testcase.
633
51dc6603
JM
6342016-11-07 Jason Merrill <jason@redhat.com>
635
636 * include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM)
637 (_GLIBCXX_NOEXCEPT_QUAL): New.
638 * include/std/type_traits (is_function): Use them.
639 * libsubc++/new (launder): Likewise.
640 * libsupc++/cxxabi.h (__pbase_type_info::__masks): Add
641 __noexcept_mask.
642 * libsupc++/pbase_type_info.cc (__do_catch): Handle function
643 pointer conversion.
644
76d3fd72
FD
6452016-11-07 François Dumont <fdumont@gcc.gnu.org>
646
647 * config/abi/pre/gnu-versioned-namespace.ver: Export C++17 new of
648 over-aligned types symbols.
649
1f5700e9
JW
6502016-10-28 Jonathan Wakely <jwakely@redhat.com>
651
f0414b97
JW
652 * include/experimental/bits/fs_path.h (__is_path_src)
653 (_S_range_begin, _S_range_end): Overload to treat string_view as a
654 Source object.
655 (path::operator+=, path::compare): Overload for basic_string_view.
656 * testsuite/experimental/filesystem/path/construct/string_view.cc:
657 New test.
658 * testsuite/experimental/filesystem/path/construct/
659 string_view_cxx17.cc: New test.
660
fcfceb1a
JW
661 * include/experimental/bits/fs_path.h
662 (path::_S_convert<_Iter>(_Iter, _Iter)): Remove cv-qualifiers from
663 iterator's value_type.
664 (path::_S_convert<_Iter>(_Iter __first, __null_terminated)): Likewise.
665 Do not use operation not supported by input iterators.
666 (path::__is_path_iter_src): Add partial specialization for const
667 encoded character types.
668 * testsuite/experimental/filesystem/path/construct/range.cc: Test
669 construction from input iterators with const value types.
670
1f5700e9
JW
671 * doc/xml/manual/status_cxx2017.xml: Update status.
672 * doc/html/*: Regenerate.
673 * include/std/type_traits (has_unique_object_representations): Guard
674 with __has_builtin check.
675 * libsupc++/new (launder): Define for C++17.
676 * testsuite/18_support/launder/1.cc: New test.
677 * testsuite/18_support/launder/requirements.cc: New test.
678 * testsuite/18_support/launder/requirements_neg.cc: New test.
679
47ffb5d9
UB
6802016-10-27 Uros Bizjak <ubizjak@gmail.com>
681
682 PR libstdc++/70975
683 * src/filesystem/ops.cc (do_copy_file) [_GLIBCXX_USE_SENDFILE]:
684 Pass non-null pointer to sendfile for offset argument.
685
69af1c04
JW
6862016-10-27 Jonathan Wakely <jwakely@redhat.com>
687
e63d7e71
JW
688 * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
689 default.cc: Fix effective target selector.
690 * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
691 parms.cc: Likewise.
692 * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
693 equal.cc: Likewise.
694 * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
695 generate.cc: Likewise.
696 * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
697 inequal.cc: Likewise.
698 * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
699 serialize.cc: Likewise.
700
69af1c04
JW
701 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
702 Use end() function to get end iterator.
703 * testsuite/experimental/filesystem/iterators/pop.cc: Remove printf
704 statements that were present for debugging.
705 * testsuite/experimental/filesystem/iterators/
706 recursive_directory_iterator.cc: Use end() function to get end
707 iterator.
708 * testsuite/experimental/filesystem/operations/last_write_time.cc:
709 Only require file timestamps to be accurate to one second.
710
d72c3f0a
FD
7112016-10-26 François Dumont <fdumont@gcc.gnu.org>
712
713 * include/bits/stl_map.h (map()): Make default.
714 * include/bits/stl_multimap.h (multimap()): Likewise.
715 * include/bits/stl_multiset.h (multiset()): Likewise.
716 * include/bits/stl_set.h (set()): Likewise.
717 * include/bits/stl_tree.h (_Rb_tree_impl()): Add conditional noexcept.
718 (_Rb_tree()): Make default.
719
a0019047
BE
7202016-10-26 Bernd Edlinger <bernd.edlinger@hotmail.de>
721
722 PR libstdc++/78110
723 * libsupc++/new_opa.cc: Don't include <malloc.h> in a free standing
724 environment. Declare memalign directly in that case.
725
790207d6
JW
7262016-10-26 Jonathan Wakely <jwakely@redhat.com>
727
728 * testsuite/experimental/filesystem/iterators/pop.cc: Remove
729 unreliable dependency on directory order.
730
10da5b7c
ESR
7312016-10-26 Edward Smith-Rowland <3dw4rd@verizon.net>
732
733 Implement uniform_inside_sphere_distribution extension.
734 * include/ext/random: Implement uniform_inside_sphere_distribution.
735 * include/ext/random.tcc: Ditto.
736 * testsuite/ext/random/uniform_inside_sphere_distribution/
737 cons/default.cc: New.
738 * testsuite/ext/random/uniform_inside_sphere_distribution/
739 cons/parms.cc: New.
740 * testsuite/ext/random/uniform_inside_sphere_distribution/
741 operators/equal.cc: New.
742 * testsuite/ext/random/uniform_inside_sphere_distribution/
743 operators/generate.cc: New.
744 * testsuite/ext/random/uniform_inside_sphere_distribution/
745 operators/inequal.cc: New.
746 * testsuite/ext/random/uniform_inside_sphere_distribution/
747 operators/serialize.cc: New.
748
9dbe100a
JW
7492016-10-26 Jonathan Wakely <jwakely@redhat.com>
750
ec0b1056
JW
751 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
752 Overload pop (LWG 2706).
753 * src/filesystem/dir.cc (recursive_directory_iterator::pop): Define
754 new overload.
755 * testsuite/experimental/filesystem/iterators/pop.cc: New test.
756
b4e7e6bf
JW
757 * src/filesystem/dir.cc (recursive_directory_iterator::increment):
758 Reset state on error.
759 * testsuite/experimental/filesystem/iterators/
760 recursive_directory_iterator.cc: Check state after increment error.
761
9dbe100a
JW
762 PR libstdc++/78111
763 * src/filesystem/ops.cc (canonical): Set error for non-existent path.
764
d955ae42
UB
7652016-10-26 Uros Bizjak <ubizjak@gmail.com>
766
767 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include <limits.h>
768 for PATH_MAX in realpath test.
769 * configure: Regenerate.
770
ec04aad7
JW
7712016-10-25 Jonathan Wakely <jwakely@redhat.com>
772
7195dfe9
JW
773 * src/filesystem/ops.cc
774 (last_write_time(const path&, file_time_type, error_code&)): Handle
775 negative times correctly.
776 * testsuite/experimental/filesystem/operations/last_write_time.cc:
777 Test writing file times.
778
ec04aad7
JW
779 * src/filesystem/ops.cc (do_copy_file): Report an error if source or
780 destination is not a regular file (LWG 2712).
781 (equivalent): Fix error handling and result when only one file exists.
782 * testsuite/experimental/filesystem/operations/copy.cc: Remove files
783 created by tests. Test copying directories.
784 * testsuite/experimental/filesystem/operations/copy_file.cc: Remove
785 files created by tests.
786 * testsuite/experimental/filesystem/operations/equivalent.cc: New.
787 * testsuite/experimental/filesystem/operations/is_empty.cc: New.
788 * testsuite/experimental/filesystem/operations/read_symlink.cc: Remove
789 file created by test.
790 * testsuite/experimental/filesystem/operations/remove_all.cc: New.
791 * testsuite/util/testsuite_fs.h (~scoped_file): Only try to remove
792 file if path is non-empty, to support removal by other means.
793
b3dec9e5
JW
7942016-10-24 Jonathan Wakely <jwakely@redhat.com>
795
94caf860
JW
796 * src/filesystem/ops.cc (is_empty): Fix error handling.
797 * testsuite/experimental/filesystem/operations/is_empty.cc: New test.
798
6daff2d9
JW
799 PR libstdc++/71337
800 * src/filesystem/ops.cc (temp_directory_path): Pass error_code
801 argument to other filesystem operations.
802 * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
803 Add testcase for inaccessible directory.
804
bb52a7e3
JW
805 * src/filesystem/dir.cc (open_dir): Return same value for errors
806 whether ignored or not.
807 (_Dir::advance(error_code*, directory_options)): Return false on
808 error.
809 (directory_iterator(const path&, directory_options, error_code*)):
810 Create end iterator on error (LWG 2723).
811 (recursive_directory_iterator(const path&, directory_options,
812 error_code*)): Likewise.
813 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
814 Update expected behaviour on error.
815 * testsuite/experimental/filesystem/iterators/
816 recursive_directory_iterator.cc: Likewise.
817
cfef9c1e
JW
818 * src/filesystem/ops.cc (close_fd): Remove.
819 (do_copy_file): Just use close(3) instead of close_fd, to prevent
820 retrying on error.
821
b3dec9e5
JW
822 * src/filesystem/ops.cc (do_copy_file): Return an error if either
823 source or destination is not a regular file.
824 (copy): Update comment to refer to LWG 2681. Implement 2682 and 2683
825 resolutions.
826 (read_symlink): Add missing ec.clear().
827 * testsuite/experimental/filesystem/operations/copy.cc: Update
828 expected behaviour for copying directories with create_symlinks.
829 Verify that error_code arguments are cleared if there's no error.
830 * testsuite/experimental/filesystem/operations/read_symlink.cc: New.
831
a3f6007c
VV
8322016-10-24 Ville Voutilainen <ville.voutilainen@gmail.com>
833
834 Cross-port exception-safety and move fixes of std::any to
835 std::experimental::any.
836 * include/experimental/any (operator=(const any&)):
837 Make strongly exception-safe.
838 (operator=(any&&)): clear() unconditionally in the case where
839 rhs has a value.
840 (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
841 * testsuite/experimental/any/assign/2.cc: Adjust.
842 * testsuite/experimental/any/assign/exception.cc: New.
843 * testsuite/experimental/any/cons/2.cc: Adjust.
844 * testsuite/experimental/any/misc/any_cast_neg.cc: Ajust.
845
f11cc050
VV
8462016-10-24 Ville Voutilainen <ville.voutilainen@gmail.com>
847
848 Cross-port the latest resolution of LWG2756 and some
849 bug-fixes to experimental::optional.
850 PR libstdc++/77288
851 PR libstdc++/77727
852 * include/experimental/optional (_Optional_base):
853 Remove constructors that take a _Tp.
854 (__is_optional_impl, __is_optional): Remove.
855 (__converts_from_optional): New.
856 (optional(_Up&&)): Fix constraints, call base with in_place.
857 (optional(const optional<_Up>&)): Fix constraints, use emplace.
858 (optional(optional<_Up>&&)): Likewise.
859 (operator=(_Up&&)): Fix constraints.
860 (operator=(const optional<_Up>&)): Likewise.
861 (operator=(optional<_Up>&&)): Likewise.
862 (emplace(_Args&&...)): Constrain.
863 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
864 * testsuite/experimental/optional/77288.cc: New.
865 * testsuite/experimental/optional/assignment/5.cc: Adjust.
866 * testsuite/experimental/optional/cons/77727.cc: New.
867 * testsuite/experimental/optional/cons/value.cc: Adjust.
868
405def8d
JW
8692016-10-24 Jonathan Wakely <jwakely@redhat.com>
870
871 * include/bits/stl_vector.h (vector::_M_data_ptr, vector::data):
872 Change return type of non-standard C++98 extension to match C++11.
873
35518d76
FD
8742016-10-22 François Dumont <fdumont@gcc.gnu.org>
875
876 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_ALGO)
877 (_GLIBCXX_END_NAMESPACE_ALGO): Default to respectively
878 _GLIBCXX_BEGIN_NAMESPACE_VERSION and _GLIBCXX_END_NAMESPACE_VERSION.
879 (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER, _GLIBCXX_END_NAMESPACE_CONTAINER):
880 Likewise.
881
4e04812d
JW
8822016-10-22 Jonathan Wakely <jwakely@redhat.com>
883
884 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
885 Ignore symlink_nofollow flag if file is not a symlink.
886 * testsuite/experimental/filesystem/operations/permissions.cc: Test
887 symlink_nofollow on non-symlinks.
888
e59e183f
JW
8892016-10-21 Jonathan Wakely <jwakely@redhat.com>
890
d17f7088
JW
891 * include/experimental/bits/fs_fwd.h (perms::resolve_symlinks):
892 Replace with symlink_nofollow (LWG 2720).
893 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
894 Handle symlink_nofollow.
895 * testsuite/experimental/filesystem/operations/create_symlink.cc: New
896 test.
897 * testsuite/experimental/filesystem/operations/permissions.cc: Test
898 overload taking error_code.
899
2be92127
JW
900 * include/experimental/bits/fs_ops.h
901 (exists(const path&, error_code&)): Clear error if status is known
902 (LWG 2725).
903 (status(const path&, error_code&)): Handle EOVERFLOW.
904 * testsuite/experimental/filesystem/operations/exists.cc: Test
905 overload taking an error_code.
906
e59e183f
JW
907 * include/experimental/bits/fs_path.h (path::path(string_type&&))
908 (path::operator=(string&&), path::assign(string_type&&)): Define
909 construction and assignment from string_type rvalues (LWG 2707).
910
9d8ff2f6
EW
9112016-10-21 Eelis van der Weegen <eelis@eelis.net>
912
913 * include/bits/stl_algo.h (__gen_two_uniform_ints): Move logic out
914 of shuffle into new function.
915 (shuffle): Call __gen_two_uniform_ints.
916 (__sample<ForwardIterator, OutputIterator, Cat, Size, URBG>): Use
917 __gen_two_uniform_ints and perform two samples at a time.
918
6652a944
JW
9192016-10-21 Jonathan Wakely <jwakely@redhat.com>
920
c05986b9
JW
921 * include/Makefile.am: Add <bits/refwrap.h> and <bits/std_function.h>.
922 Order alphabetically.
923 * include/Makefile.in: Regenerate.
924 * include/bits/refwrap.h: New header.
925 (_Maybe_get_result_type,_Weak_result_type_impl, _Weak_result_type)
926 (_Reference_wrapper_base_impl, _Reference_wrapper_base)
927 (reference_wrapper, ref, cref): Move here from <functional>.
928 * include/bits/shared_ptr_base.h: Include <bits/refwrap.h> and
929 <bits/stl_function.h> instead of <functional>.
930 * include/bits/std_function.h: New header.
931 (_Maybe_unary_or_binary_function, bad_function_call)
932 (__is_location_invariant, _Nocopy_types, _Any_data)
933 (_Simple_type_wrapper, _Function_base, _Function_handler, function):
934 Move here from <functional>.
935 * include/bits/unique_ptr.h: Include <bits/stl_function.h>.
936 * include/std/functional: Include new headers and move components to
937 them.
938 * include/std/future: Include <bits/std_function.h> instead of
939 <functional>.
940 * include/std/mutex: Likewise.
941 * include/std/regex: Likewise.
942 * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
943 * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line.
944 * testsuite/20_util/default_delete/void_neg.cc: Likewise.
945 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
946 lines.
947 * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
948 * testsuite/30_threads/packaged_task/49668.cc: Include <functional>.
949
6652a944
JW
950 * libsupc++/exception_ptr.h (make_exception_ptr): Qualify new.
951 * testsuite/18_support/exception_ptr/make_exception_ptr_2.cc: New
952 test.
953
a2e0054e
JW
9542016-10-20 Jonathan Wakely <jwakely@redhat.com>
955
956 * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&))
957 (shared_ptr(auto_ptr&&)): Adjust template parameter lists.
958 * include/bits/shared_ptr.h (__sp_compatible_with)
959 (__sp_is_constructible): New helper traits for shared_ptr.
960 (shared_ptr::_Convertible): Replace with _Constructible.
961 (shared_ptr::_Constructible, shared_ptr::_Assignable): Forward checks
962 to base class.
963 (shared_ptr::shared_ptr, shared_ptr::operator=): Constrain template
964 with _Constructible and _Assignable.
965 (shared_ptr::shared_ptr(shared_ptr<_Tp1>, _Tp*)): Use element_type
966 instead of _Tp.
967 (operator<): Likewise.
968 (operator>): Define in terms of operator<.
969 (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
970 element_type instead of _Tp.
971 (reinterpret_pointer_cast): Define for C++17.
972 (weak_ptr::_Convertible): Replace with _Constructible.
973 (weak_ptr::_Constructible, weak_ptr::_Assignable): Forward checks
974 to base class.
975 (weak_ptr::weak_ptr, weak_ptr::operator=): Constrain templates
976 with _Constructible and _Assignable.
977 * include/bits/shared_ptr_base.h (__shared_ptr::_Convertible): Replace
978 with _Compatible.
979 (__shared_ptr::_SafeConv): New constraint for incoming raw pointers.
980 (__shared_ptr::_Compatible): New constraint for converting from
981 other types of shared_ptr and weak_ptr.
982 (__shared_ptr::_Assignable): Define in terms of _Compatible.
983 (__shared_ptr::_UniqCompatible, __shared_ptr::_UniqAssignable): New
984 constraints for converting from unique_ptr.
985 (__shared_ptr::__shared_ptr, __shared_ptr::operator=): Constrain
986 template with _SaveConf, _Compatible and _Assignable. Remove
987 __glibcxx_function_requires concept checks. Add static assertion for
988 deleter expression being well-formed.
989 (__shared_ptr::__shared_ptr(__shared_ptr<_Tp1>, _Tp*))
990 (__shared_ptr::operator*, __shared_ptr::operator->)
991 (__shared_ptr::get, __shared_ptr::_M_ptr): Use element_type instead
992 of _Tp.
993 (operator<): Likewise.
994 (operator>): Define in terms of operator<.
995 (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
996 element_type instead of _Tp.
997 (reinterpret_pointer_cast): Define for C++17.
998 (weak_ptr::_Convertible): Replace with _Compatible.
999 (weak_ptr::_Compatible, weak_ptr::_Assignable): New constraints for
1000 conversions from other types of weak_ptr and shared_ptr.
1001 (__weak_ptr::__weak_ptr, __weak_ptr::operator=): Constrain templates
1002 with _Constructible and _Assignable.
1003 (__weak_ptr::_M_ptr): Use element_type instead of _Tp.
1004 * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Adjust
1005 dg-error pattern.
1006 * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Test conversions.
1007 * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
1008 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1009 * testsuite/20_util/shared_ptr/casts/reinterpret.cc: New test.
1010
f320e6a0
VV
10112016-10-20 Ville Voutilainen <ville.voutilainen@gmail.com>
1012
1013 Do the operator= SFINAE in the return type for optional,
1014 not in the template parameters.
1015 * include/std/optional (operator=(_Up&&)): Move SFINAE
1016 from template parameters to the return type.
1017 (operator=(const optional<_Up>&)): Likewise.
1018 (operator=(optional<_Up>&&)): Likewise.
1019
4f63d614
JW
10202016-10-20 Jonathan Wakely <jwakely@redhat.com>
1021
88b3e631
JW
1022 * include/bits/allocator.h: Remove trailing whitespace, tab-indent.
1023 * include/ext/new_allocator.h: Likewise.
1024
1d6360c8
JW
1025 PR libstdc++/78052
1026 * include/bits/allocator.h (allocator<void>::construct)
1027 (allocator<void>::destroy): Define.
1028 * testsuite/20_util/allocator/void.cc: New test.
1029
4f63d614
JW
1030 * testsuite/20_util/enable_shared_from_this/56383.cc: Add tests for
1031 additional ambiguous cases.
1032
e182393e
JW
10332016-10-19 Jonathan Wakely <jwakely@redhat.com>
1034
f3070dab
JW
1035 * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&)): Call
1036 _M_enable_shared_from_this_with instead of
1037 __enable_shared_from_this_helper.
1038 * include/bits/shared_ptr.h (__enable_shared_from_this_helper):
1039 Remove overload for std::enable_shared_from_this..
1040 (__enable_shared_from_this_base): Define friend function to select a
1041 std::enable_shared_from_this base class.
1042 * include/bits/shared_ptr_base.h (__enable_shared_from_this_helper):
1043 Remove all overloads.
1044 (__shared_ptr): Change all relevant constructors to call
1045 _M_enable_shared_from_this_with instead of
1046 __enable_shared_from_this_helper.
1047 (__shared_ptr::__efst_base_t, __shared_ptr::__has_efst_base): Helpers
1048 to detect accessible and unambiguous enable_shared_from_this bases.
1049 (__shared_ptr::_M_enable_shared_from_this_with): New function to
1050 replace __enable_shared_from_this_helper overloads.
1051 (__enable_shared_from_this_helper): Remove overload for
1052 std::__enable_shared_from_this.
1053 (__enable_shared_from_this_base): Define friend function to select a
1054 std::__enable_shared_from_this base class.
1055 * include/experimental/bits/shared_ptr.h (experimental::shared_ptr):
1056 Change relevant constructors to call _M_enable_shared_from_this_with.
1057 (experimental::shared_ptr::__efst_base_t)
1058 (experimental::shared_ptr::__has_efst_base): Helpers to detect
1059 accessible and unambiguous enable_shared_from_this bases.
1060 (experimental::shared_ptr::_M_enable_shared_from_this_with): Define.
1061 (experimental::__enable_shared_from_this_helper): Remove overload for
1062 std::experimental::enable_shared_from_this.
1063 (experimental::__expt_enable_shared_from_this_base): Define friend
1064 function to select a std::experimental::enable_shared_from_this base.
1065 * testsuite/experimental/memory/shared_ptr/cons/
1066 enable_shared_from_this.cc: New test.
1067 * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
1068 Adjust expected behaviour for shared_ptr<A[]>.
1069
36e2520b
JW
1070 * include/debug/vector (__gnu_debug::vector::emplace_back): Fix return
1071 type.
1072
181f50b6
JW
1073 * include/backward/auto_ptr.h (dauto_ptr): Correct comment about
1074 conversions from auto_ptr<Derived> rvalues to auto_ptr<Base>.
1075 * testsuite/20_util/auto_ptr/assign_neg.cc: Remove redundant dg-error
1076 directives that only match notes, not errors.
1077
a04df2ba
JW
1078 * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
1079 Add tests for valid and invalid conversions.
1080 * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
1081 Likewise.
1082
d40627f9
JW
1083 * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Move negative tests
1084 to new file.
1085 * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: New file. Fix
1086 test for incompatible deleters to not also use incompatible types.
1087 Add tests for incompatible array types.
1088
84870b6b
JW
1089 * include/experimental/bits/shared_ptr.h
1090 (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_Compatible): Just use
1091 is_convertible for non-array specialization.
1092 (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_UniqCompatible): New
1093 constraint for conversions from unique_ptr.
1094 (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::__shared_ptr): Constrain.
1095 (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::reset): Likewise.
1096 (__sp_compatible_v): New variable template for trait.
1097 (__sp_is_constructible): New trait to check shared_ptr constraints.
1098 (__sp_is_constructible_v): New variable template for trait.
1099 (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_SafeConv): New
1100 constraint for construction/reset, using __sp_is_constructible_v.
1101 (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_UniqCompatible): New
1102 constraint for conversions from unique_ptr.
1103 (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::__shared_ptr): Constrain.
1104 (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::reset): Likewise.
1105 (shared_ptr::_SafeConv): Constraint for checking constructors.
1106 (shared_ptr(Tp1*), shared_ptr(_Tp1, _Deleter))
1107 (shared_ptr(_Tp1, _Deleter, _Alloc)): Constrain with _SafeConv.
1108 (shared_ptr(const weak_ptr<_Tp1>&)): Constrain with _Compatible.
1109 (shared_ptr(auto_ptr<_Tp1>&&)): Fix, remove TODO.
1110 * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
1111 Remove tests using invalid conversions.
1112 * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor_neg.cc:
1113 New test.
1114 * testsuite/experimental/memory/shared_ptr/cons/torture.cc: New test.
1115 * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Remove
1116 tests using invalid conversions.
1117 * testsuite/experimental/memory/shared_ptr/modifiers/reset_neg.cc: New
1118 test.
1119 * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
1120 Remove tests using invalid conversions.
1121
e182393e
JW
1122 PR libstdc++/77990
1123 * include/bits/unique_ptr.h (__uniq_ptr_impl): New type to
1124 encapsulate implementation details.
1125 (unique_ptr::unique_ptr(_Up)): Don't copy deleter object.
1126 (unique_ptr::get, unique_ptr::get_deleter, unique_ptr::release):
1127 Call member functions of implementation object.
1128 (unique_ptr<T[], D>): Likewise.
1129 * python/libstdcxx/v6/printers.py (UniquePointerPrinter): Adjust for
1130 new implementation.
1131 * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker): Likewise.
1132 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
1133 lines.
1134 * testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
1135 * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
1136 * testsuite/20_util/unique_ptr/cons/77990.cc: New test.
1137
0aeb81f8
JW
11382016-10-18 Jonathan Wakely <jwakely@redhat.com>
1139
6dddab08
JW
1140 * include/experimental/bits/shared_ptr.h: Fix indentation.
1141
8a9ff71f
JW
1142 * include/experimental/bits/shared_ptr.h (shared_ptr(shared_ptr&&)):
1143 Remove const from parameter.
1144 (operator<(const shared_ptr<T>&, nullptr_t)): Use correct
1145 specialization of std::less.
1146 * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
1147 Test comparison with nullptr and actually call test functions.
1148
0aeb81f8
JW
1149 * include/bits/uses_allocator.h (__is_uses_allocator_constructible_v)
1150 (__is_nothrow_uses_allocator_constructible_v): Only define for C++14
1151 and later.
1152
fd0bf20c
PC
11532016-10-17 Paolo Carlini <paolo.carlini@oracle.com>
1154
1155 * testsuite/27_io/basic_filebuf/close/12790-1.cc: Remove 'test'
0aeb81f8 1156 variables.
fd0bf20c
PC
1157 * testsuite/27_io/basic_filebuf/close/char/1.cc: Likewise.
1158 * testsuite/27_io/basic_filebuf/close/char/12790-1.cc: Likewise.
1159 * testsuite/27_io/basic_filebuf/close/char/12790-2.cc: Likewise.
1160 * testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Likewise.
1161 * testsuite/27_io/basic_filebuf/close/char/12790-4.cc: Likewise.
1162 * testsuite/27_io/basic_filebuf/close/char/2.cc: Likewise.
1163 * testsuite/27_io/basic_filebuf/close/char/3.cc: Likewise.
1164 * testsuite/27_io/basic_filebuf/close/char/4.cc: Likewise.
1165 * testsuite/27_io/basic_filebuf/close/char/5.cc: Likewise.
1166 * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc: Likewise.
1167 * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc: Likewise.
1168 * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc: Likewise.
1169 * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc: Likewise.
1170 * testsuite/27_io/basic_filebuf/cons/2020.cc: Likewise.
1171 * testsuite/27_io/basic_filebuf/cons/char/1.cc: Likewise.
1172 * testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
1173 * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: Likewise.
1174 * testsuite/27_io/basic_filebuf/imbue/12206.cc: Likewise.
1175 * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
1176 * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
1177 * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
1178 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
1179 * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
1180 * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
1181 * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
1182 * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
1183 * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: Likewise.
1184 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
1185 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
1186 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
1187 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
1188 * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
1189 * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
1190 * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
1191 * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
1192 * testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: Likewise.
1193 * testsuite/27_io/basic_filebuf/is_open/char/1.cc: Likewise.
1194 * testsuite/27_io/basic_filebuf/open/12790-1.cc: Likewise.
1195 * testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise.
1196 * testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise.
1197 * testsuite/27_io/basic_filebuf/open/char/3.cc: Likewise.
1198 * testsuite/27_io/basic_filebuf/open/char/4.cc: Likewise.
1199 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1200 * testsuite/27_io/basic_filebuf/overflow/char/1.cc: Likewise.
1201 * testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Likewise.
1202 * testsuite/27_io/basic_filebuf/overflow/char/2.cc: Likewise.
1203 * testsuite/27_io/basic_filebuf/overflow/char/3599.cc: Likewise.
1204 * testsuite/27_io/basic_filebuf/overflow/char/9169.cc: Likewise.
1205 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Likewise.
1206 * testsuite/27_io/basic_filebuf/overflow/char/9988.cc: Likewise.
1207 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise.
1208 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise.
1209 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise.
1210 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise.
1211 * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: Likewise.
1212 * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Likewise.
1213 * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Likewise.
1214 * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Likewise.
1215 * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Likewise.
1216 * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Likewise.
1217 * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: Likewise.
1218 * testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc: Likewise.
1219 * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
1220 * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Likewise.
1221 * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Likewise.
1222 * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Likewise.
1223 * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Likewise.
1224 * testsuite/27_io/basic_filebuf/seekoff/45628-2.cc: Likewise.
1225 * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise.
1226 * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Likewise.
1227 * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise.
1228 * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: Likewise.
1229 * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: Likewise.
1230 * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc: Likewise.
1231 * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc: Likewise.
1232 * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc: Likewise.
1233 * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc: Likewise.
1234 * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise.
1235 * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
1236 * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise.
1237 * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Likewise.
1238 * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Likewise.
1239 * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
1240 * testsuite/27_io/basic_filebuf/seekoff/char/4.cc: Likewise.
1241 * testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc: Likewise.
1242 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
1243 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: Likewise.
1244 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc: Likewise.
1245 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc: Likewise.
1246 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc: Likewise.
1247 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc: Likewise.
1248 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: Likewise.
1249 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Likewise.
1250 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Likewise.
1251 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
1252 Likewise.
1253 * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
1254 * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Likewise.
1255 * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Likewise.
1256 * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Likewise.
1257 * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Likewise.
1258 * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise.
1259 * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Likewise.
1260 * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc: Likewise.
1261 * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc: Likewise.
1262 * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc: Likewise.
1263 * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc: Likewise.
1264 * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Likewise.
1265 * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise.
1266 * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Likewise.
1267 * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
1268 * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Likewise.
1269 * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.
1270 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Likewise.
1271 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc: Likewise.
1272 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc: Likewise.
1273 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc: Likewise.
1274 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc: Likewise.
1275 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
1276 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
1277 Likewise.
1278 * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise.
1279 * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: Likewise.
1280 * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc
1281 * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Likewise.
1282 * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
1283 * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Likewise.
1284 * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Likewise.
1285 * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Likewise.
1286 * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Likewise.
1287 * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Likewise.
1288 * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: Likewise.
1289 * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Likewise.
1290 * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
1291 * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Likewise.
1292 * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
1293 * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
1294 * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: Likewise.
1295 * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: Likewise.
1296 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Likewise.
1297 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Likewise.
1298 * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Likewise.
1299 * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Likewise.
1300 * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Likewise.
1301 * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Likewise.
1302 * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Likewise.
1303 * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: Likewise.
1304 * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: Likewise.
1305 * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Likewise.
1306 * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Likewise.
1307 * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: Likewise.
1308 * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Likewise.
1309 * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: Likewise.
1310 * testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc: Likewise.
1311 * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: Likewise.
1312 * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Likewise.
1313 * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Likewise.
1314 * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: Likewise.
1315 * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Likewise.
1316 * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: Likewise.
1317 * testsuite/27_io/basic_filebuf/sputc/char/59427.cc: Likewise.
1318 * testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Likewise.
1319 * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: Likewise.
1320 * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Likewise.
1321 * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Likewise.
1322 * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: Likewise.
1323 * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: Likewise.
1324 * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: Likewise.
1325 * testsuite/27_io/basic_filebuf/sputn/char/59427.cc: Likewise.
1326 * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Likewise.
1327 * testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Likewise.
1328 * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Likewise.
1329 * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Likewise.
1330 * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Likewise.
1331 * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Likewise.
1332 * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Likewise.
1333 * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: Likewise.
1334 * testsuite/27_io/basic_filebuf/sync/char/1057.cc: Likewise.
1335 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Likewise.
1336 * testsuite/27_io/basic_filebuf/underflow/char/1.cc: Likewise.
1337 * testsuite/27_io/basic_filebuf/underflow/char/2.cc: Likewise.
1338 * testsuite/27_io/basic_filebuf/underflow/char/3.cc: Likewise.
1339 * testsuite/27_io/basic_filebuf/underflow/char/45841.cc: Likewise.
1340 * testsuite/27_io/basic_filebuf/underflow/char/9027.cc: Likewise.
1341 * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
1342 * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: Likewise.
1343 * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: Likewise.
1344 * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: Likewise.
1345 * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: Likewise.
1346 * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: Likewise.
1347 * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: Likewise.
1348 * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: Likewise.
1349 * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
1350 * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
1351 * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: Likewise.
1352 * testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc: Likewise.
1353 * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: Likewise.
1354 * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Likewise.
1355 * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
1356 * testsuite/27_io/basic_fstream/cons/1.cc: Likewise.
1357 * testsuite/27_io/basic_fstream/rdbuf/char/2832.cc: Likewise.
1358 * testsuite/27_io/basic_ifstream/cons/2020.cc: Likewise.
1359 * testsuite/27_io/basic_ifstream/cons/char/1.cc: Likewise.
1360 * testsuite/27_io/basic_ifstream/open/char/1.cc: Likewise.
1361 * testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc: Likewise.
1362 * testsuite/27_io/basic_ios/clear/char/1.cc: Likewise.
1363 * testsuite/27_io/basic_ios/cons/2020.cc: Likewise.
1364 * testsuite/27_io/basic_ios/cons/char/1.cc: Likewise.
1365 * testsuite/27_io/basic_ios/cons/char/2.cc: Likewise.
1366 * testsuite/27_io/basic_ios/cons/char/3.cc: Likewise.
1367 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise.
1368 * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
1369 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
1370 * testsuite/27_io/basic_ios/imbue/14072.cc: Likewise.
1371 * testsuite/27_io/basic_ios/locales/char/1.cc: Likewise.
1372 * testsuite/27_io/basic_iostream/cons/2020.cc: Likewise.
1373 * testsuite/27_io/basic_istream/cons/3.cc: Likewise.
1374 * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Likewise.
1375 * testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc: Likewise.
1376 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1377 Likewise.
1378 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1379 Likewise.
1380 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1381 Likewise.
1382 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1383 Likewise.
1384 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1385 Likewise.
1386 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1387 Likewise.
1388 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1389 Likewise.
1390 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1391 Likewise.
1392 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1393 Likewise.
1394 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1395 Likewise.
1396 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1397 Likewise.
1398 * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
1399 Likewise.
1400 * testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc:
1401 Likewise.
1402 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1403 exceptions_badbit_throw.cc: Likewise.
1404 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1405 exceptions_failbit.cc: Likewise.
1406 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1407 exceptions_failbit_throw.cc: Likewise.
1408 * testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc:
1409 Likewise.
1410 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
1411 Likewise.
1412 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/02.cc:
1413 Likewise.
1414 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/03.cc:
1415 Likewise.
1416 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/06.cc:
1417 Likewise.
1418 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc:
1419 Likewise.
1420 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/08.cc:
1421 Likewise.
1422 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
1423 Likewise.
1424 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
1425 Likewise.
1426 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/11.cc:
1427 Likewise.
1428 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1429 Likewise.
1430 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc:
1431 Likewise.
1432 * testsuite/27_io/basic_istream/extractors_arithmetic/
1433 wchar_t/9555-ia.cc: Likewise.
1434 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1435 dr696.cc: Likewise.
1436 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1437 exceptions_badbit_throw.cc: Likewise.
1438 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1439 exceptions_failbit.cc: Likewise.
1440 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1441 exceptions_failbit_throw.cc: Likewise.
1442 * testsuite/27_io/basic_istream/extractors_character/char/1.cc:
1443 Likewise.
1444 * testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc:
1445 Likewise.
1446 * testsuite/27_io/basic_istream/extractors_character/char/2.cc:
1447 Likewise.
1448 * testsuite/27_io/basic_istream/extractors_character/char/3.cc:
1449 Likewise.
1450 * testsuite/27_io/basic_istream/extractors_character/char/4.cc:
1451 Likewise.
1452 * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
1453 Likewise.
1454 * testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc:
1455 Likewise.
1456 * testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc:
1457 Likewise.
1458 * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1459 11095-i.cc: Likewise.
1460 * testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc:
1461 Likewise.
1462 * testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc:
1463 Likewise.
1464 * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
1465 Likewise.
1466 * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1467 9555-ic.cc: Likewise.
1468 * testsuite/27_io/basic_istream/extractors_other/char/1.cc: Likewise.
1469 * testsuite/27_io/basic_istream/extractors_other/char/2.cc: Likewise.
1470 * testsuite/27_io/basic_istream/extractors_other/char/26181.cc:
1471 Likewise.
1472 * testsuite/27_io/basic_istream/extractors_other/char/3.cc: Likewise.
1473 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1474 Likewise.
1475 * testsuite/27_io/basic_istream/extractors_other/char/9424-in.cc:
1476 Likewise.
1477 * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
1478 Likewise.
1479 * testsuite/27_io/basic_istream/extractors_other/char/
1480 error_failbit.cc: Likewise.
1481 * testsuite/27_io/basic_istream/extractors_other/char/
1482 exceptions_badbit_throw.cc: Likewise.
1483 * testsuite/27_io/basic_istream/extractors_other/char/
1484 exceptions_failbit_throw.cc: Likewise.
1485 * testsuite/27_io/basic_istream/extractors_other/char/
1486 exceptions_null.cc: Likewise.
1487 * testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc:
1488 Likewise.
1489 * testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc: Likewise.
1490 * testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc: Likewise.
1491 * testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc:
1492 Likewise.
1493 * testsuite/27_io/basic_istream/extractors_other/wchar_t/3.cc: Likewise.
1494 * testsuite/27_io/basic_istream/extractors_other/wchar_t/9318-in.cc:
1495 Likewise.
1496 * testsuite/27_io/basic_istream/extractors_other/wchar_t/9424-in.cc:
1497 Likewise.
1498 * testsuite/27_io/basic_istream/extractors_other/wchar_t/9555-io.cc:
1499 Likewise.
1500 * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1501 error_failbit.cc: Likewise.
1502 * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1503 exceptions_badbit_throw.cc: Likewise.
1504 * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1505 exceptions_failbit_throw.cc: Likewise.
1506 * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1507 exceptions_null.cc: Likewise.
1508 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1509 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1510 * testsuite/27_io/basic_istream/get/char/3.cc: Likewise.
1511 * testsuite/27_io/basic_istream/get/wchar_t/1.cc: Likewise.
1512 * testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise.
1513 * testsuite/27_io/basic_istream/get/wchar_t/3.cc: Likewise.
1514 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1515 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1516 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1517 * testsuite/27_io/basic_istream/getline/char/4.cc: Likewise.
1518 * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
1519 * testsuite/27_io/basic_istream/getline/char/6.cc: Likewise.
1520 * testsuite/27_io/basic_istream/getline/wchar_t/1.cc: Likewise.
1521 * testsuite/27_io/basic_istream/getline/wchar_t/2.cc: Likewise.
1522 * testsuite/27_io/basic_istream/getline/wchar_t/3.cc: Likewise.
1523 * testsuite/27_io/basic_istream/getline/wchar_t/4.cc: Likewise.
1524 * testsuite/27_io/basic_istream/getline/wchar_t/5.cc: Likewise.
1525 * testsuite/27_io/basic_istream/getline/wchar_t/6.cc: Likewise.
1526 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1527 * testsuite/27_io/basic_istream/ignore/char/2.cc: Likewise.
1528 * testsuite/27_io/basic_istream/ignore/char/3.cc: Likewise.
1529 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1530 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1531 * testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
1532 * testsuite/27_io/basic_istream/ignore/wchar_t/2.cc: Likewise.
1533 * testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise.
1534 * testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc: Likewise.
1535 * testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc: Likewise.
1536 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1537 * testsuite/27_io/basic_istream/peek/char/12296.cc: Likewise.
1538 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1539 * testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise.
1540 * testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise.
1541 * testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise.
1542 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1543 * testsuite/27_io/basic_istream/putback/wchar_t/1.cc: Likewise.
1544 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1545 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1546 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1547 * testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
1548 * testsuite/27_io/basic_istream/read/wchar_t/2.cc: Likewise.
1549 * testsuite/27_io/basic_istream/read/wchar_t/3.cc: Likewise.
1550 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc: Likewise.
1551 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Likewise.
1552 * testsuite/27_io/basic_istream/readsome/char/8258.cc: Likewise.
1553 * testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc: Likewise.
1554 * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Likewise.
1555 * testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc: Likewise.
1556 * testsuite/27_io/basic_istream/seekg/char/2.cc: Likewise.
1557 * testsuite/27_io/basic_istream/seekg/char/26211.cc: Likewise.
1558 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1559 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1560 * testsuite/27_io/basic_istream/seekg/char/
1561 exceptions_badbit_throw.cc: Likewise.
1562 * testsuite/27_io/basic_istream/seekg/char/fstream.cc: Likewise.
1563 * testsuite/27_io/basic_istream/seekg/char/sstream.cc: Likewise.
1564 * testsuite/27_io/basic_istream/seekg/wchar_t/2.cc: Likewise.
1565 * testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
1566 * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
1567 * testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise.
1568 * testsuite/27_io/basic_istream/seekg/wchar_t/
1569 exceptions_badbit_throw.cc: Likewise.
1570 * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
1571 * testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise.
1572 * testsuite/27_io/basic_istream/sentry/char/1.cc: Likewise.
1573 * testsuite/27_io/basic_istream/sentry/char/2.cc: Likewise.
1574 * testsuite/27_io/basic_istream/sentry/char/3.cc: Likewise.
1575 * testsuite/27_io/basic_istream/sentry/pod/1.cc: Likewise.
1576 * testsuite/27_io/basic_istream/sentry/wchar_t/1.cc: Likewise.
1577 * testsuite/27_io/basic_istream/sentry/wchar_t/2.cc: Likewise.
1578 * testsuite/27_io/basic_istream/sentry/wchar_t/3.cc: Likewise.
1579 * testsuite/27_io/basic_istream/tellg/char/1.cc: Likewise.
1580 * testsuite/27_io/basic_istream/tellg/char/2.cc: Likewise.
1581 * testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
1582 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1583 * testsuite/27_io/basic_istream/tellg/char/
1584 exceptions_badbit_throw.cc: Likewise.
1585 * testsuite/27_io/basic_istream/tellg/char/fstream.cc: Likewise.
1586 * testsuite/27_io/basic_istream/tellg/char/sstream.cc: Likewise.
1587 * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
1588 * testsuite/27_io/basic_istream/tellg/wchar_t/2.cc: Likewise.
1589 * testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
1590 * testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
1591 * testsuite/27_io/basic_istream/tellg/wchar_t/
1592 exceptions_badbit_throw.cc: Likewise.
1593 * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
1594 * testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise.
1595 * testsuite/27_io/basic_istream/ws/char/1.cc: Likewise.
1596 * testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise.
1597 * testsuite/27_io/basic_istringstream/cons/2020.cc: Likewise.
1598 * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Likewise.
1599 * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: Likewise.
1600 * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise.
1601 * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
1602 * testsuite/27_io/basic_ofstream/cons/2020.cc: Likewise.
1603 * testsuite/27_io/basic_ofstream/cons/char/1.cc: Likewise.
1604 * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise.
1605 * testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc: Likewise.
1606 * testsuite/27_io/basic_ostream/cons/2020.cc: Likewise.
1607 * testsuite/27_io/basic_ostream/cons/char/9827.cc: Likewise.
1608 * testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: Likewise.
1609 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1610 * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise.
1611 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise.
1612 * testsuite/27_io/basic_ostream/ends/char/2.cc: Likewise.
1613 * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise.
1614 * testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise.
1615 * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise.
1616 * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise.
1617 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1618 * testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise.
1619 * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
1620 Likewise.
1621 * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise.
1622 * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise.
1623 * testsuite/27_io/basic_ostream/flush/wchar_t/
1624 exceptions_badbit_throw.cc: Likewise.
1625 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1626 Likewise.
1627 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1628 Likewise.
1629 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc:
1630 Likewise.
1631 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4.cc:
1632 Likewise.
1633 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc:
1634 Likewise.
1635 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/5.cc:
1636 Likewise.
1637 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc:
1638 Likewise.
1639 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc:
1640 Likewise.
1641 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
1642 Likewise.
1643 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1644 exceptions_badbit_throw.cc: Likewise.
1645 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1646 exceptions_failbit_throw.cc: Likewise.
1647 * testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc:
1648 Likewise.
1649 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1650 Likewise.
1651 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
1652 Likewise.
1653 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/3.cc:
1654 Likewise.
1655 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4.cc:
1656 Likewise.
1657 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc:
1658 Likewise.
1659 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc:
1660 Likewise.
1661 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc:
1662 Likewise.
1663 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc:
1664 Likewise.
1665 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1666 9555-oa.cc: Likewise.
1667 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1668 exceptions_badbit_throw.cc: Likewise.
1669 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1670 exceptions_failbit_throw.cc: Likewise.
1671 * testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc:
1672 Likewise.
1673 * testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc:
1674 Likewise.
1675 * testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc:
1676 Likewise.
1677 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc: Likewise.
1678 * testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc:
1679 Likewise.
1680 * testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc:
1681 Likewise.
1682 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc: Likewise.
1683 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc: Likewise.
1684 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc: Likewise.
1685 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc: Likewise.
1686 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc: Likewise.
1687 * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
1688 Likewise.
1689 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1690 11095-od.cc: Likewise.
1691 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1692 11095-oe.cc: Likewise.
1693 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1694 11095-of.cc: Likewise.
1695 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/2.cc:
1696 Likewise.
1697 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1698 28277-1.cc: Likewise.
1699 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1700 28277-2.cc: Likewise.
1701 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1702 28277-3.cc: Likewise.
1703 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1704 28277-4.cc: Likewise.
1705 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/3.cc:
1706 Likewise.
1707 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc:
1708 Likewise.
1709 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/5.cc:
1710 Likewise.
1711 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/6.cc:
1712 Likewise.
1713 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1714 Likewise.
1715 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1716 Likewise.
1717 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1718 9555-oc.cc: Likewise.
1719 * testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Likewise.
1720 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Likewise.
1721 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Likewise.
1722 * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: Likewise.
1723 * testsuite/27_io/basic_ostream/inserters_other/char/9318-out.cc:
1724 Likewise.
1725 * testsuite/27_io/basic_ostream/inserters_other/char/9424-out.cc:
1726 Likewise.
1727 * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
1728 Likewise.
1729 * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
1730 Likewise.
1731 * testsuite/27_io/basic_ostream/inserters_other/char/
1732 error_failbit.cc: Likewise.
1733 * testsuite/27_io/basic_ostream/inserters_other/char/
1734 exceptions_badbit_throw.cc: Likewise.
1735 * testsuite/27_io/basic_ostream/inserters_other/char/
1736 exceptions_failbit_throw.cc: Likewise.
1737 * testsuite/27_io/basic_ostream/inserters_other/char/
1738 exceptions_null.cc: Likewise.
1739 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc: Likewise.
1740 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc: Likewise.
1741 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/4.cc: Likewise.
1742 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/5.cc: Likewise.
1743 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1744 9318-out.cc: Likewise.
1745 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1746 9424-out.cc: Likewise.
1747 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1748 9555-oo.cc: Likewise.
1749 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1750 error_code.cc: Likewise.
1751 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1752 error_failbit.cc: Likewise.
1753 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1754 exceptions_badbit_throw.cc: Likewise.
1755 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1756 exceptions_failbit_throw.cc: Likewise.
1757 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1758 exceptions_null.cc: Likewise.
1759 * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
1760 * testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise.
1761 * testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc: Likewise.
1762 * testsuite/27_io/basic_ostream/seekp/char/2346-sstream.cc: Likewise.
1763 * testsuite/27_io/basic_ostream/seekp/char/
1764 exceptions_badbit_throw.cc: Likewise.
1765 * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc: Likewise.
1766 * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-sstream.cc: Likewise.
1767 * testsuite/27_io/basic_ostream/seekp/wchar_t/
1768 exceptions_badbit_throw.cc: Likewise.
1769 * testsuite/27_io/basic_ostream/sentry/char/1.cc: Likewise.
1770 * testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise.
1771 * testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise.
1772 * testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise.
1773 * testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise.
1774 * testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
1775 * testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
1776 * testsuite/27_io/basic_ostream/tellp/char/
1777 exceptions_badbit_throw.cc: Likewise.
1778 * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
1779 * testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise.
1780 * testsuite/27_io/basic_ostream/tellp/wchar_t/
1781 exceptions_badbit_throw.cc: Likewise.
1782 * testsuite/27_io/basic_ostream/write/char/1.cc: Likewise.
1783 * testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise.
1784 * testsuite/27_io/basic_ostringstream/cons/2020.cc: Likewise.
1785 * testsuite/27_io/basic_ostringstream/cons/char/3.cc: Likewise.
1786 * testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise.
1787 * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc: Likewise.
1788 * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise.
1789 * testsuite/27_io/basic_ostringstream/str/char/1.cc: Likewise.
1790 * testsuite/27_io/basic_ostringstream/str/char/2.cc: Likewise.
1791 * testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
1792 * testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise.
1793 * testsuite/27_io/basic_streambuf/cons/2020.cc: Likewise.
1794 * testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise.
1795 * testsuite/27_io/basic_streambuf/cons/char/1.cc: Likewise.
1796 * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
1797 * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: Likewise.
1798 * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
1799 * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
1800 * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: Likewise.
1801 * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
1802 * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
1803 * testsuite/27_io/basic_streambuf/in_avail/char/1.cc: Likewise.
1804 * testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc: Likewise.
1805 * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
1806 * testsuite/27_io/basic_streambuf/overflow/char/2.cc: Likewise.
1807 * testsuite/27_io/basic_streambuf/overflow/char/3599.cc: Likewise.
1808 * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc: Likewise.
1809 * testsuite/27_io/basic_streambuf/overflow/wchar_t/2.cc: Likewise.
1810 * testsuite/27_io/basic_streambuf/overflow/wchar_t/3599.cc: Likewise.
1811 * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
1812 * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
1813 * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
1814 * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
1815 * testsuite/27_io/basic_streambuf/sputbackc/char/9538.cc: Likewise.
1816 * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
1817 * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
1818 * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
1819 * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
1820 * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
1821 * testsuite/27_io/basic_stringbuf/cons/2020.cc: Likewise.
1822 * testsuite/27_io/basic_stringbuf/cons/char/1.cc: Likewise.
1823 * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
1824 * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Likewise.
1825 * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
1826 * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Likewise.
1827 * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
1828 * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Likewise.
1829 * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
1830 * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: Likewise.
1831 * testsuite/27_io/basic_stringbuf/overflow/char/2.cc: Likewise.
1832 * testsuite/27_io/basic_stringbuf/overflow/char/26250.cc: Likewise.
1833 * testsuite/27_io/basic_stringbuf/overflow/char/3599.cc: Likewise.
1834 * testsuite/27_io/basic_stringbuf/overflow/char/9988.cc: Likewise.
1835 * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc: Likewise.
1836 * testsuite/27_io/basic_stringbuf/overflow/wchar_t/2.cc: Likewise.
1837 * testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc: Likewise.
1838 * testsuite/27_io/basic_stringbuf/overflow/wchar_t/3599.cc: Likewise.
1839 * testsuite/27_io/basic_stringbuf/overflow/wchar_t/9988.cc: Likewise.
1840 * testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: Likewise.
1841 * testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
1842 * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
1843 * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
1844 * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Likewise.
1845 * testsuite/27_io/basic_stringbuf/sbumpc/char/9825.cc: Likewise.
1846 * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Likewise.
1847 * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/9825.cc: Likewise.
1848 * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Likewise.
1849 * testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: Likewise.
1850 * testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: Likewise.
1851 * testsuite/27_io/basic_stringbuf/seekoff/char/2.cc: Likewise.
1852 * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
1853 * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
1854 * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: Likewise.
1855 * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/2.cc: Likewise.
1856 * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
1857 * testsuite/27_io/basic_stringbuf/seekpos/char/2.cc: Likewise.
1858 * testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc: Likewise.
1859 * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Likewise.
1860 * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
1861 * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/2.cc: Likewise.
1862 * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc: Likewise.
1863 * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/3.cc: Likewise.
1864 * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Likewise.
1865 * testsuite/27_io/basic_stringbuf/setbuf/char/2.cc: Likewise.
1866 * testsuite/27_io/basic_stringbuf/setbuf/char/3.cc: Likewise.
1867 * testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: Likewise.
1868 * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Likewise.
1869 * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/2.cc: Likewise.
1870 * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/3.cc: Likewise.
1871 * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.
1872 * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Likewise.
1873 * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
1874 * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Likewise.
1875 * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
1876 * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Likewise.
1877 * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
1878 * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Likewise.
1879 * testsuite/27_io/basic_stringbuf/sputbackc/char/9425.cc: Likewise.
1880 * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Likewise.
1881 * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc: Likewise.
1882 * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Likewise.
1883 * testsuite/27_io/basic_stringbuf/sputc/char/9404-1.cc: Likewise.
1884 * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Likewise.
1885 * testsuite/27_io/basic_stringbuf/sputc/wchar_t/9404-1.cc: Likewise.
1886 * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Likewise.
1887 * testsuite/27_io/basic_stringbuf/sputn/char/9404-2.cc: Likewise.
1888 * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Likewise.
1889 * testsuite/27_io/basic_stringbuf/sputn/wchar_t/9404-2.cc: Likewise.
1890 * testsuite/27_io/basic_stringbuf/str/char/1.cc: Likewise.
1891 * testsuite/27_io/basic_stringbuf/str/char/2.cc: Likewise.
1892 * testsuite/27_io/basic_stringbuf/str/char/3.cc: Likewise.
1893 * testsuite/27_io/basic_stringbuf/str/char/3955.cc: Likewise.
1894 * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc: Likewise.
1895 * testsuite/27_io/basic_stringbuf/str/wchar_t/2.cc: Likewise.
1896 * testsuite/27_io/basic_stringbuf/str/wchar_t/3.cc: Likewise.
1897 * testsuite/27_io/basic_stringbuf/str/wchar_t/3955.cc: Likewise.
1898 * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise.
1899 * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
1900 * testsuite/27_io/basic_stringbuf/sync/char/1057.cc: Likewise.
1901 * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
1902 * testsuite/27_io/basic_stringstream/cons/2020.cc: Likewise.
1903 * testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Likewise.
1904 * testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: Likewise.
1905 * testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise.
1906 * testsuite/27_io/basic_stringstream/str/char/2.cc: Likewise.
1907 * testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise.
1908 * testsuite/27_io/basic_stringstream/str/char/4.cc: Likewise.
1909 * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
1910 * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise.
1911 * testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise.
1912 * testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise.
1913 * testsuite/27_io/fpos/11450.cc: Likewise.
1914 * testsuite/27_io/fpos/14252.cc: Likewise.
1915 * testsuite/27_io/fpos/14320-1.cc: Likewise.
1916 * testsuite/27_io/fpos/14320-2.cc: Likewise.
1917 * testsuite/27_io/fpos/14320-3.cc: Likewise.
1918 * testsuite/27_io/fpos/14320-4.cc: Likewise.
1919 * testsuite/27_io/fpos/14320-5.cc: Likewise.
1920 * testsuite/27_io/fpos/14775.cc: Likewise.
1921 * testsuite/27_io/fpos/mbstate_t/1.cc: Likewise.
1922 * testsuite/27_io/fpos/mbstate_t/12065.cc: Likewise.
1923 * testsuite/27_io/fpos/mbstate_t/2.cc: Likewise.
1924 * testsuite/27_io/fpos/mbstate_t/3.cc: Likewise.
1925 * testsuite/27_io/ios_base/callbacks/1.cc: Likewise.
1926 * testsuite/27_io/ios_base/failure/what-1.cc: Likewise.
1927 * testsuite/27_io/ios_base/failure/what-2.cc: Likewise.
1928 * testsuite/27_io/ios_base/failure/what-3.cc: Likewise.
1929 * testsuite/27_io/ios_base/failure/what-big.cc: Likewise.
1930 * testsuite/27_io/ios_base/state/1.cc: Likewise.
1931 * testsuite/27_io/ios_base/storage/1.cc: Likewise.
1932 * testsuite/27_io/ios_base/storage/11584.cc: Likewise.
1933 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
1934 * testsuite/27_io/ios_base/sync_with_stdio/2.cc: Likewise.
1935 * testsuite/27_io/manipulators/adjustfield/char/1.cc: Likewise.
1936 * testsuite/27_io/manipulators/adjustfield/char/2.cc
1937 * testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: Likewise.
1938 * testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise.
1939 * testsuite/27_io/manipulators/basefield/char/1.cc: Likewise.
1940 * testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise.
1941 * testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
1942 * testsuite/27_io/manipulators/extended/get_money/char/51288.cc:
1943 Likewise.
1944 * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
1945 Likewise.
1946 * testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc:
1947 Likewise.
1948 * testsuite/27_io/manipulators/extended/get_time/char/1.cc
1949 * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise.
1950 * testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc: Likewise.
1951 * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Likewise.
1952 * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
1953 * testsuite/27_io/manipulators/extended/put_money/char/51288.cc:
1954 Likewise.
1955 * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
1956 Likewise.
1957 * testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc:
1958 Likewise.
1959 * testsuite/27_io/manipulators/extended/put_time/char/1.cc: Likewise.
1960 * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise.
1961 * testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc: Likewise.
1962 * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Likewise.
1963 * testsuite/27_io/manipulators/standard/char/1.cc: Likewise.
1964 * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
1965 * testsuite/27_io/manipulators/standard/char/dr2344.cc: Likewise.
1966 * testsuite/27_io/manipulators/standard/char/quoted.cc: Likewise.
1967 * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
1968 * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
1969 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: Likewise.
1970 * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Likewise.
1971 * testsuite/27_io/objects/char/1.cc: Likewise.
1972 * testsuite/27_io/objects/char/10.cc: Likewise.
1973 * testsuite/27_io/objects/char/3045.cc: Likewise.
1974 * testsuite/27_io/objects/char/41037.cc: Likewise.
1975 * testsuite/27_io/objects/char/5.cc: Likewise.
1976 * testsuite/27_io/objects/char/6.cc: Likewise.
1977 * testsuite/27_io/objects/char/6548_xin.cc: Likewise.
1978 * testsuite/27_io/objects/char/6648-1_xin.cc: Likewise.
1979 * testsuite/27_io/objects/char/6648-2_xin.cc: Likewise.
1980 * testsuite/27_io/objects/char/7744_xin.cc: Likewise.
1981 * testsuite/27_io/objects/char/8.cc: Likewise.
1982 * testsuite/27_io/objects/char/9.cc: Likewise.
1983 * testsuite/27_io/objects/char/9661-2_xin.cc: Likewise.
1984 * testsuite/27_io/objects/char/dr455.cc: Likewise.
1985 * testsuite/27_io/objects/wchar_t/1.cc: Likewise.
1986 * testsuite/27_io/objects/wchar_t/10.cc: Likewise.
1987 * testsuite/27_io/objects/wchar_t/11.cc: Likewise.
1988 * testsuite/27_io/objects/wchar_t/12.cc: Likewise.
1989 * testsuite/27_io/objects/wchar_t/13.cc: Likewise.
1990 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise.
1991 * testsuite/27_io/objects/wchar_t/3045.cc: Likewise.
1992 * testsuite/27_io/objects/wchar_t/41037.cc: Likewise.
1993 * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
1994 * testsuite/27_io/objects/wchar_t/6548_xin.cc: Likewise.
1995 * testsuite/27_io/objects/wchar_t/6648-1_xin.cc: Likewise.
1996 * testsuite/27_io/objects/wchar_t/6648-2_xin.cc: Likewise.
1997 * testsuite/27_io/objects/wchar_t/7744_xin.cc: Likewise.
1998 * testsuite/27_io/objects/wchar_t/8.cc: Likewise.
1999 * testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
2000 * testsuite/27_io/objects/wchar_t/9661-2_xin.cc: Likewise.
2001 * testsuite/27_io/objects/wchar_t/9662.cc: Likewise.
2002 * testsuite/27_io/objects/wchar_t/dr455.cc: Likewise.
2003 * testsuite/27_io/types/3.cc: Likewise.
2004
12d3f34b
JW
20052016-10-17 Jonathan Wakely <jwakely@redhat.com>
2006
2007 PR libstdc++/77994
2008 * include/bits/stl_algo.h (sample): Convert size argument to iterator
2009 difference type.
2010 * include/experimental/algorithm (experimental::sample): Likewise.
2011 * testsuite/25_algorithms/sample/2.cc: New test.
2012
a9260b7e
PC
20132016-10-17 Paolo Carlini <paolo.carlini@oracle.com>
2014
2015 * testsuite/unordered_map/insert/57619.C: Rename to 57619.cc.
2016 * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
2017
20182016-10-17 Paolo Carlini <paolo.carlini@oracle.com>
2019
2020 * testsuite/array/capacity/empty.cc: Remove 'test' variables.
2021 * testsuite/array/capacity/max_size.cc: Likewise.
2022 * testsuite/array/capacity/size.cc: Likewise.
2023 * testsuite/array/comparison_operators/equal.cc: Likewise.
2024 * testsuite/array/comparison_operators/greater.cc: Likewise.
2025 * testsuite/array/comparison_operators/greater_or_equal.cc: Likewise.
2026 * testsuite/array/comparison_operators/less.cc: Likewise.
2027 * testsuite/array/comparison_operators/less_or_equal.cc: Likewise.
2028 * testsuite/array/comparison_operators/not_equal.cc: Likewise.
2029 * testsuite/array/element_access/54388.cc: Likewise.
2030 * testsuite/array/element_access/at_out_of_range.cc: Likewise.
2031 * testsuite/array/element_access/back.cc: Likewise.
2032 * testsuite/array/element_access/data.cc: Likewise.
2033 * testsuite/array/element_access/front.cc: Likewise.
2034 * testsuite/array/iterators/end_is_one_past.cc: Likewise.
2035 * testsuite/array/requirements/contiguous.cc: Likewise.
2036 * testsuite/array/requirements/fill.cc: Likewise.
2037 * testsuite/array/requirements/member_swap.cc: Likewise.
2038 * testsuite/array/requirements/zero_sized_arrays.cc: Likewise.
2039 * testsuite/array/specialized_algorithms/swap.cc: Likewise.
2040 * testsuite/array/tuple_interface/tuple_element.cc: Likewise.
2041 * testsuite/array/tuple_interface/tuple_element_cpp14.cc: Likewise.
2042 * testsuite/array/tuple_interface/tuple_size.cc: Likewise.
2043 * testsuite/bitset/all/1.cc: Likewise.
2044 * testsuite/bitset/cons/1.cc: Likewise.
2045 * testsuite/bitset/cons/16020.cc: Likewise.
2046 * testsuite/bitset/cons/2.cc: Likewise.
2047 * testsuite/bitset/cons/3.cc: Likewise.
2048 * testsuite/bitset/cons/50268.cc: Likewise.
2049 * testsuite/bitset/cons/6282.cc: Likewise.
2050 * testsuite/bitset/cons/dr1325-2.cc: Likewise.
2051 * testsuite/bitset/cons/dr396.cc: Likewise.
2052 * testsuite/bitset/ext/15361.cc: Likewise.
2053 * testsuite/bitset/input/1.cc: Likewise.
2054 * testsuite/bitset/operations/1.cc: Likewise.
2055 * testsuite/bitset/operations/13838.cc: Likewise.
2056 * testsuite/bitset/operations/2.cc: Likewise.
2057 * testsuite/bitset/test/1.cc: Likewise.
2058 * testsuite/bitset/to_string/1.cc: Likewise.
2059 * testsuite/bitset/to_string/dr396.cc: Likewise.
2060 * testsuite/bitset/to_ullong/1.cc: Likewise.
2061 * testsuite/bitset/to_ulong/1.cc: Likewise.
2062 * testsuite/deque/allocator/copy.cc: Likewise.
2063 * testsuite/deque/allocator/copy_assign.cc: Likewise.
2064 * testsuite/deque/allocator/ext_ptr.cc: Likewise.
2065 * testsuite/deque/allocator/minimal.cc: Likewise.
2066 * testsuite/deque/allocator/move.cc: Likewise.
2067 * testsuite/deque/allocator/move_assign.cc: Likewise.
2068 * testsuite/deque/allocator/swap.cc: Likewise.
2069 * testsuite/deque/capacity/29134-2.cc: Likewise.
2070 * testsuite/deque/capacity/29134.cc: Likewise.
2071 * testsuite/deque/capacity/moveable.cc: Likewise.
2072 * testsuite/deque/capacity/resize_size.cc: Likewise.
2073 * testsuite/deque/capacity/shrink_to_fit.cc: Likewise.
2074 * testsuite/deque/cons/1.cc: Likewise.
2075 * testsuite/deque/cons/2.cc: Likewise.
2076 * testsuite/deque/cons/assign/1.cc: Likewise.
2077 * testsuite/deque/cons/cons_size.cc: Likewise.
2078 * testsuite/deque/cons/moveable.cc: Likewise.
2079 * testsuite/deque/modifiers/erase/1.cc: Likewise.
2080 * testsuite/deque/modifiers/erase/2.cc: Likewise.
2081 * testsuite/deque/modifiers/erase/3.cc: Likewise.
2082 * testsuite/deque/modifiers/erase/moveable.cc: Likewise.
2083 * testsuite/deque/modifiers/moveable.cc: Likewise.
2084 * testsuite/deque/modifiers/push_back/49836.cc: Likewise.
2085 * testsuite/deque/modifiers/push_front/49836.cc: Likewise.
2086 * testsuite/deque/modifiers/swap/1.cc: Likewise.
2087 * testsuite/deque/modifiers/swap/2.cc: Likewise.
2088 * testsuite/deque/modifiers/swap/3.cc: Likewise.
2089 * testsuite/deque/operators/1.cc: Likewise.
2090 * testsuite/deque/operators/2.cc: Likewise.
2091 * testsuite/forward_list/allocator/copy.cc: Likewise.
2092 * testsuite/forward_list/allocator/copy_assign.cc: Likewise.
2093 * testsuite/forward_list/allocator/ext_ptr.cc: Likewise.
2094 * testsuite/forward_list/allocator/minimal.cc: Likewise.
2095 * testsuite/forward_list/allocator/move.cc: Likewise.
2096 * testsuite/forward_list/allocator/move_assign.cc: Likewise.
2097 * testsuite/forward_list/allocator/swap.cc: Likewise.
2098 * testsuite/forward_list/capacity/1.cc: Likewise.
2099 * testsuite/forward_list/capacity/resize_size.cc: Likewise.
2100 * testsuite/forward_list/comparable.cc: Likewise.
2101 * testsuite/forward_list/cons/1.cc: Likewise.
2102 * testsuite/forward_list/cons/2.cc: Likewise.
2103 * testsuite/forward_list/cons/3.cc: Likewise.
2104 * testsuite/forward_list/cons/4.cc: Likewise.
2105 * testsuite/forward_list/cons/5.cc: Likewise.
2106 * testsuite/forward_list/cons/6.cc: Likewise.
2107 * testsuite/forward_list/cons/7.cc: Likewise.
2108 * testsuite/forward_list/cons/8.cc: Likewise.
2109 * testsuite/forward_list/cons/9.cc: Likewise.
2110 * testsuite/forward_list/cons/cons_size.cc: Likewise.
2111 * testsuite/forward_list/cons/moveable.cc: Likewise.
2112 * testsuite/forward_list/debug/clear.cc: Likewise.
2113 * testsuite/forward_list/debug/construct4_neg.cc: Likewise.
2114 * testsuite/forward_list/debug/erase_after1_neg.cc: Likewise.
2115 * testsuite/forward_list/debug/move_assign_neg.cc: Likewise.
2116 * testsuite/forward_list/debug/move_constructor.cc: Likewise.
2117 * testsuite/forward_list/debug/move_neg.cc: Likewise.
2118 * testsuite/forward_list/debug/splice_after.cc: Likewise.
2119 * testsuite/forward_list/debug/swap.cc: Likewise.
2120 * testsuite/forward_list/modifiers/1.cc: Likewise.
2121 * testsuite/forward_list/modifiers/2.cc: Likewise.
2122 * testsuite/forward_list/modifiers/3.cc: Likewise.
2123 * testsuite/forward_list/modifiers/4.cc: Likewise.
2124 * testsuite/forward_list/modifiers/5.cc: Likewise.
2125 * testsuite/forward_list/modifiers/6.cc: Likewise.
2126 * testsuite/forward_list/operations/1.cc: Likewise.
2127 * testsuite/forward_list/operations/2.cc: Likewise.
2128 * testsuite/forward_list/operations/3.cc: Likewise.
2129 * testsuite/forward_list/operations/4.cc: Likewise.
2130 * testsuite/forward_list/operations/5.cc: Likewise.
2131 * testsuite/forward_list/operations/6.cc: Likewise.
2132 * testsuite/forward_list/operations/7.cc: Likewise.
2133 * testsuite/forward_list/operations/remove_freed.cc: Likewise.
2134 * testsuite/list/61347.cc: Likewise.
2135 * testsuite/list/allocator/copy.cc: Likewise.
2136 * testsuite/list/allocator/copy_assign.cc: Likewise.
2137 * testsuite/list/allocator/minimal.cc: Likewise.
2138 * testsuite/list/allocator/move.cc: Likewise.
2139 * testsuite/list/allocator/move_assign.cc: Likewise.
2140 * testsuite/list/allocator/swap.cc: Likewise.
2141 * testsuite/list/capacity/1.h: Likewise.
2142 * testsuite/list/capacity/29134.cc: Likewise.
2143 * testsuite/list/capacity/resize_size.cc: Likewise.
2144 * testsuite/list/cons/1.h: Likewise.
2145 * testsuite/list/cons/2.h: Likewise.
2146 * testsuite/list/cons/3.h: Likewise.
2147 * testsuite/list/cons/4.h: Likewise.
2148 * testsuite/list/cons/5.h: Likewise.
2149 * testsuite/list/cons/6.h: Likewise.
2150 * testsuite/list/cons/7.h: Likewise.
2151 * testsuite/list/cons/8.h: Likewise.
2152 * testsuite/list/cons/9.h: Likewise.
2153 * testsuite/list/cons/cons_size.cc: Likewise.
2154 * testsuite/list/cons/moveable.h: Likewise.
2155 * testsuite/list/debug/invalidation/1.cc: Likewise.
2156 * testsuite/list/debug/invalidation/2.cc: Likewise.
2157 * testsuite/list/debug/invalidation/3.cc: Likewise.
2158 * testsuite/list/debug/invalidation/4.cc: Likewise.
2159 * testsuite/list/modifiers/1.h: Likewise.
2160 * testsuite/list/modifiers/2.h: Likewise.
2161 * testsuite/list/modifiers/3.h: Likewise.
2162 * testsuite/list/modifiers/insert/25288.h: Likewise.
2163 * testsuite/list/modifiers/swap/1.h: Likewise.
2164 * testsuite/list/modifiers/swap/2.h: Likewise.
2165 * testsuite/list/modifiers/swap/3.h: Likewise.
2166 * testsuite/list/operations/1.h: Likewise.
2167 * testsuite/list/operations/2.h: Likewise.
2168 * testsuite/list/operations/3.h: Likewise.
2169 * testsuite/list/operations/4.h: Likewise.
2170 * testsuite/list/operations/42352.cc: Likewise.
2171 * testsuite/map/allocator/copy.cc: Likewise.
2172 * testsuite/map/allocator/copy_assign.cc: Likewise.
2173 * testsuite/map/allocator/init-list.cc: Likewise.
2174 * testsuite/map/allocator/minimal.cc: Likewise.
2175 * testsuite/map/allocator/move.cc: Likewise.
2176 * testsuite/map/allocator/move_assign.cc: Likewise.
2177 * testsuite/map/allocator/swap.cc: Likewise.
2178 * testsuite/map/capacity/29134.cc: Likewise.
2179 * testsuite/map/cons/moveable.cc: Likewise.
2180 * testsuite/map/debug/construct5_neg.cc: Likewise.
2181 * testsuite/map/debug/move_assign_neg.cc: Likewise.
2182 * testsuite/map/debug/move_neg.cc: Likewise.
2183 * testsuite/map/element_access/1.cc: Likewise.
2184 * testsuite/map/element_access/2.cc: Likewise.
2185 * testsuite/map/element_access/39901.cc: Likewise.
2186 * testsuite/map/init-list.cc: Likewise.
2187 * testsuite/map/modifiers/dr130.cc: Likewise.
2188 * testsuite/map/modifiers/emplace/1.cc: Likewise.
2189 * testsuite/map/modifiers/extract.cc: Likewise.
2190 * testsuite/map/modifiers/insert/1.cc: Likewise.
2191 * testsuite/map/modifiers/insert/16813.cc: Likewise.
2192 * testsuite/map/modifiers/insert/2.cc: Likewise.
2193 * testsuite/map/modifiers/insert/3.cc: Likewise.
2194 * testsuite/map/modifiers/insert/4.cc: Likewise.
2195 * testsuite/map/modifiers/insert/5.cc: Likewise.
2196 * testsuite/map/modifiers/insert_or_assign/1.cc: Likewise.
2197 * testsuite/map/modifiers/merge.cc: Likewise.
2198 * testsuite/map/modifiers/swap/1.cc: Likewise.
2199 * testsuite/map/modifiers/swap/2.cc: Likewise.
2200 * testsuite/map/modifiers/swap/3.cc: Likewise.
2201 * testsuite/map/modifiers/try_emplace/1.cc: Likewise.
2202 * testsuite/map/operations/1.cc: Likewise.
2203 * testsuite/map/operations/count.cc: Likewise.
2204 * testsuite/map/operators/1_neg.cc: Likewise.
2205 * testsuite/map/operators/2.cc: Likewise.
2206 * testsuite/multimap/allocator/copy.cc: Likewise.
2207 * testsuite/multimap/allocator/copy_assign.cc: Likewise.
2208 * testsuite/multimap/allocator/init-list.cc: Likewise.
2209 * testsuite/multimap/allocator/minimal.cc: Likewise.
2210 * testsuite/multimap/allocator/move.cc: Likewise.
2211 * testsuite/multimap/allocator/move_assign.cc: Likewise.
2212 * testsuite/multimap/allocator/swap.cc: Likewise.
2213 * testsuite/multimap/capacity/29134.cc: Likewise.
2214 * testsuite/multimap/cons/moveable.cc: Likewise.
2215 * testsuite/multimap/debug/construct5_neg.cc: Likewise.
2216 * testsuite/multimap/debug/move_assign_neg.cc: Likewise.
2217 * testsuite/multimap/debug/move_neg.cc: Likewise.
2218 * testsuite/multimap/init-list.cc: Likewise.
2219 * testsuite/multimap/modifiers/dr130.cc: Likewise.
2220 * testsuite/multimap/modifiers/emplace/1.cc: Likewise.
2221 * testsuite/multimap/modifiers/extract.cc: Likewise.
2222 * testsuite/multimap/modifiers/insert/1.cc: Likewise.
2223 * testsuite/multimap/modifiers/insert/2.cc: Likewise.
2224 * testsuite/multimap/modifiers/insert/22102.cc: Likewise.
2225 * testsuite/multimap/modifiers/insert/3.cc: Likewise.
2226 * testsuite/multimap/modifiers/insert/4.cc: Likewise.
2227 * testsuite/multimap/modifiers/merge.cc: Likewise.
2228 * testsuite/multimap/modifiers/swap/1.cc: Likewise.
2229 * testsuite/multimap/modifiers/swap/2.cc: Likewise.
2230 * testsuite/multimap/modifiers/swap/3.cc: Likewise.
2231 * testsuite/multimap/operations/1.cc: Likewise.
2232 * testsuite/multimap/operations/count.cc: Likewise.
2233 * testsuite/multiset/allocator/copy.cc: Likewise.
2234 * testsuite/multiset/allocator/copy_assign.cc: Likewise.
2235 * testsuite/multiset/allocator/init-list.cc: Likewise.
2236 * testsuite/multiset/allocator/minimal.cc: Likewise.
2237 * testsuite/multiset/allocator/move.cc: Likewise.
2238 * testsuite/multiset/allocator/move_assign.cc: Likewise.
2239 * testsuite/multiset/allocator/swap.cc: Likewise.
2240 * testsuite/multiset/capacity/29134.cc: Likewise.
2241 * testsuite/multiset/cons/moveable.cc: Likewise.
2242 * testsuite/multiset/debug/construct5_neg.cc: Likewise.
2243 * testsuite/multiset/debug/invalidation/2.cc: Likewise.
2244 * testsuite/multiset/debug/move_assign_neg.cc: Likewise.
2245 * testsuite/multiset/debug/move_neg.cc: Likewise.
2246 * testsuite/multiset/init-list.cc: Likewise.
2247 * testsuite/multiset/modifiers/dr130.cc: Likewise.
2248 * testsuite/multiset/modifiers/emplace/1.cc: Likewise.
2249 * testsuite/multiset/modifiers/extract.cc: Likewise.
2250 * testsuite/multiset/modifiers/insert/1.cc: Likewise.
2251 * testsuite/multiset/modifiers/insert/2.cc: Likewise.
2252 * testsuite/multiset/modifiers/insert/22102.cc: Likewise.
2253 * testsuite/multiset/modifiers/insert/3.cc: Likewise.
2254 * testsuite/multiset/modifiers/insert/4.cc: Likewise.
2255 * testsuite/multiset/modifiers/merge.cc: Likewise.
2256 * testsuite/multiset/modifiers/swap/1.cc: Likewise.
2257 * testsuite/multiset/modifiers/swap/2.cc: Likewise.
2258 * testsuite/multiset/modifiers/swap/3.cc: Likewise.
2259 * testsuite/multiset/operations/1.cc: Likewise.
2260 * testsuite/multiset/operations/count.cc: Likewise.
2261 * testsuite/priority_queue/moveable.cc: Likewise.
2262 * testsuite/queue/moveable.cc: Likewise.
2263 * testsuite/set/allocator/copy.cc: Likewise.
2264 * testsuite/set/allocator/copy_assign.cc: Likewise.
2265 * testsuite/set/allocator/init-list.cc: Likewise.
2266 * testsuite/set/allocator/minimal.cc: Likewise.
2267 * testsuite/set/allocator/move.cc: Likewise.
2268 * testsuite/set/allocator/move_assign.cc: Likewise.
2269 * testsuite/set/allocator/swap.cc: Likewise.
2270 * testsuite/set/capacity/29134.cc: Likewise.
2271 * testsuite/set/cons/moveable.cc: Likewise.
2272 * testsuite/set/debug/construct5_neg.cc: Likewise.
2273 * testsuite/set/debug/invalidation/2.cc: Likewise.
2274 * testsuite/set/debug/move_assign_neg.cc: Likewise.
2275 * testsuite/set/debug/move_neg.cc: Likewise.
2276 * testsuite/set/init-list.cc: Likewise.
2277 * testsuite/set/modifiers/17948.cc: Likewise.
2278 * testsuite/set/modifiers/dr130.cc: Likewise.
2279 * testsuite/set/modifiers/emplace/1.cc: Likewise.
2280 * testsuite/set/modifiers/extract.cc: Likewise.
2281 * testsuite/set/modifiers/insert/1.cc: Likewise.
2282 * testsuite/set/modifiers/insert/2.cc: Likewise.
2283 * testsuite/set/modifiers/insert/3.cc: Likewise.
2284 * testsuite/set/modifiers/merge.cc: Likewise.
2285 * testsuite/set/modifiers/swap/1.cc: Likewise.
2286 * testsuite/set/modifiers/swap/2.cc: Likewise.
2287 * testsuite/set/modifiers/swap/3.cc: Likewise.
2288 * testsuite/set/operations/1.cc: Likewise.
2289 * testsuite/set/operations/count.cc: Likewise.
2290 * testsuite/set/operators/1_neg.cc: Likewise.
2291 * testsuite/unordered_map/allocator/copy.cc: Likewise.
2292 * testsuite/unordered_map/allocator/copy_assign.cc: Likewise.
2293 * testsuite/unordered_map/allocator/minimal.cc: Likewise.
2294 * testsuite/unordered_map/allocator/move.cc: Likewise.
2295 * testsuite/unordered_map/allocator/move_assign.cc: Likewise.
2296 * testsuite/unordered_map/allocator/swap.cc: Likewise.
2297 * testsuite/unordered_map/cons/moveable.cc: Likewise.
2298 * testsuite/unordered_map/debug/construct5_neg.cc: Likewise.
2299 * testsuite/unordered_map/debug/move_assign_neg.cc: Likewise.
2300 * testsuite/unordered_map/debug/move_neg.cc: Likewise.
2301 * testsuite/unordered_map/dr761.cc: Likewise.
2302 * testsuite/unordered_map/erase/1.cc: Likewise.
2303 * testsuite/unordered_map/erase/24061-map.cc: Likewise.
2304 * testsuite/unordered_map/erase/54276.cc: Likewise.
2305 * testsuite/unordered_map/hash_policy/dr1189.cc: Likewise.
2306 * testsuite/unordered_map/init-list.cc: Likewise.
2307 * testsuite/unordered_map/insert/24061-map.cc: Likewise.
2308 * testsuite/unordered_map/insert/57619.C: Likewise.
2309 * testsuite/unordered_map/insert/array_syntax.cc: Likewise.
2310 * testsuite/unordered_map/insert/array_syntax_move.cc: Likewise.
2311 * testsuite/unordered_map/insert/map_range.cc: Likewise.
2312 * testsuite/unordered_map/insert/map_single.cc: Likewise.
2313 * testsuite/unordered_map/insert/map_single_move-1.cc: Likewise.
2314 * testsuite/unordered_map/insert/map_single_move-2.cc: Likewise.
2315 * testsuite/unordered_map/modifiers/61667.cc: Likewise.
2316 * testsuite/unordered_map/modifiers/emplace.cc: Likewise.
2317 * testsuite/unordered_map/modifiers/extract.cc: Likewise.
2318 * testsuite/unordered_map/modifiers/insert_or_assign.cc: Likewise.
2319 * testsuite/unordered_map/modifiers/merge.cc: Likewise.
2320 * testsuite/unordered_map/modifiers/reserve.cc: Likewise.
2321 * testsuite/unordered_map/modifiers/try_emplace.cc: Likewise.
2322 * testsuite/unordered_map/operations/count.cc: Likewise.
2323 * testsuite/unordered_map/operators/1.cc: Likewise.
2324 * testsuite/unordered_map/operators/2.cc: Likewise.
2325 * testsuite/unordered_multimap/allocator/copy.cc: Likewise.
2326 * testsuite/unordered_multimap/allocator/copy_assign.cc: Likewise.
2327 * testsuite/unordered_multimap/allocator/minimal.cc: Likewise.
2328 * testsuite/unordered_multimap/allocator/move.cc: Likewise.
2329 * testsuite/unordered_multimap/allocator/move_assign.cc: Likewise.
2330 * testsuite/unordered_multimap/allocator/swap.cc: Likewise.
2331 * testsuite/unordered_multimap/cons/moveable.cc: Likewise.
2332 * testsuite/unordered_multimap/debug/construct5_neg.cc: Likewise.
2333 * testsuite/unordered_multimap/debug/move_assign_neg.cc: Likewise.
2334 * testsuite/unordered_multimap/debug/move_neg.cc: Likewise.
2335 * testsuite/unordered_multimap/erase/1.cc: Likewise.
2336 * testsuite/unordered_multimap/erase/2.cc: Likewise.
2337 * testsuite/unordered_multimap/erase/24061-multimap.cc: Likewise.
2338 * testsuite/unordered_multimap/erase/51845-multimap.cc: Likewise.
2339 * testsuite/unordered_multimap/erase/54276.cc: Likewise.
2340 * testsuite/unordered_multimap/hash_policy/dr1189.cc: Likewise.
2341 * testsuite/unordered_multimap/init-list.cc: Likewise.
2342 * testsuite/unordered_multimap/insert/24061-multimap.cc: Likewise.
2343 * testsuite/unordered_multimap/insert/51866.cc: Likewise.
2344 * testsuite/unordered_multimap/insert/52476.cc: Likewise.
2345 * testsuite/unordered_multimap/insert/53115.cc: Likewise.
2346 * testsuite/unordered_multimap/insert/57619.C: Likewise.
2347 * testsuite/unordered_multimap/insert/hint.cc: Likewise.
2348 * testsuite/unordered_multimap/insert/multimap_range.cc: Likewise.
2349 * testsuite/unordered_multimap/insert/multimap_single.cc: Likewise.
2350 * testsuite/unordered_multimap/insert/multimap_single_move-1.cc:
2351 Likewise.
2352 * testsuite/unordered_multimap/insert/multimap_single_move-2.cc:
2353 Likewise.
2354 * testsuite/unordered_multimap/modifiers/emplace.cc: Likewise.
2355 * testsuite/unordered_multimap/modifiers/extract.cc: Likewise.
2356 * testsuite/unordered_multimap/modifiers/merge.cc: Likewise.
2357 * testsuite/unordered_multimap/modifiers/reserve.cc: Likewise.
2358 * testsuite/unordered_multimap/operations/count.cc: Likewise.
2359 * testsuite/unordered_multimap/operators/1.cc: Likewise.
2360 * testsuite/unordered_multimap/operators/2.cc: Likewise.
2361 * testsuite/unordered_multiset/allocator/copy.cc: Likewise.
2362 * testsuite/unordered_multiset/allocator/copy_assign.cc: Likewise.
2363 * testsuite/unordered_multiset/allocator/minimal.cc: Likewise.
2364 * testsuite/unordered_multiset/allocator/move.cc: Likewise.
2365 * testsuite/unordered_multiset/allocator/move_assign.cc: Likewise.
2366 * testsuite/unordered_multiset/allocator/swap.cc: Likewise.
2367 * testsuite/unordered_multiset/cons/copy.cc: Likewise.
2368 * testsuite/unordered_multiset/cons/moveable.cc: Likewise.
2369 * testsuite/unordered_multiset/debug/construct5_neg.cc: Likewise.
2370 * testsuite/unordered_multiset/debug/move_assign_neg.cc: Likewise.
2371 * testsuite/unordered_multiset/debug/move_neg.cc: Likewise.
2372 * testsuite/unordered_multiset/erase/1.cc: Likewise.
2373 * testsuite/unordered_multiset/erase/2.cc: Likewise.
2374 * testsuite/unordered_multiset/erase/24061-multiset.cc: Likewise.
2375 * testsuite/unordered_multiset/hash_policy/dr1189.cc: Likewise.
2376 * testsuite/unordered_multiset/init-list.cc: Likewise.
2377 * testsuite/unordered_multiset/insert/24061-multiset.cc: Likewise.
2378 * testsuite/unordered_multiset/insert/51866.cc: Likewise.
2379 * testsuite/unordered_multiset/insert/52476.cc: Likewise.
2380 * testsuite/unordered_multiset/insert/53115.cc: Likewise.
2381 * testsuite/unordered_multiset/insert/hash_policy.cc: Likewise.
2382 * testsuite/unordered_multiset/insert/multiset_range.cc: Likewise.
2383 * testsuite/unordered_multiset/insert/multiset_single.cc: Likewise.
2384 * testsuite/unordered_multiset/insert/multiset_single_move.cc: Likewise.
2385 * testsuite/unordered_multiset/modifiers/emplace.cc: Likewise.
2386 * testsuite/unordered_multiset/modifiers/extract.cc: Likewise.
2387 * testsuite/unordered_multiset/modifiers/merge.cc: Likewise.
2388 * testsuite/unordered_multiset/modifiers/reserve.cc: Likewise.
2389 * testsuite/unordered_multiset/operations/count.cc: Likewise.
2390 * testsuite/unordered_multiset/operators/1.cc: Likewise.
2391 * testsuite/unordered_set/allocator/copy.cc: Likewise.
2392 * testsuite/unordered_set/allocator/copy_assign.cc: Likewise.
2393 * testsuite/unordered_set/allocator/ext_ptr.cc: Likewise.
2394 * testsuite/unordered_set/allocator/minimal.cc: Likewise.
2395 * testsuite/unordered_set/allocator/move.cc: Likewise.
2396 * testsuite/unordered_set/allocator/move_assign.cc: Likewise.
2397 * testsuite/unordered_set/allocator/swap.cc: Likewise.
2398 * testsuite/unordered_set/buckets/swap.cc: Likewise.
2399 * testsuite/unordered_set/cons/moveable.cc: Likewise.
2400 * testsuite/unordered_set/debug/construct5_neg.cc: Likewise.
2401 * testsuite/unordered_set/debug/debug_functions.cc: Likewise.
2402 * testsuite/unordered_set/debug/move_assign_neg.cc: Likewise.
2403 * testsuite/unordered_set/debug/move_neg.cc: Likewise.
2404 * testsuite/unordered_set/erase/1.cc: Likewise.
2405 * testsuite/unordered_set/erase/24061-set.cc: Likewise.
2406 * testsuite/unordered_set/hash_policy/26132.cc: Likewise.
2407 * testsuite/unordered_set/hash_policy/71181.cc: Likewise.
2408 * testsuite/unordered_set/hash_policy/dr1189.cc: Likewise.
2409 * testsuite/unordered_set/hash_policy/load_factor.cc: Likewise.
2410 * testsuite/unordered_set/hash_policy/power2_rehash.cc: Likewise.
2411 * testsuite/unordered_set/hash_policy/prime_rehash.cc: Likewise.
2412 * testsuite/unordered_set/hash_policy/rehash.cc: Likewise.
2413 * testsuite/unordered_set/init-list.cc: Likewise.
2414 * testsuite/unordered_set/insert/24061-set.cc: Likewise.
2415 * testsuite/unordered_set/insert/hash_policy.cc: Likewise.
2416 * testsuite/unordered_set/insert/move_range.cc: Likewise.
2417 * testsuite/unordered_set/insert/set_range.cc: Likewise.
2418 * testsuite/unordered_set/insert/set_single.cc: Likewise.
2419 * testsuite/unordered_set/insert/set_single_move.cc: Likewise.
2420 * testsuite/unordered_set/max_load_factor/robustness.cc: Likewise.
2421 * testsuite/unordered_set/modifiers/emplace.cc: Likewise.
2422 * testsuite/unordered_set/modifiers/extract.cc: Likewise.
2423 * testsuite/unordered_set/modifiers/merge.cc: Likewise.
2424 * testsuite/unordered_set/modifiers/reserve.cc: Likewise.
2425 * testsuite/unordered_set/modifiers/swap.cc: Likewise.
2426 * testsuite/unordered_set/operations/count.cc: Likewise.
2427 * testsuite/unordered_set/operators/1.cc: Likewise.
2428 * testsuite/vector/allocator/copy.cc: Likewise.
2429 * testsuite/vector/allocator/copy_assign.cc: Likewise.
2430 * testsuite/vector/allocator/ext_ptr.cc: Likewise.
2431 * testsuite/vector/allocator/minimal.cc: Likewise.
2432 * testsuite/vector/allocator/move.cc: Likewise.
2433 * testsuite/vector/allocator/move_assign.cc: Likewise.
2434 * testsuite/vector/allocator/swap.cc: Likewise.
2435 * testsuite/vector/bool/6886.cc: Likewise.
2436 * testsuite/vector/bool/72847.cc: Likewise.
2437 * testsuite/vector/bool/allocator/copy.cc: Likewise.
2438 * testsuite/vector/bool/allocator/copy_assign.cc: Likewise.
2439 * testsuite/vector/bool/allocator/ext_ptr.cc: Likewise.
2440 * testsuite/vector/bool/allocator/move.cc: Likewise.
2441 * testsuite/vector/bool/allocator/move_assign.cc: Likewise.
2442 * testsuite/vector/bool/allocator/swap.cc: Likewise.
2443 * testsuite/vector/bool/capacity/1.cc: Likewise.
2444 * testsuite/vector/bool/capacity/29134.cc: Likewise.
2445 * testsuite/vector/bool/capacity/shrink_to_fit.cc: Likewise.
2446 * testsuite/vector/bool/cons/1.cc: Likewise.
2447 * testsuite/vector/bool/cons/2.cc: Likewise.
2448 * testsuite/vector/bool/modifiers/erase/1.cc: Likewise.
2449 * testsuite/vector/bool/modifiers/insert/1.cc: Likewise.
2450 * testsuite/vector/bool/modifiers/insert/31370.cc: Likewise.
2451 * testsuite/vector/bool/modifiers/swap/1.cc: Likewise.
2452 * testsuite/vector/bool/modifiers/swap/2.cc: Likewise.
2453 * testsuite/vector/bool/swap.cc: Likewise.
2454 * testsuite/vector/capacity/1.cc: Likewise.
2455 * testsuite/vector/capacity/2.cc: Likewise.
2456 * testsuite/vector/capacity/29134-2.cc: Likewise.
2457 * testsuite/vector/capacity/29134.cc: Likewise.
2458 * testsuite/vector/capacity/44190.cc: Likewise.
2459 * testsuite/vector/capacity/8230.cc: Likewise.
2460 * testsuite/vector/capacity/reserve/moveable.cc: Likewise.
2461 * testsuite/vector/capacity/reserve/moveable2.cc: Likewise.
2462 * testsuite/vector/capacity/resize/1.cc: Likewise.
2463 * testsuite/vector/capacity/resize/moveable.cc: Likewise.
2464 * testsuite/vector/capacity/resize/moveable2.cc: Likewise.
2465 * testsuite/vector/capacity/resize/resize_size.cc: Likewise.
2466 * testsuite/vector/capacity/shrink_to_fit.cc: Likewise.
2467 * testsuite/vector/capacity/shrink_to_fit2.cc: Likewise.
2468 * testsuite/vector/cons/3.cc: Likewise.
2469 * testsuite/vector/cons/4.cc: Likewise.
2470 * testsuite/vector/cons/cons_size.cc: Likewise.
2471 * testsuite/vector/cons/moveable.cc: Likewise.
2472 * testsuite/vector/data_access/1.cc: Likewise.
2473 * testsuite/vector/debug/debug_functions.cc: Likewise.
2474 * testsuite/vector/debug/move_assign_neg.cc: Likewise.
2475 * testsuite/vector/debug/move_neg.cc: Likewise.
2476 * testsuite/vector/debug/multithreaded_swap.cc: Likewise.
2477 * testsuite/vector/element_access/1.cc: Likewise.
2478 * testsuite/vector/ext_pointer/citerators.cc: Likewise.
2479 * testsuite/vector/ext_pointer/data_access.cc: Likewise.
2480 * testsuite/vector/ext_pointer/modifiers/element.cc: Likewise.
2481 * testsuite/vector/ext_pointer/modifiers/erase.cc: Likewise.
2482 * testsuite/vector/ext_pointer/modifiers/insert.cc: Likewise.
2483 * testsuite/vector/ext_pointer/resize.cc: Likewise.
2484 * testsuite/vector/modifiers/1.cc: Likewise.
2485 * testsuite/vector/modifiers/2.cc: Likewise.
2486 * testsuite/vector/modifiers/emplace/self_emplace.cc: Likewise.
2487 * testsuite/vector/modifiers/erase/1.cc: Likewise.
2488 * testsuite/vector/modifiers/erase/moveable.cc: Likewise.
2489 * testsuite/vector/modifiers/insert/1.cc: Likewise.
2490 * testsuite/vector/modifiers/insert/self_insert.cc: Likewise.
2491 * testsuite/vector/modifiers/moveable.cc: Likewise.
2492 * testsuite/vector/modifiers/moveable2.cc: Likewise.
2493 * testsuite/vector/modifiers/push_back/49836.cc: Likewise.
2494 * testsuite/vector/modifiers/swap/1.cc: Likewise.
2495 * testsuite/vector/modifiers/swap/2.cc: Likewise.
2496 * testsuite/vector/modifiers/swap/3.cc: Likewise.
2497 * testsuite/vector/zero_sized_allocations.cc: Likewise.
2498
594ef205
JW
24992016-10-17 Jonathan Wakely <jwakely@redhat.com>
2500
a2284544
JW
2501 PR libstdc++/77998
2502 * include/std/future (__future_base::_Deferred_state)
2503 (__future_base::_Async_state_impl): Use decltype to deduce return
2504 type, instead of _Invoker::result_type.
2505 * include/std/thread (thread::_Invoker::operator()): Likewise.
2506 (thread::_Invoker::result_type): Remove.
2507
74cf9664
JW
2508 PR libstdc++/77987
2509 * include/bits/unique_ptr.h (unique_ptr<T[], D>::reset<U>(U)): Copy
2510 value to pointer of the correct type to swap, to support conversions
2511 allowed by LWG 2118 / N4089.
2512 * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Move test for
2513 incompatible deleters from ...
2514 * testsuite/20_util/unique_ptr/assign/cv_qual.cc: ... here.
2515 * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Move tests for
2516 incompatible pointers to ...
2517 * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: ... here. Move
2518 destructor definition to base class. Test for invalid derived-to-base
2519 conversion.
2520
594ef205
JW
2521 * doc/xml/manual/status_cxx2017.xml: Update status.
2522 * doc/html/*: Regenerate.
2523 * include/bits/deque.tcc (deque::emplace_front, deque::emplace_back):
2524 Return a reference in C++17 mode.
2525 * include/bits/forward_list.h (forward_list::emplace_front): Likewise.
2526 * include/bits/stl_bvector.h (vector<bool>::emplace_back): Likewise.
2527 * include/bits/stl_deque.h (deque::emplace_front, deque::emplace_back):
2528 Likewise.
2529 * include/bits/stl_list.h (list::emplace_front, list::emplace_back):
2530 Likewise.
2531 * include/bits/stl_queue.h (queue::emplace): Likewise.
2532 * include/bits/stl_stack.h (stack::emplace): Likewise.
2533 * include/bits/stl_vector.h (vector::emplace_back): Likewise.
2534 * include/bits/vector.tcc (vector::emplace_back): Likewise.
2535 * include/debug/deque (__gnu_debug::deque::emplace_front)
2536 (__gnu_debug::deque::emplace_back): Likewise.
2537 * include/debug/vector (__gnu_debug::vector::emplace_back): Likewise.
2538 * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
2539 New.
2540 * testsuite/23_containers/forward_list/modifiers/
2541 emplace_cxx17_return.cc: New.
2542 * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: New.
2543 * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: New.
2544 * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: New.
2545 * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: New.
2546 * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
2547 New.
2548
236c57d1
PC
25492016-10-16 Paolo Carlini <paolo.carlini@oracle.com>
2550
2551 * testsuite/22_locale/classification/isblank.cc: Remove 'test'
2552 variables.
2553 * testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise.
2554 * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Likewise.
2555 * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
2556 * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
2557 * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Likewise.
2558 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Likewise.
2559 * testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise.
2560 * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc: Likewise.
2561 * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
2562 * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
2563 * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Likewise.
2564 * testsuite/22_locale/codecvt/in/char/1.cc: Likewise.
2565 * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Likewise.
2566 * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
2567 * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Likewise.
2568 * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Likewise.
2569 * testsuite/22_locale/codecvt/in/wchar_t/5.cc: Likewise.
2570 * testsuite/22_locale/codecvt/in/wchar_t/6.cc: Likewise.
2571 * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Likewise.
2572 * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
2573 * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
2574 * testsuite/22_locale/codecvt/length/char/1.cc: Likewise.
2575 * testsuite/22_locale/codecvt/length/char/2.cc: Likewise.
2576 * testsuite/22_locale/codecvt/length/wchar_t/1.cc: Likewise.
2577 * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
2578 * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
2579 * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
2580 * testsuite/22_locale/codecvt/length/wchar_t/5.cc: Likewise.
2581 * testsuite/22_locale/codecvt/length/wchar_t/6.cc: Likewise.
2582 * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Likewise.
2583 * testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise.
2584 * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Likewise.
2585 * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
2586 * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
2587 * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Likewise.
2588 * testsuite/22_locale/codecvt/out/char/1.cc: Likewise.
2589 * testsuite/22_locale/codecvt/out/wchar_t/1.cc: Likewise.
2590 * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
2591 * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Likewise.
2592 * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
2593 * testsuite/22_locale/codecvt/out/wchar_t/5.cc: Likewise.
2594 * testsuite/22_locale/codecvt/out/wchar_t/6.cc: Likewise.
2595 * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
2596 * testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise.
2597 * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc: Likewise.
2598 * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
2599 * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
2600 * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
2601 * testsuite/22_locale/collate/compare/char/1.cc: Likewise.
2602 * testsuite/22_locale/collate/compare/char/2.cc: Likewise.
2603 * testsuite/22_locale/collate/compare/char/3.cc: Likewise.
2604 * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
2605 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
2606 * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
2607 * testsuite/22_locale/collate/hash/char/1.cc: Likewise.
2608 * testsuite/22_locale/collate/hash/char/2.cc: Likewise.
2609 * testsuite/22_locale/collate/hash/wchar_t/1.cc: Likewise.
2610 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
2611 * testsuite/22_locale/collate/transform/char/2.cc: Likewise.
2612 * testsuite/22_locale/collate/transform/char/28277.cc: Likewise.
2613 * testsuite/22_locale/collate/transform/char/3.cc: Likewise.
2614 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
2615 * testsuite/22_locale/collate/transform/wchar_t/28277.cc: Likewise.
2616 * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
2617 * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
2618 * testsuite/22_locale/ctype/cons/char/1.cc: Likewise.
2619 * testsuite/22_locale/ctype/is/char/1.cc: Likewise.
2620 * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
2621 * testsuite/22_locale/ctype/is/char/3.cc: Likewise.
2622 * testsuite/22_locale/ctype/is/char/9858.cc: Likewise.
2623 * testsuite/22_locale/ctype/is/wchar_t/1.cc: Likewise.
2624 * testsuite/22_locale/ctype/is/wchar_t/11740.cc: Likewise.
2625 * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
2626 * testsuite/22_locale/ctype/narrow/char/1.cc: Likewise.
2627 * testsuite/22_locale/ctype/narrow/char/19955.cc: Likewise.
2628 * testsuite/22_locale/ctype/narrow/char/2.cc: Likewise.
2629 * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Likewise.
2630 * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Likewise.
2631 * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Likewise.
2632 * testsuite/22_locale/ctype/scan/char/1.cc: Likewise.
2633 * testsuite/22_locale/ctype/scan/wchar_t/1.cc: Likewise.
2634 * testsuite/22_locale/ctype/to/char/1.cc: Likewise.
2635 * testsuite/22_locale/ctype/to/wchar_t/1.cc: Likewise.
2636 * testsuite/22_locale/ctype/widen/char/1.cc: Likewise.
2637 * testsuite/22_locale/ctype/widen/wchar_t/1.cc: Likewise.
2638 * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
2639 * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Likewise.
2640 * testsuite/22_locale/ctype_base/11844.cc: Likewise.
2641 * testsuite/22_locale/facet/1.cc: Likewise.
2642 * testsuite/22_locale/facet/2.cc: Likewise.
2643 * testsuite/22_locale/facet/25421.cc: Likewise.
2644 * testsuite/22_locale/global_templates/1.cc: Likewise.
2645 * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc:
2646 Likewise.
2647 * testsuite/22_locale/global_templates/user_facet_hierarchies.cc:
2648 Likewise.
2649 * testsuite/22_locale/locale/13630.cc: Likewise.
2650 * testsuite/22_locale/locale/cons/12352.cc: Likewise.
2651 * testsuite/22_locale/locale/cons/12438.cc: Likewise.
2652 * testsuite/22_locale/locale/cons/2.cc: Likewise.
2653 * testsuite/22_locale/locale/cons/29217.cc: Likewise.
2654 * testsuite/22_locale/locale/cons/38365.cc: Likewise.
2655 * testsuite/22_locale/locale/cons/38368.cc: Likewise.
2656 * testsuite/22_locale/locale/cons/4.cc: Likewise.
2657 * testsuite/22_locale/locale/cons/40184.cc: Likewise.
2658 * testsuite/22_locale/locale/cons/5.cc: Likewise.
2659 * testsuite/22_locale/locale/cons/6.cc: Likewise.
2660 * testsuite/22_locale/locale/cons/7.cc: Likewise.
2661 * testsuite/22_locale/locale/cons/7222-c.cc: Likewise.
2662 * testsuite/22_locale/locale/cons/7222-env.cc: Likewise.
2663 * testsuite/22_locale/locale/cons/8.cc: Likewise.
2664 * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
2665 * testsuite/22_locale/locale/global_locale_objects/1.cc: Likewise.
2666 * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
2667 * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
2668 * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
2669 * testsuite/22_locale/locale/operations/1.cc: Likewise.
2670 * testsuite/22_locale/locale/operations/2.cc: Likewise.
2671 * testsuite/22_locale/messages/13631.cc: Likewise.
2672 * testsuite/22_locale/messages/members/char/1.cc: Likewise.
2673 * testsuite/22_locale/messages/members/char/2.cc: Likewise.
2674 * testsuite/22_locale/messages/members/char/3.cc: Likewise.
2675 * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
2676 * testsuite/22_locale/money_get/get/char/1.cc: Likewise.
2677 * testsuite/22_locale/money_get/get/char/10.cc: Likewise.
2678 * testsuite/22_locale/money_get/get/char/11.cc: Likewise.
2679 * testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
2680 * testsuite/22_locale/money_get/get/char/12.cc: Likewise.
2681 * testsuite/22_locale/money_get/get/char/13.cc: Likewise.
2682 * testsuite/22_locale/money_get/get/char/14.cc: Likewise.
2683 * testsuite/22_locale/money_get/get/char/15.cc: Likewise.
2684 * testsuite/22_locale/money_get/get/char/16.cc: Likewise.
2685 * testsuite/22_locale/money_get/get/char/17.cc: Likewise.
2686 * testsuite/22_locale/money_get/get/char/18.cc: Likewise.
2687 * testsuite/22_locale/money_get/get/char/19.cc: Likewise.
2688 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
2689 * testsuite/22_locale/money_get/get/char/22131.cc: Likewise.
2690 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
2691 * testsuite/22_locale/money_get/get/char/38399.cc: Likewise.
2692 * testsuite/22_locale/money_get/get/char/39168.cc: Likewise.
2693 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
2694 * testsuite/22_locale/money_get/get/char/5.cc: Likewise.
2695 * testsuite/22_locale/money_get/get/char/6.cc: Likewise.
2696 * testsuite/22_locale/money_get/get/char/7.cc: Likewise.
2697 * testsuite/22_locale/money_get/get/char/8.cc: Likewise.
2698 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
2699 * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
2700 * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
2701 * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
2702 * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
2703 * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
2704 * testsuite/22_locale/money_get/get/wchar_t/14.cc: Likewise.
2705 * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
2706 * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
2707 * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
2708 * testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
2709 * testsuite/22_locale/money_get/get/wchar_t/19.cc: Likewise.
2710 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
2711 * testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
2712 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
2713 * testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise.
2714 * testsuite/22_locale/money_get/get/wchar_t/39168.cc: Likewise.
2715 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
2716 * testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise.
2717 * testsuite/22_locale/money_get/get/wchar_t/6.cc: Likewise.
2718 * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
2719 * testsuite/22_locale/money_get/get/wchar_t/8.cc: Likewise.
2720 * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
2721 * testsuite/22_locale/money_put/put/char/12971.cc: Likewise.
2722 * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
2723 * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
2724 * testsuite/22_locale/money_put/put/char/39168.cc: Likewise.
2725 * testsuite/22_locale/money_put/put/char/4.cc: Likewise.
2726 * testsuite/22_locale/money_put/put/char/5.cc: Likewise.
2727 * testsuite/22_locale/money_put/put/char/6.cc: Likewise.
2728 * testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
2729 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
2730 * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
2731 * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
2732 * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
2733 * testsuite/22_locale/money_put/put/wchar_t/39168.cc: Likewise.
2734 * testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise.
2735 * testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise.
2736 * testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise.
2737 * testsuite/22_locale/moneypunct/40712.cc: Likewise.
2738 * testsuite/22_locale/moneypunct/members/char/1.cc: Likewise.
2739 * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
2740 * testsuite/22_locale/moneypunct/members/wchar_t/1.cc: Likewise.
2741 * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
2742 * testsuite/22_locale/moneypunct/requirements/false/intl.cc: Likewise.
2743 * testsuite/22_locale/moneypunct/requirements/true/intl.cc: Likewise.
2744 * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: Likewise.
2745 * testsuite/22_locale/num_get/get/char/1.cc: Likewise.
2746 * testsuite/22_locale/num_get/get/char/10.cc: Likewise.
2747 * testsuite/22_locale/num_get/get/char/11.cc: Likewise.
2748 * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
2749 * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
2750 * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
2751 * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
2752 * testsuite/22_locale/num_get/get/char/16.cc: Likewise.
2753 * testsuite/22_locale/num_get/get/char/2.cc: Likewise.
2754 * testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
2755 * testsuite/22_locale/num_get/get/char/23953.cc: Likewise.
2756 * testsuite/22_locale/num_get/get/char/3.cc: Likewise.
2757 * testsuite/22_locale/num_get/get/char/37958.cc: Likewise.
2758 * testsuite/22_locale/num_get/get/char/39168.cc: Likewise.
2759 * testsuite/22_locale/num_get/get/char/39802.cc: Likewise.
2760 * testsuite/22_locale/num_get/get/char/4.cc: Likewise.
2761 * testsuite/22_locale/num_get/get/char/5.cc: Likewise.
2762 * testsuite/22_locale/num_get/get/char/6.cc: Likewise.
2763 * testsuite/22_locale/num_get/get/char/7.cc: Likewise.
2764 * testsuite/22_locale/num_get/get/char/8.cc: Likewise.
2765 * testsuite/22_locale/num_get/get/char/9.cc: Likewise.
2766 * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
2767 * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
2768 * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
2769 * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
2770 * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
2771 * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
2772 * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
2773 * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
2774 * testsuite/22_locale/num_get/get/wchar_t/2.cc: Likewise.
2775 * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
2776 * testsuite/22_locale/num_get/get/wchar_t/23953.cc: Likewise.
2777 * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
2778 * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
2779 * testsuite/22_locale/num_get/get/wchar_t/39168.cc: Likewise.
2780 * testsuite/22_locale/num_get/get/wchar_t/39802.cc: Likewise.
2781 * testsuite/22_locale/num_get/get/wchar_t/4.cc: Likewise.
2782 * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
2783 * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
2784 * testsuite/22_locale/num_get/get/wchar_t/7.cc: Likewise.
2785 * testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
2786 * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
2787 * testsuite/22_locale/num_put/put/char/1.cc: Likewise.
2788 * testsuite/22_locale/num_put/put/char/10.cc: Likewise.
2789 * testsuite/22_locale/num_put/put/char/11.cc: Likewise.
2790 * testsuite/22_locale/num_put/put/char/12.cc: Likewise.
2791 * testsuite/22_locale/num_put/put/char/14220.cc: Likewise.
2792 * testsuite/22_locale/num_put/put/char/15565.cc: Likewise.
2793 * testsuite/22_locale/num_put/put/char/2.cc: Likewise.
2794 * testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
2795 * testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
2796 * testsuite/22_locale/num_put/put/char/23953.cc: Likewise.
2797 * testsuite/22_locale/num_put/put/char/3.cc: Likewise.
2798 * testsuite/22_locale/num_put/put/char/38196.cc: Likewise.
2799 * testsuite/22_locale/num_put/put/char/38210.cc: Likewise.
2800 * testsuite/22_locale/num_put/put/char/4.cc: Likewise.
2801 * testsuite/22_locale/num_put/put/char/5.cc: Likewise.
2802 * testsuite/22_locale/num_put/put/char/6.cc: Likewise.
2803 * testsuite/22_locale/num_put/put/char/7.cc: Likewise.
2804 * testsuite/22_locale/num_put/put/char/8.cc: Likewise.
2805 * testsuite/22_locale/num_put/put/char/9.cc: Likewise.
2806 * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
2807 * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
2808 * testsuite/22_locale/num_put/put/wchar_t/10.cc: Likewise.
2809 * testsuite/22_locale/num_put/put/wchar_t/11.cc: Likewise.
2810 * testsuite/22_locale/num_put/put/wchar_t/12.cc: Likewise.
2811 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
2812 * testsuite/22_locale/num_put/put/wchar_t/15565.cc: Likewise.
2813 * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
2814 * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
2815 * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
2816 * testsuite/22_locale/num_put/put/wchar_t/23953.cc: Likewise.
2817 * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
2818 * testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.
2819 * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
2820 * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
2821 * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
2822 * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
2823 * testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise.
2824 * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
2825 * testsuite/22_locale/num_put/put/wchar_t/9.cc: Likewise.
2826 * testsuite/22_locale/numpunct/members/char/1.cc: Likewise.
2827 * testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
2828 * testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
2829 * testsuite/22_locale/numpunct/members/char/cache_1.cc: Likewise.
2830 * testsuite/22_locale/numpunct/members/char/cache_2.cc: Likewise.
2831 * testsuite/22_locale/numpunct/members/pod/1.cc: Likewise.
2832 * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Likewise.
2833 * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
2834 * testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: Likewise.
2835 * testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: Likewise.
2836 * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
2837 * testsuite/22_locale/time_get/date_order/char/1.cc: Likewise.
2838 * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Likewise.
2839 * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
2840 * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
2841 * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
2842 * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
2843 * testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
2844 * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
2845 * testsuite/22_locale/time_get/get_date/char/12791.cc: Likewise.
2846 * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
2847 * testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise.
2848 * testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
2849 * testsuite/22_locale/time_get/get_date/char/5.cc: Likewise.
2850 * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
2851 * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
2852 * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: Likewise.
2853 * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
2854 * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
2855 * testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
2856 * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
2857 * testsuite/22_locale/time_get/get_date/wchar_t/5.cc: Likewise.
2858 * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
2859 * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
2860 * testsuite/22_locale/time_get/get_monthname/char/3.cc: Likewise.
2861 * testsuite/22_locale/time_get/get_monthname/char/4.cc: Likewise.
2862 * testsuite/22_locale/time_get/get_monthname/char/5.cc: Likewise.
2863 * testsuite/22_locale/time_get/get_monthname/char/6.cc: Likewise.
2864 * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
2865 * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
2866 * testsuite/22_locale/time_get/get_monthname/wchar_t/3.cc: Likewise.
2867 * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: Likewise.
2868 * testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc: Likewise.
2869 * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
2870 * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
2871 * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
2872 * testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
2873 * testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
2874 * testsuite/22_locale/time_get/get_time/char/5.cc: Likewise.
2875 * testsuite/22_locale/time_get/get_time/char/6.cc: Likewise.
2876 * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
2877 * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
2878 * testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
2879 * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
2880 * testsuite/22_locale/time_get/get_time/wchar_t/5.cc: Likewise.
2881 * testsuite/22_locale/time_get/get_time/wchar_t/6.cc: Likewise.
2882 * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
2883 * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
2884 * testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
2885 * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise.
2886 * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
2887 * testsuite/22_locale/time_get/get_weekday/char/5.cc: Likewise.
2888 * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
2889 * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
2890 * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
2891 * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
2892 * testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc: Likewise.
2893 * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
2894 * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
2895 * testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
2896 * testsuite/22_locale/time_get/get_year/char/5.cc: Likewise.
2897 * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
2898 * testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
2899 * testsuite/22_locale/time_get/get_year/wchar_t/5.cc: Likewise.
2900 * testsuite/22_locale/time_put/put/char/1.cc: Likewise.
2901 * testsuite/22_locale/time_put/put/char/10.cc: Likewise.
2902 * testsuite/22_locale/time_put/put/char/12439_1.cc: Likewise.
2903 * testsuite/22_locale/time_put/put/char/12439_3.cc: Likewise.
2904 * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
2905 * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
2906 * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
2907 * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
2908 * testsuite/22_locale/time_put/put/char/5.cc: Likewise.
2909 * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
2910 * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
2911 * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
2912 * testsuite/22_locale/time_put/put/char/9.cc: Likewise.
2913 * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
2914 * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
2915 * testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
2916 * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
2917 * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
2918 * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
2919 * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
2920 * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
2921 * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
2922 * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
2923 * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
2924 * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
2925 * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
2926 * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
2927 * testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
2928 * testsuite/30_threads/async/42819.cc: Likewise.
2929 * testsuite/30_threads/async/any.cc: Likewise.
2930 * testsuite/30_threads/async/async.cc: Likewise.
2931 * testsuite/30_threads/async/except.cc: Likewise.
2932 * testsuite/30_threads/async/launch.cc: Likewise.
2933 * testsuite/30_threads/async/sync.cc: Likewise.
2934 * testsuite/30_threads/call_once/call_once1.cc: Likewise.
2935 * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
2936 * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
2937 * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
2938 * testsuite/30_threads/condition_variable/members/3.cc: Likewise.
2939 * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
2940 * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
2941 * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
2942 * testsuite/30_threads/future/members/45133.cc: Likewise.
2943 * testsuite/30_threads/future/members/get.cc: Likewise.
2944 * testsuite/30_threads/future/members/get2.cc: Likewise.
2945 * testsuite/30_threads/future/members/share.cc: Likewise.
2946 * testsuite/30_threads/future/members/valid.cc: Likewise.
2947 * testsuite/30_threads/future/members/wait_for.cc: Likewise.
2948 * testsuite/30_threads/future/members/wait_until.cc: Likewise.
2949 * testsuite/30_threads/lock/1.cc: Likewise.
2950 * testsuite/30_threads/lock/2.cc: Likewise.
2951 * testsuite/30_threads/lock/3.cc: Likewise.
2952 * testsuite/30_threads/lock/4.cc: Likewise.
2953 * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
2954 * testsuite/30_threads/mutex/cons/1.cc: Likewise.
2955 * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
2956 * testsuite/30_threads/mutex/lock/1.cc: Likewise.
2957 * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
2958 * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
2959 * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
2960 * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
2961 * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
2962 * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
2963 * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
2964 * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
2965 * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
2966 * testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
2967 Likewise.
2968 * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
2969 * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
2970 * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
2971 * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
2972 * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
2973 * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
2974 * testsuite/30_threads/promise/cons/move.cc: Likewise.
2975 * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
2976 * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
2977 * testsuite/30_threads/promise/members/get_future.cc: Likewise.
2978 * testsuite/30_threads/promise/members/set_value.cc: Likewise.
2979 * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
2980 * testsuite/30_threads/promise/members/swap.cc: Likewise.
2981 * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
2982 * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
2983 Likewise.
2984 * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
2985 * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
2986 * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
2987 * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
2988 * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
2989 * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
2990 * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
2991 Likewise.
2992 * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
2993 * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
2994 * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
2995 Likewise.
2996 * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
2997 * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
2998 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
2999 Likewise.
3000 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
3001 Likewise.
3002 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
3003 Likewise.
3004 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
3005 Likewise.
3006 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
3007 Likewise.
3008 * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
3009 * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
3010 * testsuite/30_threads/shared_future/members/get.cc: Likewise.
3011 * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
3012 * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
3013 * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
3014 * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
3015 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
3016 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
3017 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
3018 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
3019 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
3020 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
3021 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
3022 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
3023 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
3024 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
3025 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
3026 * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
3027 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
3028 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
3029 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
3030 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
3031 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
3032 * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
3033 * testsuite/30_threads/this_thread/1.cc: Likewise.
3034 * testsuite/30_threads/this_thread/2.cc: Likewise.
3035 * testsuite/30_threads/this_thread/3.cc: Likewise.
3036 * testsuite/30_threads/this_thread/4.cc: Likewise.
3037 * testsuite/30_threads/this_thread/60421.cc: Likewise.
3038 * testsuite/30_threads/thread/cons/1.cc: Likewise.
3039 * testsuite/30_threads/thread/cons/2.cc: Likewise.
3040 * testsuite/30_threads/thread/cons/3.cc: Likewise.
3041 * testsuite/30_threads/thread/cons/4.cc: Likewise.
3042 * testsuite/30_threads/thread/cons/5.cc: Likewise.
3043 * testsuite/30_threads/thread/cons/6.cc: Likewise.
3044 * testsuite/30_threads/thread/cons/7.cc: Likewise.
3045 * testsuite/30_threads/thread/cons/8.cc: Likewise.
3046 * testsuite/30_threads/thread/cons/9.cc: Likewise.
3047 * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
3048 * testsuite/30_threads/thread/members/1.cc: Likewise.
3049 * testsuite/30_threads/thread/members/2.cc: Likewise.
3050 * testsuite/30_threads/thread/members/3.cc: Likewise.
3051 * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
3052 * testsuite/30_threads/thread/swap/1.cc: Likewise.
3053 * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
3054 * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
3055 * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
3056 * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
3057 * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
3058 * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
3059 * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
3060 * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
3061 * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
3062 * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
3063 * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
3064 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
3065 * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
3066 * testsuite/30_threads/try_lock/1.cc: Likewise.
3067 * testsuite/30_threads/try_lock/2.cc: Likewise.
3068 * testsuite/30_threads/try_lock/3.cc: Likewise.
3069 * testsuite/30_threads/try_lock/4.cc: Likewise.
3070 * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
3071 * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
3072 * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
3073 * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
3074 * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
3075 * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
3076 * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
3077 * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
3078 * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
3079 * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
3080 * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
3081 * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3082 not_shared.cc: Likewise.
3083 * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3084 not_shared2.cc: Likewise.
3085 * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3086 not_shared3.cc: Likewise.
3087 * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3088 shared.cc: Likewise.
3089 * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3090 still_shared.cc: Likewise.
3091 * testsuite/tr1/2_general_utilities/shared_ptr/assign/assign.cc:
3092 Likewise.
3093 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
3094 Likewise.
3095 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
3096 Likewise.
3097 * testsuite/tr1/2_general_utilities/shared_ptr/assign/
3098 auto_ptr_rvalue_neg.cc: Likewise.
3099 * testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr.cc:
3100 Likewise.
3101 * testsuite/tr1/2_general_utilities/shared_ptr/assign/
3102 shared_ptr_neg.cc: Likewise.
3103 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
3104 Likewise.
3105 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
3106 Likewise.
3107 * testsuite/tr1/2_general_utilities/shared_ptr/cons/copy.cc: Likewise.
3108 * testsuite/tr1/2_general_utilities/shared_ptr/cons/default.cc:
3109 Likewise.
3110 * testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc:
3111 Likewise.
3112 * testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr.cc:
3113 Likewise.
3114 * testsuite/tr1/2_general_utilities/shared_ptr/dest/dest.cc: Likewise.
3115 * testsuite/tr1/2_general_utilities/shared_ptr/misc/24595.cc: Likewise.
3116 * testsuite/tr1/2_general_utilities/shared_ptr/misc/io.cc: Likewise.
3117 * testsuite/tr1/2_general_utilities/shared_ptr/misc/swap.cc: Likewise.
3118 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset.cc:
3119 Likewise.
3120 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
3121 Likewise.
3122 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap.cc:
3123 Likewise.
3124 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap_neg.cc:
3125 Likewise.
3126 * testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
3127 Likewise.
3128 * testsuite/tr1/2_general_utilities/shared_ptr/observers/get.cc:
3129 Likewise.
3130 * testsuite/tr1/2_general_utilities/shared_ptr/observers/unique.cc:
3131 Likewise.
3132 * testsuite/tr1/2_general_utilities/shared_ptr/observers/use_count.cc:
3133 Likewise.
3134 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3135 default_weaktoshared.cc: Likewise.
3136 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3137 mutex_weaktoshared.cc: Likewise.
3138 * testsuite/tr1/3_function_objects/bind/all_bound.cc: Likewise.
3139 * testsuite/tr1/3_function_objects/bind/mixed.cc: Likewise.
3140 * testsuite/tr1/3_function_objects/bind/nested.cc: Likewise.
3141 * testsuite/tr1/3_function_objects/bind/placeholders.cc: Likewise.
3142 * testsuite/tr1/3_function_objects/bind/ref.cc: Likewise.
3143 * testsuite/tr1/3_function_objects/function/1.cc: Likewise.
3144 * testsuite/tr1/3_function_objects/function/2.cc: Likewise.
3145 * testsuite/tr1/3_function_objects/function/3.cc: Likewise.
3146 * testsuite/tr1/3_function_objects/function/4.cc: Likewise.
3147 * testsuite/tr1/3_function_objects/function/5.cc: Likewise.
3148 * testsuite/tr1/3_function_objects/function/6.cc: Likewise.
3149 * testsuite/tr1/3_function_objects/function/7.cc: Likewise.
3150 * testsuite/tr1/3_function_objects/function/8.cc: Likewise.
3151 * testsuite/tr1/3_function_objects/function/9.cc: Likewise.
3152 * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
3153 Likewise.
3154 * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
3155 Likewise.
3156 * testsuite/tr1/3_function_objects/result_of.cc: Likewise.
3157 * testsuite/tr1/4_metaprogramming/add_const/value.cc: Likewise.
3158 * testsuite/tr1/4_metaprogramming/add_cv/value.cc: Likewise.
3159 * testsuite/tr1/4_metaprogramming/add_pointer/value.cc: Likewise.
3160 * testsuite/tr1/4_metaprogramming/add_reference/value.cc: Likewise.
3161 * testsuite/tr1/4_metaprogramming/add_volatile/value.cc: Likewise.
3162 * testsuite/tr1/4_metaprogramming/aligned_storage/value.cc: Likewise.
3163 * testsuite/tr1/4_metaprogramming/alignment_of/value.cc: Likewise.
3164 * testsuite/tr1/4_metaprogramming/extent/value.cc: Likewise.
3165 * testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc: Likewise.
3166 * testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc:
3167 Likewise.
3168 * testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc: Likewise.
3169 * testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc: Likewise.
3170 * testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc:
3171 Likewise.
3172 * testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc: Likewise.
3173 * testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc:
3174 Likewise.
3175 * testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc:
3176 Likewise.
3177 * testsuite/tr1/4_metaprogramming/integral_constant/
3178 static_definition.cc: Likewise.
3179 * testsuite/tr1/4_metaprogramming/integral_constant/
3180 true_false_value.cc: Likewise.
3181 * testsuite/tr1/4_metaprogramming/is_abstract/value.cc: Likewise.
3182 * testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc: Likewise.
3183 * testsuite/tr1/4_metaprogramming/is_array/value.cc: Likewise.
3184 * testsuite/tr1/4_metaprogramming/is_base_of/value.cc: Likewise.
3185 * testsuite/tr1/4_metaprogramming/is_class/value.cc: Likewise.
3186 * testsuite/tr1/4_metaprogramming/is_compound/value.cc: Likewise.
3187 * testsuite/tr1/4_metaprogramming/is_const/value.cc: Likewise.
3188 * testsuite/tr1/4_metaprogramming/is_convertible/value.cc: Likewise.
3189 * testsuite/tr1/4_metaprogramming/is_empty/value.cc: Likewise.
3190 * testsuite/tr1/4_metaprogramming/is_enum/24808.cc: Likewise.
3191 * testsuite/tr1/4_metaprogramming/is_enum/value.cc: Likewise.
3192 * testsuite/tr1/4_metaprogramming/is_floating_point/value.cc: Likewise.
3193 * testsuite/tr1/4_metaprogramming/is_function/24808.cc: Likewise.
3194 * testsuite/tr1/4_metaprogramming/is_function/value.cc: Likewise.
3195 * testsuite/tr1/4_metaprogramming/is_fundamental/value.cc: Likewise.
3196 * testsuite/tr1/4_metaprogramming/is_integral/value.cc: Likewise.
3197 * testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc:
3198 Likewise.
3199 * testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc:
3200 Likewise.
3201 * testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc: Likewise.
3202 * testsuite/tr1/4_metaprogramming/is_object/24808.cc: Likewise.
3203 * testsuite/tr1/4_metaprogramming/is_object/value.cc: Likewise.
3204 * testsuite/tr1/4_metaprogramming/is_pod/value.cc: Likewise.
3205 * testsuite/tr1/4_metaprogramming/is_pointer/value.cc: Likewise.
3206 * testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc: Likewise.
3207 * testsuite/tr1/4_metaprogramming/is_reference/value.cc: Likewise.
3208 * testsuite/tr1/4_metaprogramming/is_same/value.cc: Likewise.
3209 * testsuite/tr1/4_metaprogramming/is_scalar/value.cc: Likewise.
3210 * testsuite/tr1/4_metaprogramming/is_signed/value.cc: Likewise.
3211 * testsuite/tr1/4_metaprogramming/is_union/value.cc: Likewise.
3212 * testsuite/tr1/4_metaprogramming/is_unsigned/value.cc: Likewise.
3213 * testsuite/tr1/4_metaprogramming/is_void/value.cc: Likewise.
3214 * testsuite/tr1/4_metaprogramming/is_volatile/value.cc: Likewise.
3215 * testsuite/tr1/4_metaprogramming/rank/value.cc: Likewise.
3216 * testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc: Likewise.
3217 * testsuite/tr1/4_metaprogramming/remove_const/value.cc: Likewise.
3218 * testsuite/tr1/4_metaprogramming/remove_cv/value.cc: Likewise.
3219 * testsuite/tr1/4_metaprogramming/remove_extent/value.cc: Likewise.
3220 * testsuite/tr1/4_metaprogramming/remove_pointer/value.cc: Likewise.
3221 * testsuite/tr1/4_metaprogramming/remove_reference/value.cc: Likewise.
3222 * testsuite/tr1/4_metaprogramming/remove_volatile/value.cc: Likewise.
3223 * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3224 equal.cc: Likewise.
3225 * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3226 not_equal.cc: Likewise.
3227 * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3228 serialize.cc: Likewise.
3229 * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3230 cons/default.cc: Likewise.
3231 * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3232 cons/gen1.cc: Likewise.
3233 * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3234 operators/equal.cc: Likewise.
3235 * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3236 operators/not_equal.cc: Likewise.
3237 * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3238 operators/serialize.cc: Likewise.
3239 * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3240 cons/default.cc: Likewise.
3241 * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3242 cons/gen1.cc: Likewise.
3243 * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3244 operators/equal.cc: Likewise.
3245 * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3246 operators/not_equal.cc: Likewise.
3247 * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3248 operators/serialize.cc: Likewise.
3249 * testsuite/tr1/5_numerical_facilities/random/minstd_rand.cc: Likewise.
3250 * testsuite/tr1/5_numerical_facilities/random/minstd_rand0.cc: Likewise.
3251 * testsuite/tr1/5_numerical_facilities/random/mt19937.cc: Likewise.
3252 * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
3253 default.cc: Likewise.
3254 * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
3255 token.cc: Likewise.
3256 * testsuite/tr1/5_numerical_facilities/random/ranlux3.cc: Likewise.
3257 * testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc: Likewise.
3258 * testsuite/tr1/5_numerical_facilities/random/ranlux4.cc: Likewise.
3259 * testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc
3260 * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3261 cons/default.cc: Likewise.
3262 * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3263 cons/gen1.cc: Likewise.
3264 * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3265 operators/equal.cc: Likewise.
3266 * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3267 operators/not_equal.cc: Likewise.
3268 * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3269 operators/serialize.cc: Likewise.
3270 * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3271 cons/default.cc: Likewise.
3272 * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3273 cons/gen1.cc: Likewise.
3274 * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3275 operators/equal.cc: Likewise.
3276 * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3277 operators/not_equal.cc: Likewise.
3278 * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3279 operators/serialize.cc: Likewise.
3280 * testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc:
3281 Likewise.
3282 * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3283 default.cc: Likewise.
3284 * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3285 range.cc: Likewise.
3286 * testsuite/tr1/5_numerical_facilities/random/xor_combine/cons/
3287 default.cc: Likewise.
3288 * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3289 equal.cc: Likewise.
3290 * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3291 not_equal.cc: Likewise.
3292 * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3293 serialize.cc: Likewise.
3294 * testsuite/tr1/5_numerical_facilities/special_functions/
3295 08_cyl_bessel_i/check_value.cc: Likewise.
3296 * testsuite/tr1/5_numerical_facilities/special_functions/
3297 08_cyl_bessel_i/pr56216.cc: Likewise.
3298 * testsuite/tr1/5_numerical_facilities/special_functions/
3299 09_cyl_bessel_j/check_value.cc: Likewise.
3300 * testsuite/tr1/5_numerical_facilities/special_functions/
3301 10_cyl_bessel_k/check_value.cc: Likewise.
3302 * testsuite/tr1/5_numerical_facilities/special_functions/
3303 11_cyl_neumann/check_value.cc: Likewise.
3304 * testsuite/tr1/5_numerical_facilities/special_functions/
3305 16_hermite/check_value.cc: Likewise.
3306 * testsuite/tr1/5_numerical_facilities/special_functions/
3307 21_sph_bessel/check_value.cc: Likewise.
3308 * testsuite/tr1/5_numerical_facilities/special_functions/
3309 23_sph_neumann/check_value.cc: Likewise.
3310 * testsuite/tr1/6_containers/array/capacity/empty.cc: Likewise.
3311 * testsuite/tr1/6_containers/array/capacity/max_size.cc: Likewise.
3312 * testsuite/tr1/6_containers/array/capacity/size.cc: Likewise.
3313 * testsuite/tr1/6_containers/array/comparison_operators/equal.cc:
3314 Likewise.
3315 * testsuite/tr1/6_containers/array/comparison_operators/greater.cc:
3316 Likewise.
3317 * testsuite/tr1/6_containers/array/comparison_operators/
3318 greater_or_equal.cc: Likewise.
3319 * testsuite/tr1/6_containers/array/comparison_operators/less.cc:
3320 Likewise.
3321 * testsuite/tr1/6_containers/array/comparison_operators/
3322 less_or_equal.cc: Likewise.
3323 * testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc:
3324 Likewise.
3325 * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc:
3326 Likewise.
3327 * testsuite/tr1/6_containers/array/element_access/back.cc: Likewise.
3328 * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
3329 * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
3330 * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc:
3331 Likewise.
3332 * testsuite/tr1/6_containers/array/requirements/assign.cc: Likewise.
3333 * testsuite/tr1/6_containers/array/requirements/contiguous.cc: Likewise.
3334 * testsuite/tr1/6_containers/array/requirements/member_swap.cc:
3335 Likewise.
3336 * testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc:
3337 Likewise.
3338 * testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc:
3339 Likewise.
3340 * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
3341 * testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc:
3342 Likewise.
3343 * testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc:
3344 Likewise.
3345 * testsuite/tr1/6_containers/hash/24799.cc: Likewise.
3346 * testsuite/tr1/6_containers/hash/operators/size_t.cc: Likewise.
3347 *
3348 testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc:
3349 Likewise.
3350 * testsuite/tr1/6_containers/tuple/cons/assignment.cc: Likewise.
3351 * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: Likewise.
3352 * testsuite/tr1/6_containers/tuple/cons/constructor.cc: Likewise.
3353 * testsuite/tr1/6_containers/tuple/creation_functions/23978.cc:
3354 Likewise.
3355 * testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc:
3356 Likewise.
3357 * testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: Likewise.
3358 * testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Likewise.
3359 * testsuite/tr1/6_containers/tuple/element_access/get.cc: Likewise.
3360 * testsuite/tr1/6_containers/tuple/tuple_size.cc: Likewise.
3361 * testsuite/tr1/6_containers/unordered_map/24064.cc: Likewise.
3362 * testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc:
3363 Likewise.
3364 * testsuite/tr1/6_containers/unordered_map/erase/1.cc: Likewise.
3365 * testsuite/tr1/6_containers/unordered_map/erase/24061-map.cc: Likewise.
3366 * testsuite/tr1/6_containers/unordered_map/find/map1.cc: Likewise.
3367 * testsuite/tr1/6_containers/unordered_map/insert/24061-map.cc:
3368 Likewise.
3369 * testsuite/tr1/6_containers/unordered_map/insert/array_syntax.cc:
3370 Likewise.
3371 * testsuite/tr1/6_containers/unordered_map/insert/map_range.cc:
3372 Likewise.
3373 * testsuite/tr1/6_containers/unordered_map/insert/map_single.cc:
3374 Likewise.
3375 * testsuite/tr1/6_containers/unordered_map/swap/1.cc: Likewise.
3376 * testsuite/tr1/6_containers/unordered_map/swap/2.cc: Likewise.
3377 * testsuite/tr1/6_containers/unordered_multimap/capacity/
3378 29134-multimap.cc: Likewise.
3379 * testsuite/tr1/6_containers/unordered_multimap/erase/1.cc: Likewise.
3380 * testsuite/tr1/6_containers/unordered_multimap/erase/
3381 24061-multimap.cc: Likewise.
3382 * testsuite/tr1/6_containers/unordered_multimap/find/multimap1.cc:
3383 Likewise.
3384 * testsuite/tr1/6_containers/unordered_multimap/insert/
3385 24061-multimap.cc: Likewise.
3386 * testsuite/tr1/6_containers/unordered_multimap/insert/
3387 multimap_range.cc: Likewise.
3388 * testsuite/tr1/6_containers/unordered_multimap/insert/
3389 multimap_single.cc: Likewise.
3390 * testsuite/tr1/6_containers/unordered_multimap/swap/1.cc: Likewise.
3391 * testsuite/tr1/6_containers/unordered_multimap/swap/2.cc: Likewise.
3392 * testsuite/tr1/6_containers/unordered_multiset/24054.cc: Likewise.
3393 * testsuite/tr1/6_containers/unordered_multiset/capacity/
3394 29134-multiset.cc: Likewise.
3395 * testsuite/tr1/6_containers/unordered_multiset/erase/1.cc: Likewise.
3396 * testsuite/tr1/6_containers/unordered_multiset/erase/
3397 24061-multiset.cc: Likewise.
3398 * testsuite/tr1/6_containers/unordered_multiset/find/multiset1.cc:
3399 Likewise.
3400 * testsuite/tr1/6_containers/unordered_multiset/insert/
3401 24061-multiset.cc: Likewise.
3402 * testsuite/tr1/6_containers/unordered_multiset/insert/
3403 multiset_range.cc: Likewise.
3404 * testsuite/tr1/6_containers/unordered_multiset/insert/
3405 multiset_single.cc: Likewise.
3406 * testsuite/tr1/6_containers/unordered_multiset/swap/1.cc: Likewise.
3407 * testsuite/tr1/6_containers/unordered_multiset/swap/2.cc: Likewise.
3408 * testsuite/tr1/6_containers/unordered_set/23465.cc: Likewise.
3409 * testsuite/tr1/6_containers/unordered_set/26132.cc: Likewise.
3410 * testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
3411 Likewise.
3412 * testsuite/tr1/6_containers/unordered_set/erase/1.cc: Likewise.
3413 * testsuite/tr1/6_containers/unordered_set/erase/24061-set.cc: Likewise.
3414 * testsuite/tr1/6_containers/unordered_set/find/set1.cc: Likewise.
3415 * testsuite/tr1/6_containers/unordered_set/insert/24061-set.cc:
3416 Likewise.
3417 * testsuite/tr1/6_containers/unordered_set/insert/set_range.cc:
3418 Likewise.
3419 * testsuite/tr1/6_containers/unordered_set/insert/set_single.cc:
3420 Likewise.
3421 * testsuite/tr1/6_containers/unordered_set/swap/1.cc: Likewise.
3422 * testsuite/tr1/6_containers/unordered_set/swap/2.cc: Likewise.
3423 * testsuite/tr1/6_containers/utility/pair.cc: Likewise.
3424 * testsuite/tr1/7_regular_expressions/match_results/ctors/char/
3425 default.cc: Likewise.
3426 * testsuite/tr1/7_regular_expressions/regex_traits/char/
3427 translate_nocase.cc: Likewise.
3428 * testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc:
3429 Likewise.
3430 * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/
3431 translate_nocase.cc: Likewise.
3432 * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc:
3433 Likewise.
3434 * testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise.
3435 * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Likewise.
3436
b08c2bc7
VV
34372016-10-16 Ville Voutilainen <ville.voutilainen@gmail.com>
3438
3439 Make sure the return value of malloc_allocator::allocate
3440 is zero-initialized so that checking it for non-zero works
3441 later.
3442 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
3443 Initialize the return value.
3444 * testsuite/ext/malloc_allocator/sanity.cc: New.
3445
38e34671
EW
34462016-10-14 Eelis van der Weegen <eelis@eelis.net>
3447
3448 * include/bits/stl_algo.h (shuffle): Extract two random numbers from
3449 each generator invocation when its range is large enough.
3450
a4744f62
JW
34512016-10-14 Jonathan Wakely <jwakely@redhat.com>
3452
17739146
JW
3453 * testsuite/experimental/algorithm/sample.cc: Qualify calls to
3454 resolve ambiguity between std::sample and std::experimental::sample.
3455
de1d0794
JW
3456 * include/std/functional (_Mu<A, false, true>, _Mu<A, true, false>):
3457 Simplify forwarding from tuple of references.
3458 (_Maybe_wrap_member_pointer): Remove.
3459 (_Bind::__call, _Bind::__call_c, _Bind::__call_v, _Bind::__call_c_v):
3460 Use std::__invoke.
3461 (_Bind::_Mu_type, _Bind::_Res_type_impl, _Bind::_Res_type)
3462 (_Bind::__dependent, _Bind::_Res_type_cv): New helpers to simplify
3463 return type deduction.
3464 (_Bind::operator(), _Bind::operator() const): Use new helpers.
3465 (_Bind::operator() volatile, _Bind::operator() const volatile):
3466 Likewise. Add deprecated attribute for C++17 mode.
3467 (_Bind_result::__call): Use std::__invoke.
3468 (_Bind_result::operator() volatile)
3469 (_Bind_result::operator() const volatile): Add deprecated attribute.
3470 (_Bind_helper::__maybe_type, _Bindres_helper::__maybe_type): Remove.
3471 (_Bind_helper, _Bindres_helper): Don't use _Maybe_wrap_member_pointer.
3472 (bind, bind<R>): Don't use __maybe_type.
3473 * src/c++11/compatibility-thread-c++0x.cc
3474 (_Maybe_wrap_member_pointer): Define here for compatibility symbols.
3475 * testsuite/20_util/bind/68912.cc: Don't test volatile-qualification
3476 in C++17 mode.
3477 * testsuite/20_util/bind/cv_quals.cc: Likewise.
3478 * testsuite/20_util/bind/cv_quals_2.cc: Likewise.
3479
a4744f62
JW
3480 * include/std/scoped_allocator (scoped_allocator_adaptor): Forward
3481 piecewise construction arguments as tuples of references, to avoid
3482 copies (related to LWG 2511).
3483 * testsuite/20_util/scoped_allocator/construct_pair.cc: New test.
3484
1558d39e
PC
34852016-10-14 Paolo Carlini <paolo.carlini@oracle.com>
3486
3487 * testsuite/26_numerics/accumulate/1.cc: Remove 'test' variables.
3488 * testsuite/26_numerics/adjacent_difference/1.cc: Likewise.
3489 * testsuite/26_numerics/complex/13450.cc: Likewise.
3490 * testsuite/26_numerics/complex/50880.cc: Likewise.
3491 * testsuite/26_numerics/complex/c99.cc: Likewise.
3492 * testsuite/26_numerics/complex/cons/48760.cc: Likewise.
3493 * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
3494 * testsuite/26_numerics/complex/dr781_dr1137.cc: Likewise.
3495 * testsuite/26_numerics/complex/dr844.cc: Likewise.
3496 * testsuite/26_numerics/complex/inserters_extractors/char/1.cc:
3497 Likewise.
3498 * testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc:
3499 Likewise.
3500 * testsuite/26_numerics/complex/value_operations/1.cc: Likewise.
3501 * testsuite/26_numerics/complex/value_operations/dr387.cc: Likewise.
3502 * testsuite/26_numerics/headers/cmath/19322.cc: Likewise.
3503 * testsuite/26_numerics/headers/cmath/
3504 c99_classification_macros_c++11.c: Likewise.c
3505 * testsuite/26_numerics/headers/cmath/
3506 c99_classification_macros_c++98.cc: Likewise.
3507 * testsuite/26_numerics/headers/cmath/c_math.cc: Likewise.
3508 * testsuite/26_numerics/headers/cmath/dr550.cc: Likewise.
3509 * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
3510 * testsuite/26_numerics/headers/cmath/powi.cc: Likewise.
3511 * testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise.
3512 * testsuite/26_numerics/inner_product/1.cc: Likewise.
3513 * testsuite/26_numerics/iota/1.cc: Likewise.
3514 * testsuite/26_numerics/partial_sum/1.cc: Likewise.
3515 * testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc:
3516 Likewise.
3517 * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
3518 Likewise.
3519 * testsuite/26_numerics/random/bernoulli_distribution/operators/
3520 equal.cc: Likewise.
3521 * testsuite/26_numerics/random/bernoulli_distribution/operators/
3522 inequal.cc: Likewise.
3523 * testsuite/26_numerics/random/binomial_distribution/cons/default.cc:
3524 Likewise.
3525 * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
3526 Likewise.
3527 * testsuite/26_numerics/random/binomial_distribution/operators/
3528 equal.cc: Likewise.
3529 * testsuite/26_numerics/random/binomial_distribution/operators/
3530 inequal.cc: Likewise.
3531 * testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
3532 Likewise.
3533 * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
3534 Likewise.
3535 * testsuite/26_numerics/random/cauchy_distribution/operators/equal.cc:
3536 Likewise.
3537 * testsuite/26_numerics/random/cauchy_distribution/operators/
3538 inequal.cc: Likewise.
3539 * testsuite/26_numerics/random/chi_squared_distribution/cons/
3540 default.cc: Likewise.
3541 * testsuite/26_numerics/random/chi_squared_distribution/cons/
3542 parms.cc: Likewise.
3543 * testsuite/26_numerics/random/chi_squared_distribution/operators/
3544 equal.cc: Likewise.
3545 * testsuite/26_numerics/random/chi_squared_distribution/operators/
3546 inequal.cc: Likewise.
3547 * testsuite/26_numerics/random/default_random_engine.cc: Likewise.
3548 * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
3549 Likewise.
3550 * testsuite/26_numerics/random/discard_block_engine/operators/equal.cc:
3551 Likewise.
3552 * testsuite/26_numerics/random/discard_block_engine/operators/
3553 inequal.cc: Likewise.
3554 * testsuite/26_numerics/random/discard_block_engine/operators/
3555 serialize.cc: Likewise.
3556 * testsuite/26_numerics/random/discrete_distribution/cons/
3557 default.cc: Likewise.
3558 * testsuite/26_numerics/random/discrete_distribution/cons/
3559 initlist.cc: Likewise.
3560 * testsuite/26_numerics/random/discrete_distribution/cons/
3561 num_xbound_fun.cc: Likewise.
3562 * testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
3563 Likewise.
3564 * testsuite/26_numerics/random/discrete_distribution/operators/
3565 equal.cc: Likewise.
3566 * testsuite/26_numerics/random/discrete_distribution/operators/
3567 inequal.cc: Likewise.
3568 * testsuite/26_numerics/random/exponential_distribution/cons/
3569 default.cc: Likewise.
3570 * testsuite/26_numerics/random/exponential_distribution/cons/
3571 parms.cc: Likewise.
3572 * testsuite/26_numerics/random/exponential_distribution/operators/
3573 equal.cc: Likewise.
3574 * testsuite/26_numerics/random/exponential_distribution/operators/
3575 inequal.cc: Likewise.
3576 * testsuite/26_numerics/random/extreme_value_distribution/cons/
3577 default.cc: Likewise.
3578 * testsuite/26_numerics/random/extreme_value_distribution/cons/
3579 parms.cc: Likewise.
3580 * testsuite/26_numerics/random/extreme_value_distribution/operators/
3581 equal.cc: Likewise.
3582 * testsuite/26_numerics/random/extreme_value_distribution/operators/
3583 inequal.cc: Likewise.
3584 * testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc:
3585 Likewise.
3586 * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
3587 Likewise.
3588 * testsuite/26_numerics/random/fisher_f_distribution/operators/
3589 equal.cc: Likewise.
3590 * testsuite/26_numerics/random/fisher_f_distribution/operators/
3591 inequal.cc: Likewise.
3592 * testsuite/26_numerics/random/gamma_distribution/cons/default.cc:
3593 Likewise.
3594 * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
3595 Likewise.
3596 * testsuite/26_numerics/random/gamma_distribution/operators/equal.cc:
3597 Likewise.
3598 * testsuite/26_numerics/random/gamma_distribution/operators/
3599 inequal.cc: Likewise.
3600 * testsuite/26_numerics/random/geometric_distribution/cons/
3601 default.cc: Likewise.
3602 * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
3603 Likewise.
3604 * testsuite/26_numerics/random/geometric_distribution/operators/
3605 equal.cc: Likewise.
3606 * testsuite/26_numerics/random/geometric_distribution/operators/
3607 inequal.cc: Likewise.
3608 * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
3609 Likewise.
3610 * testsuite/26_numerics/random/independent_bits_engine/operators/
3611 equal.cc: Likewise.
3612 * testsuite/26_numerics/random/independent_bits_engine/operators/
3613 inequal.cc: Likewise.
3614 * testsuite/26_numerics/random/independent_bits_engine/operators/
3615 serialize.cc: Likewise.
3616 * testsuite/26_numerics/random/knuth_b.cc: Likewise.
3617 * testsuite/26_numerics/random/linear_congruential_engine/cons/
3618 55215.cc: Likewise.
3619 * testsuite/26_numerics/random/linear_congruential_engine/cons/
3620 default.cc: Likewise.
3621 * testsuite/26_numerics/random/linear_congruential_engine/operators/
3622 51795.cc: Likewise.
3623 * testsuite/26_numerics/random/linear_congruential_engine/operators/
3624 equal.cc: Likewise.
3625 * testsuite/26_numerics/random/linear_congruential_engine/operators/
3626 inequal.cc: Likewise.
3627 * testsuite/26_numerics/random/linear_congruential_engine/operators/
3628 serialize.cc: Likewise.
3629 * testsuite/26_numerics/random/lognormal_distribution/cons/default.cc:
3630 Likewise.
3631 * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
3632 Likewise.
3633 * testsuite/26_numerics/random/lognormal_distribution/operators/
3634 equal.cc: Likewise.
3635 * testsuite/26_numerics/random/lognormal_distribution/operators/
3636 inequal.cc: Likewise.
3637 * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
3638 Likewise.
3639 * testsuite/26_numerics/random/mersenne_twister_engine/cons/
3640 default.cc: Likewise.
3641 * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3642 equal.cc: Likewise.
3643 * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3644 inequal.cc: Likewise.
3645 * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3646 serialize.cc: Likewise.
3647 * testsuite/26_numerics/random/minstd_rand.cc: Likewise.
3648 * testsuite/26_numerics/random/minstd_rand0.cc: Likewise.
3649 * testsuite/26_numerics/random/mt19937.cc: Likewise.
3650 * testsuite/26_numerics/random/mt19937_64.cc: Likewise.
3651 * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3652 default.cc: Likewise.
3653 * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3654 parms.cc: Likewise.
3655 * testsuite/26_numerics/random/negative_binomial_distribution/
3656 operators/equal.cc: Likewise.
3657 * testsuite/26_numerics/random/negative_binomial_distribution/
3658 operators/inequal.cc: Likewise.
3659 * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
3660 Likewise.
3661 * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
3662 Likewise.
3663 * testsuite/26_numerics/random/normal_distribution/operators/
3664 equal.cc: Likewise.
3665 * testsuite/26_numerics/random/normal_distribution/operators/
3666 inequal.cc: Likewise.
3667 * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3668 default.cc: Likewise.
3669 * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3670 initlist_fun.cc: Likewise.
3671 * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3672 num_xbound_fun.cc: Likewise.
3673 * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3674 range.cc: Likewise.
3675 * testsuite/26_numerics/random/piecewise_constant_distribution/
3676 operators/equal.cc: Likewise.
3677 * testsuite/26_numerics/random/piecewise_constant_distribution/
3678 operators/inequal.cc: Likewise.
3679 * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3680 default.cc: Likewise.
3681 * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3682 initlist_fun.cc: Likewise.
3683 * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3684 num_xbound_fun.cc: Likewise.
3685 * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3686 range.cc: Likewise.
3687 * testsuite/26_numerics/random/piecewise_linear_distribution/
3688 operators/equal.cc: Likewise.
3689 * testsuite/26_numerics/random/piecewise_linear_distribution/
3690 operators/inequal.cc: Likewise.
3691 * testsuite/26_numerics/random/poisson_distribution/cons/default.cc:
3692 Likewise.
3693 * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
3694 Likewise.
3695 * testsuite/26_numerics/random/poisson_distribution/operators/
3696 equal.cc: Likewise.
3697 * testsuite/26_numerics/random/poisson_distribution/operators/
3698 inequal.cc: Likewise.
3699 * testsuite/26_numerics/random/random_device/cons/default.cc: Likewise.
3700 * testsuite/26_numerics/random/random_device/cons/token.cc: Likewise.
3701 * testsuite/26_numerics/random/ranlux24.cc: Likewise.
3702 * testsuite/26_numerics/random/ranlux24_base.cc: Likewise.
3703 * testsuite/26_numerics/random/ranlux48.cc: Likewise.
3704 * testsuite/26_numerics/random/ranlux48_base.cc: Likewise.
3705 * testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Likewise.
3706 * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
3707 Likewise.
3708 * testsuite/26_numerics/random/shuffle_order_engine/operators/
3709 equal.cc: Likewise.
3710 * testsuite/26_numerics/random/shuffle_order_engine/operators/
3711 inequal.cc: Likewise.
3712 * testsuite/26_numerics/random/shuffle_order_engine/operators/
3713 serialize.cc: Likewise.
3714 * testsuite/26_numerics/random/student_t_distribution/cons/
3715 default.cc: Likewise.
3716 * testsuite/26_numerics/random/student_t_distribution/cons/
3717 parms.cc: Likewise.
3718 * testsuite/26_numerics/random/student_t_distribution/operators/
3719 equal.cc: Likewise.
3720 * testsuite/26_numerics/random/student_t_distribution/operators/
3721 inequal.cc: Likewise.
3722 * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3723 55215.cc: Likewise.
3724 * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3725 default.cc: Likewise.
3726 * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3727 equal.cc: Likewise.
3728 * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3729 inequal.cc: Likewise.
3730 * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3731 serialize.cc: Likewise.
3732 * testsuite/26_numerics/random/uniform_int_distribution/cons/
3733 default.cc: Likewise.
3734 * testsuite/26_numerics/random/uniform_int_distribution/cons/
3735 parms.cc: Likewise.
3736 * testsuite/26_numerics/random/uniform_int_distribution/operators/
3737 equal.cc: Likewise.
3738 * testsuite/26_numerics/random/uniform_int_distribution/operators/
3739 inequal.cc: Likewise.
3740 * testsuite/26_numerics/random/uniform_real_distribution/cons/
3741 default.cc: Likewise.
3742 * testsuite/26_numerics/random/uniform_real_distribution/cons/
3743 parms.cc: Likewise.
3744 * testsuite/26_numerics/random/uniform_real_distribution/operators/
3745 equal.cc: Likewise.
3746 * testsuite/26_numerics/random/uniform_real_distribution/operators/
3747 inequal.cc: Likewise.
3748 * testsuite/26_numerics/random/weibull_distribution/cons/default.cc:
3749 Likewise.
3750 * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
3751 Likewise.
3752 * testsuite/26_numerics/random/weibull_distribution/operators/
3753 equal.cc: Likewise.
3754 * testsuite/26_numerics/random/weibull_distribution/operators/
3755 inequal.cc: Likewise.
3756 * testsuite/26_numerics/slice/1.cc: Likewise.
3757 * testsuite/26_numerics/slice_array/array_assignment.cc: Likewise.
3758 * testsuite/26_numerics/valarray/27867.cc: Likewise.
3759 * testsuite/26_numerics/valarray/28277.cc: Likewise.
3760 * testsuite/26_numerics/valarray/30416.cc: Likewise.
3761 * testsuite/26_numerics/valarray/dr543.cc: Likewise.
3762 * testsuite/26_numerics/valarray/dr630-1.cc: Likewise.
3763 * testsuite/26_numerics/valarray/dr630-2.cc: Likewise.
3764 * testsuite/26_numerics/valarray/dr630-3.C: Likewise.
3765 * testsuite/26_numerics/valarray/init-list.cc: Likewise.
3766 * testsuite/26_numerics/valarray/moveable.cc: Likewise.
3767 * testsuite/26_numerics/valarray/operators.cc: Likewise.
3768 * testsuite/26_numerics/valarray/swap.cc: Likewise.
3769 * testsuite/experimental/deque/erasure.cc: Likewise.
3770 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
3771 Likewise.
3772 * testsuite/experimental/filesystem/iterators/
3773 recursive_directory_iterator.cc: Likewise.
3774 * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
3775 * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
3776 * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
3777 * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
3778 * testsuite/experimental/filesystem/operations/create_directories.cc:
3779 Likewise.
3780 * testsuite/experimental/filesystem/operations/create_directory.cc:
3781 Likewise.
3782 * testsuite/experimental/filesystem/operations/current_path.cc:
3783 Likewise.
3784 * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
3785 * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
3786 * testsuite/experimental/filesystem/operations/last_write_time.cc:
3787 Likewise.
3788 * testsuite/experimental/filesystem/operations/permissions.cc: Likewise.
3789 * testsuite/experimental/filesystem/operations/status.cc: Likewise.
3790 * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
3791 Likewise.
3792 * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
3793 * testsuite/experimental/forward_list/erasure.cc: Likewise.
3794 * testsuite/experimental/list/erasure.cc: Likewise.
3795 * testsuite/experimental/map/erasure.cc: Likewise.
3796 * testsuite/experimental/memory/shared_ptr/assign/assign.cc: Likewise.
3797 * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
3798 Likewise.
3799 * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: Likewise.
3800 * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: Likewise.
3801 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: Likewise.
3802 * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc:
3803 Likewise.
3804 * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: Likewise.
3805 * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
3806 Likewise.
3807 * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
3808 Likewise.
3809 * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
3810 Likewise.
3811 * testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise.
3812 * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Likewise.
3813 * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: Likewise.
3814 * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
3815 Likewise.
3816 * testsuite/experimental/memory/shared_ptr/observers/operators.cc:
3817 Likewise.
3818 * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
3819 Likewise.
3820 * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
3821 Likewise.
3822 * testsuite/experimental/memory_resource/1.cc: Likewise.
3823 * testsuite/experimental/memory_resource/null_memory_resource.cc:
3824 Likewise.
3825 * testsuite/experimental/memory_resource/resource_adaptor.cc: Likewise.
3826 * testsuite/experimental/set/erasure.cc: Likewise.
3827 * testsuite/experimental/string/erasure.cc: Likewise.
3828 * testsuite/experimental/string_view/capacity/1.cc: Likewise.
3829 * testsuite/experimental/string_view/cons/char/1.cc: Likewise.
3830 * testsuite/experimental/string_view/cons/char/2.cc: Likewise.
3831 * testsuite/experimental/string_view/cons/char/3.cc: Likewise.
3832 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
3833 * testsuite/experimental/string_view/cons/wchar_t/2.cc: Likewise.
3834 * testsuite/experimental/string_view/cons/wchar_t/3.cc: Likewise.
3835 * testsuite/experimental/string_view/element_access/char/1.cc: Likewise.
3836 * testsuite/experimental/string_view/element_access/char/empty.cc:
3837 Likewise.
3838 * testsuite/experimental/string_view/element_access/char/
3839 front_back.cc: Likewise.
3840 * testsuite/experimental/string_view/element_access/wchar_t/1.cc:
3841 Likewise.
3842 * testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
3843 Likewise.
3844 * testsuite/experimental/string_view/element_access/wchar_t/
3845 front_back.cc: Likewise.
3846 * testsuite/experimental/string_view/inserters/char/1.cc: Likewise.
3847 * testsuite/experimental/string_view/inserters/char/2.cc: Likewise.
3848 * testsuite/experimental/string_view/inserters/char/3.cc: Likewise.
3849 * testsuite/experimental/string_view/inserters/pod/10081-out.cc:
3850 Likewise.
3851 * testsuite/experimental/string_view/inserters/wchar_t/1.cc: Likewise.
3852 * testsuite/experimental/string_view/inserters/wchar_t/2.cc: Likewise.
3853 * testsuite/experimental/string_view/inserters/wchar_t/3.cc: Likewise.
3854 * testsuite/experimental/string_view/modifiers/remove_prefix/char/
3855 1.cc: Likewise.
3856 * testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
3857 1.cc: Likewise.
3858 * testsuite/experimental/string_view/modifiers/remove_suffix/char/
3859 1.cc: Likewise.
3860 * testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
3861 1.cc: Likewise.
3862 * testsuite/experimental/string_view/operations/compare/char/1.cc:
3863 Likewise.
3864 * testsuite/experimental/string_view/operations/compare/char/
3865 13650.cc: Likewise.
3866 * testsuite/experimental/string_view/operations/compare/wchar_t/
3867 1.cc: Likewise.
3868 * testsuite/experimental/string_view/operations/compare/wchar_t/
3869 13650.cc: Likewise.
3870 * testsuite/experimental/string_view/operations/copy/char/1.cc:
3871 Likewise.
3872 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
3873 Likewise.
3874 * testsuite/experimental/string_view/operations/data/char/1.cc:
3875 Likewise.
3876 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
3877 Likewise.
3878 * testsuite/experimental/string_view/operations/find/char/1.cc:
3879 Likewise.
3880 * testsuite/experimental/string_view/operations/find/char/2.cc:
3881 Likewise.
3882 * testsuite/experimental/string_view/operations/find/char/3.cc:
3883 Likewise.
3884 * testsuite/experimental/string_view/operations/find/char/4.cc:
3885 Likewise.
3886 * testsuite/experimental/string_view/operations/find/wchar_t/1.cc:
3887 Likewise.
3888 * testsuite/experimental/string_view/operations/find/wchar_t/2.cc:
3889 Likewise.
3890 * testsuite/experimental/string_view/operations/find/wchar_t/3.cc:
3891 Likewise.
3892 * testsuite/experimental/string_view/operations/find/wchar_t/4.cc:
3893 Likewise.
3894 * testsuite/experimental/string_view/operations/rfind/char/1.cc:
3895 Likewise.
3896 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
3897 Likewise.
3898 * testsuite/experimental/string_view/operations/rfind/char/3.cc:
3899 Likewise.
3900 * testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc:
3901 Likewise.
3902 * testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc:
3903 Likewise.
3904 * testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc:
3905 Likewise.
3906 * testsuite/experimental/string_view/operations/substr/char/1.cc:
3907 Likewise.
3908 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
3909 Likewise.
3910 * testsuite/experimental/string_view/operations/to_string/1.cc:
3911 Likewise.
3912 * testsuite/experimental/string_view/operators/char/2.cc: Likewise.
3913 * testsuite/experimental/string_view/operators/wchar_t/2.cc: Likewise.
3914 * testsuite/experimental/unordered_map/erasure.cc: Likewise.
3915 * testsuite/experimental/unordered_set/erasure.cc: Likewise.
3916 * testsuite/experimental/vector/erasure.cc: Likewise.
3917 * testsuite/ext/array_allocator/1.cc: Likewise.
3918 * testsuite/ext/array_allocator/2.cc: Likewise.
3919 * testsuite/ext/array_allocator/3.cc: Likewise.
3920 * testsuite/ext/array_allocator/variadic_construct.cc: Likewise.
3921 * testsuite/ext/bitmap_allocator/variadic_construct.cc: Likewise.
3922 * testsuite/ext/codecvt/1.cc: Likewise.
3923 * testsuite/ext/codecvt/char-1.cc: Likewise.
3924 * testsuite/ext/codecvt/char-2.cc: Likewise.
3925 * testsuite/ext/codecvt/wchar_t.cc: Likewise.
3926 * testsuite/ext/enc_filebuf/char/13189.cc: Likewise.
3927 * testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
3928 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
3929 * testsuite/ext/ext_pointer/1.cc: Likewise.
3930 * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
3931 * testsuite/ext/malloc_allocator/variadic_construct.cc: Likewise.
3932 * testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: Likewise.
3933 * testsuite/ext/mt_allocator/tune-1.cc: Likewise.
3934 * testsuite/ext/mt_allocator/tune-2.cc: Likewise.
3935 * testsuite/ext/mt_allocator/tune-3.cc: Likewise.
3936 * testsuite/ext/mt_allocator/tune-4.cc: Likewise.
3937 * testsuite/ext/mt_allocator/variadic_construct.cc: Likewise.
3938 * testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
3939 * testsuite/ext/pod_char_traits.cc: Likewise.
3940 * testsuite/ext/pool_allocator/variadic_construct.cc: Likewise.
3941 * testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise.
3942 * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
3943 * testsuite/ext/random/arcsine_distribution/operators/equal.cc:
3944 Likewise.
3945 * testsuite/ext/random/arcsine_distribution/operators/inequal.cc:
3946 Likewise.
3947 * testsuite/ext/random/arcsine_distribution/operators/serialize.cc:
3948 Likewise.
3949 * testsuite/ext/random/beta_distribution/cons/default.cc: Likewise.
3950 * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
3951 * testsuite/ext/random/beta_distribution/operators/equal.cc: Likewise.
3952 * testsuite/ext/random/beta_distribution/operators/inequal.cc: Likewise.
3953 * testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise.
3954 * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
3955 * testsuite/ext/random/hoyt_distribution/operators/equal.cc: Likewise.
3956 * testsuite/ext/random/hoyt_distribution/operators/inequal.cc: Likewise.
3957 * testsuite/ext/random/hoyt_distribution/operators/serialize.cc:
3958 Likewise.
3959 * testsuite/ext/random/hypergeometric_distribution/cons/default.cc:
3960 Likewise.
3961 * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
3962 Likewise.
3963 * testsuite/ext/random/hypergeometric_distribution/operators/
3964 equal.cc: Likewise.
3965 * testsuite/ext/random/hypergeometric_distribution/operators/
3966 inequal.cc: Likewise.
3967 * testsuite/ext/random/hypergeometric_distribution/operators/
3968 serialize.cc: Likewise.
3969 * testsuite/ext/random/k_distribution/cons/default.cc: Likewise.
3970 * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
3971 * testsuite/ext/random/k_distribution/operators/equal.cc: Likewise.
3972 * testsuite/ext/random/k_distribution/operators/inequal.cc: Likewise.
3973 * testsuite/ext/random/k_distribution/operators/serialize.cc: Likewise.
3974 * testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise.
3975 * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
3976 * testsuite/ext/random/logistic_distribution/operators/equal.cc:
3977 Likewise.
3978 * testsuite/ext/random/logistic_distribution/operators/inequal.cc:
3979 Likewise.
3980 * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
3981 Likewise.
3982 * testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise.
3983 * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
3984 * testsuite/ext/random/nakagami_distribution/operators/equal.cc:
3985 Likewise.
3986 * testsuite/ext/random/nakagami_distribution/operators/inequal.cc:
3987 Likewise.
3988 * testsuite/ext/random/nakagami_distribution/operators/serialize.cc:
3989 Likewise.
3990 * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
3991 * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
3992 * testsuite/ext/random/normal_mv_distribution/operators/equal.cc:
3993 Likewise.
3994 * testsuite/ext/random/normal_mv_distribution/operators/inequal.cc:
3995 Likewise.
3996 * testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise.
3997 * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
3998 * testsuite/ext/random/pareto_distribution/operators/equal.cc: Likewise.
3999 * testsuite/ext/random/pareto_distribution/operators/inequal.cc:
4000 Likewise.
4001 * testsuite/ext/random/pareto_distribution/operators/serialize.cc:
4002 Likewise.
4003 * testsuite/ext/random/rice_distribution/cons/default.cc: Likewise.
4004 * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
4005 * testsuite/ext/random/rice_distribution/operators/equal.cc: Likewise.
4006 * testsuite/ext/random/rice_distribution/operators/inequal.cc: Likewise.
4007 * testsuite/ext/random/rice_distribution/operators/serialize.cc:
4008 Likewise.
4009 * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/
4010 default.cc: Likewise.
4011 * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
4012 equal.cc: Likewise.
4013 * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
4014 inequal.cc: Likewise.
4015 * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
4016 serialize.cc: Likewise.
4017 * testsuite/ext/random/triangular_distribution/cons/default.cc:
4018 Likewise.
4019 * testsuite/ext/random/triangular_distribution/cons/parms.cc: Likewise.
4020 * testsuite/ext/random/triangular_distribution/operators/equal.cc:
4021 Likewise.
4022 * testsuite/ext/random/triangular_distribution/operators/inequal.cc:
4023 Likewise.
4024 * testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc:
4025 Likewise.
4026 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4027 equal.cc: Likewise.
4028 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4029 generate.cc: Likewise.
4030 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4031 inequal.cc: Likewise.
4032 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4033 serialize.cc: Likewise.
4034 * testsuite/ext/random/von_mises_distribution/cons/default.cc: Likewise.
4035 * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
4036 * testsuite/ext/random/von_mises_distribution/operators/equal.cc:
4037 Likewise.
4038 * testsuite/ext/random/von_mises_distribution/operators/inequal.cc:
4039 Likewise.
4040 * testsuite/ext/rope/2.cc: Likewise.
4041 * testsuite/ext/rope/3.cc: Likewise.
4042 * testsuite/ext/rope/4.cc: Likewise.
4043 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
4044 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
4045 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: Likewise.
4046 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
4047 * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
4048 * testsuite/ext/stdio_filebuf/char/10063-1.cc: Likewise.
4049 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
4050 * testsuite/ext/stdio_filebuf/char/10063-3.cc: Likewise.
4051 * testsuite/ext/stdio_filebuf/char/2.cc: Likewise.
4052 * testsuite/ext/stdio_sync_filebuf/char/1.cc: Likewise.
4053 * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Likewise.
4054 * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Likewise.
4055 * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Likewise.
4056 * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Likewise.
4057 * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise.
4058 * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
4059 * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Likewise.
4060 * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Likewise.
4061 * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Likewise.
4062 * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Likewise.
4063 * testsuite/ext/throw_allocator/variadic_construct.cc: Likewise.
4064 * testsuite/ext/type_traits/add_unsigned.cc: Likewise.
4065 * testsuite/ext/type_traits/remove_unsigned.cc: Likewise.
4066 * testsuite/ext/vstring/capacity/29134.cc: Likewise.
4067 * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
4068 * testsuite/ext/vstring/cons/58415-1.cc: Likewise.
4069 * testsuite/ext/vstring/cons/moveable.cc: Likewise.
4070 * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
4071 * testsuite/ext/vstring/element_access/char/front_back.cc: Likewise.
4072 * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
4073 * testsuite/ext/vstring/element_access/wchar_t/front_back.cc: Likewise.
4074 * testsuite/ext/vstring/hash/char/1.cc: Likewise.
4075 * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
4076 * testsuite/ext/vstring/init-list.cc: Likewise.
4077 * testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.
4078 * testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: Likewise.
4079 * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Likewise.
4080 * testsuite/ext/vstring/modifiers/pop_back/char/1.cc: Likewise.
4081 * testsuite/ext/vstring/modifiers/pop_back/wchar_t/1.cc: Likewise.
4082 * testsuite/ext/vstring/operators/1.cc: Likewise.
4083 * testsuite/ext/vstring/operators/2.cc: Likewise.
4084
ace4c2f0
JW
40852016-10-14 Jonathan Wakely <jwakely@redhat.com>
4086
4087 PR libstdc++/65122
4088 * include/ext/malloc_allocator.h (malloc_allocator::allocate): Use
4089 aligned_alloc for types with extended alignment if available,
4090 otherwise throw bad_alloc if malloc doesn't return a suitable value.
4091 * include/ext/bitmap_allocator.h (bitmap_allocator::allocate)
4092 (bitmap_allocator::deallocate): Use aligned new/delete for types with
4093 extended alignment.
4094 * include/ext/mt_allocator.h (__mt_alloc::allocate)
4095 (__mt_alloc::deallocate): Likewise.
4096 * include/ext/new_allocator.h (new_allocator::allocate)
4097 (new_allocator::deallocate): Likewise.
4098 * include/ext/pool_allocator.h (__pool_alloc::allocate)
4099 (__pool_alloc::deallocate): Likewise.
4100 * testsuite/20_util/allocator/overaligned.cc: New test.
4101 * testsuite/ext/bitmap_allocator/overaligned.cc: New test.
4102 * testsuite/ext/malloc_allocator/overaligned.cc: New test.
4103 * testsuite/ext/mt_allocator/overaligned.cc: New test.
4104 * testsuite/ext/new_allocator/overaligned.cc: New test.
4105 * testsuite/ext/pool_allocator/overaligned.cc: New test.
4106
45b510b3
TS
41072016-10-14 Tim Shen <timshen@google.com>
4108
4109 PR libstdc++/77944
ace4c2f0
JW
4110 * include/std/variant: Include <bits/funcexcept.h> for __try and
4111 __catch.
45b510b3 4112
57c4fbc6
JW
41132016-10-14 Jonathan Wakely <jwakely@redhat.com>
4114
4115 * include/std/functional (_Reference_wrapper_base_impl): Remove.
4116 (_Refwrap_base_arg1, _Refwrap_base_arg2): New helpers using __void_t.
4117 (_Reference_wrapper_base): Inherit from new helpers.
4118
2437d31d
PC
41192016-10-13 Paolo Carlini <paolo.carlini@oracle.com>
4120
4121 * testsuite/24_iterators/container_access.cc: Remove 'test' variables.
4122 * testsuite/24_iterators/istream_iterator/2.cc: Likewise.
4123 * testsuite/24_iterators/istreambuf_iterator/2.cc: Likewise.
4124 * testsuite/24_iterators/istreambuf_iterator/2627.cc: Likewise.
4125 * testsuite/24_iterators/operations/next.cc: Likewise.
4126 * testsuite/24_iterators/operations/prev.cc: Likewise.
4127 * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
4128 * testsuite/24_iterators/random_access_iterator/26020.cc: Likewise.
4129 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
4130 * testsuite/24_iterators/reverse_iterator/11729.cc: Likewise.
4131 * testsuite/24_iterators/reverse_iterator/3.cc: Likewise.
4132 * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
4133 * testsuite/25_algorithms/all_of/1.cc: Likewise.
4134 * testsuite/25_algorithms/any_of/1.cc: Likewise.
4135 * testsuite/25_algorithms/binary_search/2.cc: Likewise.
4136 * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
4137 * testsuite/25_algorithms/clamp/1.cc: Likewise.
4138 * testsuite/25_algorithms/clamp/2.cc: Likewise.
4139 * testsuite/25_algorithms/copy/1.cc: Likewise.
4140 * testsuite/25_algorithms/copy/2.cc: Likewise.
4141 * testsuite/25_algorithms/copy/3.cc: Likewise.
4142 * testsuite/25_algorithms/copy/34595.cc: Likewise.
4143 * testsuite/25_algorithms/copy/4.cc: Likewise.
4144 * testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
4145 * testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
4146 * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
4147 * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
4148 * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
4149 * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
4150 * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
4151 Likewise.
4152 * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
4153 Likewise.
4154 * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
4155 Likewise.
4156 * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
4157 Likewise.
4158 * testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
4159 * testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
4160 * testsuite/25_algorithms/copy_n/1.cc: Likewise.
4161 * testsuite/25_algorithms/copy_n/2.cc: Likewise.
4162 * testsuite/25_algorithms/copy_n/3.cc: Likewise.
4163 * testsuite/25_algorithms/copy_n/4.cc: Likewise.
4164 * testsuite/25_algorithms/copy_n/50119.cc: Likewise.
4165 * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
4166 * testsuite/25_algorithms/equal_range/2.cc: Likewise.
4167 * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
4168 * testsuite/25_algorithms/fill/1.cc: Likewise.
4169 * testsuite/25_algorithms/fill/2.cc: Likewise.
4170 * testsuite/25_algorithms/fill/3.cc: Likewise.
4171 * testsuite/25_algorithms/fill/4.cc: Likewise.
4172 * testsuite/25_algorithms/fill_n/1.cc: Likewise.
4173 * testsuite/25_algorithms/find/39546.cc: Likewise.
4174 * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: Likewise.
4175 * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Likewise.
4176 * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
4177 Likewise.
4178 * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
4179 Likewise.
4180 * testsuite/25_algorithms/find_if/1.cc: Likewise.
4181 * testsuite/25_algorithms/find_if_not/1.cc: Likewise.
4182 * testsuite/25_algorithms/for_each/1.cc: Likewise.
4183 * testsuite/25_algorithms/heap/1.cc: Likewise.
4184 * testsuite/25_algorithms/heap/moveable.cc: Likewise.
4185 * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
4186 * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
4187 * testsuite/25_algorithms/includes/1.cc: Likewise.
4188 * testsuite/25_algorithms/inplace_merge/1.cc: Likewise.
4189 * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
4190 * testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise.
4191 * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
4192 * testsuite/25_algorithms/is_heap/1.cc: Likewise.
4193 * testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
4194 * testsuite/25_algorithms/is_partitioned/1.cc: Likewise.
4195 * testsuite/25_algorithms/is_permutation/1.cc: Likewise.
4196 * testsuite/25_algorithms/is_permutation/2.cc: Likewise.
4197 * testsuite/25_algorithms/is_permutation/vectorbool.cc: Likewise.
4198 * testsuite/25_algorithms/is_sorted/1.cc: Likewise.
4199 * testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
4200 * testsuite/25_algorithms/iter_swap/20577.cc: Likewise.
4201 * testsuite/25_algorithms/lower_bound/2.cc: Likewise.
4202 * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
4203 * testsuite/25_algorithms/make_heap/complexity.cc: Likewise.
4204 * testsuite/25_algorithms/max/1.cc: Likewise.
4205 * testsuite/25_algorithms/max/2.cc: Likewise.
4206 * testsuite/25_algorithms/max/3.cc: Likewise.
4207 * testsuite/25_algorithms/max/37547.cc: Likewise.
4208 * testsuite/25_algorithms/max/4.cc: Likewise.
4209 * testsuite/25_algorithms/min/1.cc: Likewise.
4210 * testsuite/25_algorithms/min/2.cc: Likewise.
4211 * testsuite/25_algorithms/min/3.cc: Likewise.
4212 * testsuite/25_algorithms/min/37547.cc: Likewise.
4213 * testsuite/25_algorithms/min/4.cc: Likewise.
4214 * testsuite/25_algorithms/minmax/1.cc: Likewise.
4215 * testsuite/25_algorithms/minmax/2.cc: Likewise.
4216 * testsuite/25_algorithms/minmax/3.cc: Likewise.
4217 * testsuite/25_algorithms/minmax/37547.cc: Likewise.
4218 * testsuite/25_algorithms/minmax_element/1.cc: Likewise.
4219 * testsuite/25_algorithms/move/1.cc: Likewise.
4220 * testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
4221 * testsuite/25_algorithms/move_backward/1.cc: Likewise.
4222 * testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
4223 * testsuite/25_algorithms/next_permutation/moveable.cc: Likewise.
4224 * testsuite/25_algorithms/none_of/1.cc: Likewise.
4225 * testsuite/25_algorithms/nth_element/1.cc: Likewise.
4226 * testsuite/25_algorithms/nth_element/2.cc: Likewise.
4227 * testsuite/25_algorithms/nth_element/3.cc: Likewise.
4228 * testsuite/25_algorithms/nth_element/moveable.cc: Likewise.
4229 * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
4230 * testsuite/25_algorithms/partial_sort/2.cc: Likewise.
4231 * testsuite/25_algorithms/partial_sort/check_compare_by_value.cc:
4232 Likewise.
4233 * testsuite/25_algorithms/partial_sort/moveable.cc: Likewise.
4234 * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
4235 * testsuite/25_algorithms/partial_sort_copy/2.cc: Likewise.
4236 * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
4237 * testsuite/25_algorithms/partition/1.cc: Likewise.
4238 * testsuite/25_algorithms/partition/moveable.cc: Likewise.
4239 * testsuite/25_algorithms/partition_copy/1.cc: Likewise.
4240 * testsuite/25_algorithms/partition_point/1.cc: Likewise.
4241 * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
4242 * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
4243 * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
4244 * testsuite/25_algorithms/random_shuffle/1.cc: Likewise.
4245 * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
4246 * testsuite/25_algorithms/rotate/1.cc: Likewise.
4247 * testsuite/25_algorithms/rotate/moveable.cc: Likewise.
4248 * testsuite/25_algorithms/rotate/moveable2.cc: Likewise.
4249 * testsuite/25_algorithms/rotate/rotate.cc: Likewise.
4250 * testsuite/25_algorithms/search/1.cc: Likewise.
4251 * testsuite/25_algorithms/search_n/58358.cc: Likewise.
4252 * testsuite/25_algorithms/shuffle/1.cc: Likewise.
4253 * testsuite/25_algorithms/sort/1.cc: Likewise.
4254 * testsuite/25_algorithms/sort/check_compare_by_value.cc: Likewise.
4255 * testsuite/25_algorithms/sort/moveable.cc: Likewise.
4256 * testsuite/25_algorithms/sort/random_test.cc: Likewise.
4257 * testsuite/25_algorithms/sort/vectorbool.cc: Likewise.
4258 * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc: Likewise.
4259 * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
4260 * testsuite/25_algorithms/stable_partition/1.cc: Likewise.
4261 * testsuite/25_algorithms/stable_partition/mem_check.cc: Likewise.
4262 * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
4263 * testsuite/25_algorithms/stable_sort/2.cc: Likewise.
4264 * testsuite/25_algorithms/stable_sort/3.cc: Likewise.
4265 * testsuite/25_algorithms/stable_sort/49559.cc: Likewise.
4266 * testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
4267 Likewise.
4268 * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
4269 * testsuite/25_algorithms/stable_sort/moveable.cc: Likewise.
4270 * testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise.
4271 * testsuite/25_algorithms/swap_ranges/1.cc: Likewise.
4272 * testsuite/25_algorithms/unique/11480.cc: Likewise.
4273 * testsuite/25_algorithms/unique/2.cc: Likewise.
4274 * testsuite/25_algorithms/unique/moveable.cc: Likewise.
4275 * testsuite/25_algorithms/unique_copy/1.cc: Likewise.
4276 * testsuite/25_algorithms/unique_copy/2.cc: Likewise.
4277 * testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
4278 * testsuite/25_algorithms/upper_bound/2.cc: Likewise.
4279 * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
4280 * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Likewise.
4281 * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc:
4282 Likewise.
4283 * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc:
4284 Likewise.
4285 * testsuite/28_regex/algorithms/regex_match/basic/
4286 string_range_00_03.cc: Likewise.
4287 * testsuite/28_regex/algorithms/regex_match/basic/
4288 string_range_01_03.cc: Likewise.
4289 * testsuite/28_regex/algorithms/regex_match/basic/
4290 string_range_02_03.cc: Likewise.
4291 * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
4292 Likewise.
4293 * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
4294 Likewise.
4295 * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
4296 Likewise.
4297 * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc:
4298 Likewise.
4299 * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
4300 Likewise.
4301 * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
4302 Likewise.
4303 * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc:
4304 Likewise.
4305 * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
4306 Likewise.
4307 * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
4308 Likewise.
4309 * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Likewise.
4310 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
4311 Likewise.
4312 * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc:
4313 Likewise.
4314 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
4315 Likewise.
4316 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/
4317 anymatcher.cc: Likewise.
4318 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
4319 Likewise.
4320 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc:
4321 Likewise.
4322 * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
4323 Likewise.
4324 * testsuite/28_regex/algorithms/regex_match/extended/
4325 cstring_questionmark.cc: Likewise.
4326 * testsuite/28_regex/algorithms/regex_match/extended/
4327 cstring_range.cc: Likewise.
4328 * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
4329 Likewise.
4330 * testsuite/28_regex/algorithms/regex_match/extended/
4331 string_range_00_03.cc: Likewise.
4332 * testsuite/28_regex/algorithms/regex_match/extended/
4333 string_range_01_03.cc: Likewise.
4334 * testsuite/28_regex/algorithms/regex_match/extended/
4335 string_range_02_03.cc: Likewise.
4336 * testsuite/28_regex/algorithms/regex_match/extended/
4337 wstring_locale.cc: Likewise.
4338 * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
4339 Likewise.
4340 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc: Likewise.
4341 * testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise.
4342 * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
4343 Likewise.
4344 * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
4345 Likewise.
4346 * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Likewise.
4347 * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Likewise.
4348 * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
4349 Likewise.
4350 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
4351 * testsuite/28_regex/basic_regex/assign/char/cstring_op.cc: Likewise.
4352 * testsuite/28_regex/basic_regex/assign/char/moveable.cc: Likewise.
4353 * testsuite/28_regex/basic_regex/assign/char/pstring.cc: Likewise.
4354 * testsuite/28_regex/basic_regex/assign/char/range.cc: Likewise.
4355 * testsuite/28_regex/basic_regex/assign/char/string.cc: Likewise.
4356 * testsuite/28_regex/basic_regex/assign/char/string_op.cc: Likewise.
4357 * testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc: Likewise.
4358 * testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc: Likewise.
4359 * testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc: Likewise.
4360 * testsuite/28_regex/basic_regex/assign/wchar_t/range.cc: Likewise.
4361 * testsuite/28_regex/basic_regex/assign/wchar_t/string.cc: Likewise.
4362 * testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc: Likewise.
4363 * testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc:
4364 Likewise.
4365 * testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
4366 Likewise.
4367 * testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
4368 * testsuite/28_regex/basic_regex/ctors/extended/
4369 string_range_01_02_03.cc: Likewise.
4370 * testsuite/28_regex/basic_regex/ctors/move_char.cc: Likewise.
4371 * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
4372 * testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc: Likewise.
4373 * testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc: Likewise.
4374 * testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc: Likewise.
4375 * testsuite/28_regex/basic_regex/imbue/string.cc: Likewise.
4376 * testsuite/28_regex/constants/error_type.cc: Likewise.
4377 * testsuite/28_regex/constants/match_flag_type.cc: Likewise.
4378 * testsuite/28_regex/init-list.cc: Likewise.
4379 * testsuite/28_regex/iterators/regex_iterator/char/64140.cc: Likewise.
4380 * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
4381 Likewise.
4382 * testsuite/28_regex/iterators/regex_iterator/char/
4383 string_position_01.cc
4384 * testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc:
4385 Likewise.
4386 * testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/
4387 default.cc: Likewise.
4388 * testsuite/28_regex/iterators/regex_iterator/typedefs.cc: Likewise.
4389 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
4390 Likewise.
4391 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
4392 Likewise.
4393 * testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Likewise.
4394 * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
4395 Likewise.
4396 * testsuite/28_regex/iterators/regex_token_iterator/ctors/char/
4397 default.cc: Likewise.
4398 * testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/
4399 default.cc: Likewise.
4400 * testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc:
4401 Likewise.
4402 * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4403 string_01.cc: Likewise.
4404 * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4405 wstring_02.cc: Likewise.
4406 * testsuite/28_regex/match_results/ctors/char/default.cc: Likewise.
4407 * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
4408 * testsuite/28_regex/match_results/format.cc: Likewise.
4409 * testsuite/28_regex/match_results/out_of_range_submatches.cc: Likewise.
4410 * testsuite/28_regex/match_results/swap.cc: Likewise.
4411 * testsuite/28_regex/match_results/typedefs.cc: Likewise.
4412 * testsuite/28_regex/regex_error/regex_error.cc: Likewise.
4413 * testsuite/28_regex/regression.cc: Likewise.
4414 * testsuite/28_regex/sub_match/cast_char.cc: Likewise.
4415 * testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
4416 * testsuite/28_regex/sub_match/embedded_zeros_cmp.cc: Likewise.
4417 * testsuite/28_regex/sub_match/length.cc: Likewise.
4418 * testsuite/28_regex/traits/char/ctor.cc: Likewise.
4419 * testsuite/28_regex/traits/char/isctype.cc: Likewise.
4420 * testsuite/28_regex/traits/char/length.cc: Likewise.
4421 * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
4422 * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
4423 * testsuite/28_regex/traits/char/transform.cc: Likewise.
4424 * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
4425 * testsuite/28_regex/traits/char/translate.cc: Likewise.
4426 * testsuite/28_regex/traits/char/translate_nocase.cc: Likewise.
4427 * testsuite/28_regex/traits/char/user_defined.cc: Likewise.
4428 * testsuite/28_regex/traits/char/value.cc: Likewise.
4429 * testsuite/28_regex/traits/wchar_t/ctor.cc: Likewise.
4430 * testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise.
4431 * testsuite/28_regex/traits/wchar_t/length.cc: Likewise.
4432 * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: Likewise.
4433 * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
4434 * testsuite/28_regex/traits/wchar_t/transform.cc: Likewise.
4435 * testsuite/28_regex/traits/wchar_t/transform_primary.cc: Likewise.
4436 * testsuite/28_regex/traits/wchar_t/translate.cc: Likewise.
4437 * testsuite/28_regex/traits/wchar_t/translate_nocase.cc: Likewise.
4438 * testsuite/28_regex/traits/wchar_t/user_defined.cc: Likewise.
4439 * testsuite/28_regex/traits/wchar_t/value.cc: Likewise.
4440 * testsuite/29_atomics/atomic/60658.cc: Likewise.
4441 * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
4442 * testsuite/29_atomics/atomic_flag/clear/1.cc: Likewise.
4443 * testsuite/backward/11460.cc: Likewise.
4444 * testsuite/backward/hash_map/1.cc: Likewise.
4445 * testsuite/backward/hash_map/25896.cc: Likewise.
4446 * testsuite/backward/hash_set/1.cc: Likewise.
4447 * testsuite/backward/hash_set/25896.cc: Likewise.
4448 * testsuite/decimal/binary-arith.cc: Likewise.
4449 * testsuite/decimal/comparison.cc: Likewise.
4450 * testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
4451 * testsuite/decimal/compound-assignment.cc: Likewise.
4452 * testsuite/decimal/conversion-from-float.cc: Likewise.
4453 * testsuite/decimal/conversion-from-integral.cc: Likewise.
4454 * testsuite/decimal/conversion-to-generic-float.cc: Likewise.
4455 * testsuite/decimal/conversion-to-integral.cc: Likewise.
4456 * testsuite/decimal/ctor.cc: Likewise.
4457 * testsuite/decimal/incdec-memfunc.cc: Likewise.
4458 * testsuite/decimal/incdec.cc: Likewise.
4459 * testsuite/decimal/make-decimal.cc: Likewise.
4460 * testsuite/decimal/pr54036-1.cc: Likewise.
4461 * testsuite/decimal/pr54036-2.cc: Likewise.
4462 * testsuite/decimal/pr54036-3.cc: Likewise.
4463 * testsuite/decimal/unary-arith.cc: Likewise.
4464 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise.
4465 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
4466 Likewise.
4467 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise.
4468 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
4469 Likewise.
4470 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
4471 * testsuite/special_functions/03_beta/check_value.cc: Likewise.
4472 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
4473 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: Likewise.
4474 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
4475 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: Likewise.
4476 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
4477 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Likewise.
4478 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
4479 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Likewise.
4480 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
4481 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
4482 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Likewise.
4483 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
4484 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Likewise.
4485 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
4486 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
4487 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
4488 * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
4489 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
4490 * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
4491 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
4492 * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
4493 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
4494 * testsuite/special_functions/14_expint/check_value.cc: Likewise.
4495 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
4496 * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
4497 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
4498 * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
4499 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
4500 * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
4501 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
4502 * testsuite/special_functions/18_riemann_zeta/check_value.cc: Likewise.
4503 * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
4504 * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
4505 * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
4506 * testsuite/special_functions/20_sph_legendre/check_value.cc: Likewise.
4507 * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
4508 * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
4509 * testsuite/tr2/bases/value.cc: Likewise.
4510 * testsuite/tr2/direct_bases/value.cc: Likewise.
4511 * testsuite/util/debug/checks.h: Likewise.
4512 * testsuite/util/debug/unordered_checks.h: Likewise.
4513 * testsuite/util/testsuite_allocator.h: Likewise.
4514 * testsuite/util/testsuite_api.h: Likewise.
4515 * testsuite/util/testsuite_common_types.h: Likewise.
4516 * testsuite/util/testsuite_random.h: Likewise.
4517 * testsuite/util/testsuite_rvalref.h: Likewise.
4518
3e0c9334
JW
45192016-10-13 Jonathan Wakely <jwakely@redhat.com>
4520
d67dd0be
JW
4521 * include/bits/shared_ptr_base.h: Include <functional>.
4522 [!__cpp_rtti]: Do not include <typeinfo>.
4523 * include/experimental/array: Do not include <functional>.
4524 * include/experimental/memory: Include <bits/functional_hash.h>
4525 instead of <functional>.
4526 * include/experimental/propagate_const: Include <bits/stl_function.h>,
4527 <bits/functional_hash.h>, and <bits/move.h> instead of <functional>.
4528 * include/experimental/tuple: Do not include <functional>.
4529 * include/std/future: Include <functional>.
4530 * include/std/memory: Do not include <functional>.
4531 * include/std/mutex: [_GLIBCXX_HAVE_TLS]: Likewise.
c05986b9 4532 * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
d67dd0be
JW
4533 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
4534 missing includes.
4535 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4536 * testsuite/20_util/specialized_algorithms/memory_management_tools/
4537 1.cc: Likewise.
4538 * testsuite/30_threads/call_once/60497.cc: Likewise.
4539 * testsuite/30_threads/lock/2.cc: Likewise.
4540 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
4541 * testsuite/experimental/algorithm/sample.cc: Likewise.
4542 * testsuite/experimental/array/make_array.cc: Likewise.
4543 * testsuite/experimental/array/neg.cc: Likewise. Adjust dg-error line.
4544 * testsuite/experimental/propagate_const/assignment/move_neg.cc:
4545 Adjust dg-error lines.
4546 * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
4547 * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
4548 * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
4549 * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
4550 * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
4551
40799fe5
JW
4552 * testsuite/experimental/algorithm/sample.cc: Add missing header.
4553
10482a65
JW
4554 * include/experimental/propagate_const (element_type): Qualify
4555 declval.
4556
f49adbb8
JW
4557 * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
4558 instead of assert.
4559
5117a23e
JW
4560 * include/experiumental/functional (boyer_moore_searcher)
4561 (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
4562 with _GLIBCXX_STD_C.
4563 * include/std/functional: Likewise.
4564
0c0d2a4c
JW
4565 * include/std/chrono (floor): Replace non-constexpr operation.
4566 * testsuite/20_util/duration_cast/rounding.cc: Test conversion to
4567 durations with floating pointer representations.
4568
3396fcc0
JW
4569 * src/c++11/compatibility-thread-c++0x.cc (_Bind_simple)
4570 (_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols.
4571
5579170b
JW
4572 * include/std/functional (_Bind_simple, _Bind_simple_helper)
4573 (__bind_simple): Remove.
4574 * include/std/future: Include <bits/invoke.h> instead of <functional>.
4575 (__future_base::_Task_state::_M_run)
4576 (__future_base::_Task_state::_M_run_delayed): Use lambda expressions
4577 instead of __bind_simple.
4578 (__future_base::_Task_state::_S_maybe_wrap_ref): Remove.
4579 (async): Use thread::__make_invoker instead of __bind_simple.
4580 * include/std/thread: Include <tuple> and <bits/invoke.h> instead of
4581 <functional>.
4582 (thread::_Invoker, thread::__make_invoker): Define helpers to do
4583 INVOKE(DECAY_COPY(f), DECAY_COPY(args)...).
4584
cc06c7f6
JW
4585 * include/std/functional (_Not_fn): Make exception specifications
4586 depend on whether negating the result can throw.
4587 * testsuite/20_util/not_fn/1.cc: Move to ...
4588 * testsuite/20_util/function_objects/not_fn/1.cc: ... here. Add tests
4589 for types that can throw when negated and that cannot be negated.
4590
3e0c9334
JW
4591 * include/bits/invoke.h (__invoke): Fix exception-specification.
4592 * include/std/functional (invoke): Likewise.
4593 * testsuite/20_util/function_objects/invoke/1.cc: New test.
4594
7daade99
PC
45952016-10-12 Paolo Carlini <paolo.carlini@oracle.com>
4596
4597 * testsuite/util/testsuite_hooks.h: Rewrite VERIFY in terms of
4598 __builtin_printf and __builtin_abort.
4599 * testsuite/lib/libstdc++.exp: Remove _GLIBCXX_ASSERT use.
4600 * scripts/testsuite_flags.in: Likewise.
4601 * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
4602 * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
4603 * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
4604 * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
4605 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise, adjust.
4606 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
4607 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
4608 * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
4609 * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
4610 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
4611 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
4612 Likewise.
4613 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
4614 Likewise.
4615 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
4616 Likewise.
4617 * testsuite/27_io/objects/char/7.cc: Likewise.
4618 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
4619 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
4620 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
4621 * testsuite/18_support/50594.cc: Remove 'test' variable, adjust.
4622 * testsuite/18_support/bad_alloc/what.cc: Likewise.
4623 * testsuite/18_support/bad_cast/what.cc: Likewise.
4624 * testsuite/18_support/bad_exception/what.cc: Likewise.
4625 * testsuite/18_support/bad_typeid/what.cc: Likewise.
4626 * testsuite/18_support/exception/38732.cc: Likewise.
4627 * testsuite/18_support/exception/what.cc: Likewise.
4628 * testsuite/18_support/exception_ptr/64241.cc: Likewise.
4629 * testsuite/18_support/exception_ptr/current_exception.cc: Likewise.
4630 * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
4631 * testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise.
4632 * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
4633 * testsuite/18_support/nested_exception/cons.cc: Likewise.
4634 * testsuite/18_support/nested_exception/nested_ptr.cc: Likewise.
4635 * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise.
4636 * testsuite/18_support/nested_exception/rethrow_nested.cc: Likewise.
4637 * testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise.
4638 * testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise.
4639 * testsuite/18_support/numeric_limits/digits10.cc: Likewise.
4640 * testsuite/18_support/numeric_limits/dr559.cc: Likewise.
4641 * testsuite/18_support/numeric_limits/epsilon.cc: Likewise.
4642 * testsuite/18_support/numeric_limits/is_iec559.cc: Likewise.
4643 * testsuite/18_support/numeric_limits/is_signed.cc: Likewise.
4644 * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
4645 * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
4646 * testsuite/18_support/numeric_limits/min_max.cc: Likewise.
4647 * testsuite/18_support/numeric_limits/specialization_default_values.cc:
4648 Likewise.
4649 * testsuite/18_support/type_info/hash_code.cc: Likewise.
4650 * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
4651 * testsuite/19_diagnostics/error_category/cons/default.cc: Likewise.
4652 * testsuite/19_diagnostics/error_category/operators/equal.cc: Likewise.
4653 * testsuite/19_diagnostics/error_category/operators/
4654 not_equal.cc: Likewise.
4655 * testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
4656 * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
4657 * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
4658 * testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
4659 * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
4660 * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
4661 * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise.
4662 * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
4663 * testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
4664 Likewise.
4665 * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
4666 * testsuite/19_diagnostics/error_condition/operators/equal.cc:
4667 Likewise.
4668 * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
4669 Likewise.
4670 * testsuite/19_diagnostics/logic_error/what-1.cc: Likewise.
4671 * testsuite/19_diagnostics/logic_error/what-2.cc: Likewise.
4672 * testsuite/19_diagnostics/logic_error/what-3.cc: Likewise.
4673 * testsuite/19_diagnostics/logic_error/what-big.cc: Likewise.
4674 * testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise.
4675 * testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise.
4676 * testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
4677 * testsuite/19_diagnostics/runtime_error/what-big.cc: Likewise.
4678 * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
4679 * testsuite/19_diagnostics/system_error/what-1.cc: Likewise.
4680 * testsuite/19_diagnostics/system_error/what-2.cc: Likewise.
4681 * testsuite/19_diagnostics/system_error/what-3.cc: Likewise.
4682 * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
4683 * testsuite/19_diagnostics/system_error/what-big.cc: Likewise.
4684 * testsuite/20_util/addressof/1.cc: Likewise.
4685 * testsuite/20_util/align/1.cc: Likewise.
4686 * testsuite/20_util/align/2.cc: Likewise.
4687 * testsuite/20_util/allocator/1.cc: Likewise.
4688 * testsuite/20_util/allocator/10378.cc: Likewise.
4689 * testsuite/20_util/allocator/8230.cc: Likewise.
4690 * testsuite/20_util/allocator_traits/members/allocate_hint.cc:
4691 Likewise.
4692 * testsuite/20_util/allocator_traits/members/construct.cc: Likewise.
4693 * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
4694 * testsuite/20_util/allocator_traits/members/max_size.cc: Likewise.
4695 * testsuite/20_util/any/assign/exception.cc: Likewise.
4696 * testsuite/20_util/auto_ptr/1.cc: Likewise.
4697 * testsuite/20_util/auto_ptr/2.cc: Likewise.
4698 * testsuite/20_util/auto_ptr/3.cc: Likewise.
4699 * testsuite/20_util/auto_ptr/4.cc: Likewise.
4700 * testsuite/20_util/auto_ptr/5.cc: Likewise.
4701 * testsuite/20_util/auto_ptr/6.cc: Likewise.
4702 * testsuite/20_util/auto_ptr/7.cc: Likewise.
4703 * testsuite/20_util/bind/all_bound.cc: Likewise.
4704 * testsuite/20_util/bind/conv_result.cc: Likewise.
4705 * testsuite/20_util/bind/cv_quals.cc: Likewise.
4706 * testsuite/20_util/bind/cv_quals_2.cc
4707 * testsuite/20_util/bind/nested.cc: Likewise.
4708 * testsuite/20_util/bind/placeholders.cc: Likewise.
4709 * testsuite/20_util/bind/ref.cc: Likewise.
4710 * testsuite/20_util/bind/ref2.cc: Likewise.
4711 * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
4712 * testsuite/20_util/duration/arithmetic/1.cc: Likewise.
4713 * testsuite/20_util/duration/arithmetic/2.cc: Likewise.
4714 * testsuite/20_util/duration/arithmetic/58850.cc: Likewise.
4715 * testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise.
4716 * testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise.
4717 * testsuite/20_util/duration/comparison_operators/1.cc: Likewise.
4718 * testsuite/20_util/duration/cons/1.cc: Likewise.
4719 * testsuite/20_util/duration/cons/2.cc: Likewise.
4720 * testsuite/20_util/enable_if/requirements/typedefs.cc: Likewise.
4721 * testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Likewise.
4722 * testsuite/20_util/enable_shared_from_this/members/assign.cc:
4723 Likewise.
4724 * testsuite/20_util/exchange/1.cc: Likewise.
4725 * testsuite/20_util/forward/a.cc: Likewise.
4726 * testsuite/20_util/forward/b.cc: Likewise.
4727 * testsuite/20_util/forward/d.cc: Likewise.
4728 * testsuite/20_util/function/1.cc: Likewise.
4729 * testsuite/20_util/function/2.cc: Likewise.
4730 * testsuite/20_util/function/3.cc: Likewise.
4731 * testsuite/20_util/function/4.cc: Likewise.
4732 * testsuite/20_util/function/43397.cc: Likewise.
4733 * testsuite/20_util/function/5.cc: Likewise.
4734 * testsuite/20_util/function/6.cc: Likewise.
4735 * testsuite/20_util/function/7.cc: Likewise.
4736 * testsuite/20_util/function/8.cc: Likewise.
4737 * testsuite/20_util/function/9.cc: Likewise.
4738 * testsuite/20_util/function/assign/move.cc: Likewise.
4739 * testsuite/20_util/function/cons/move.cc: Likewise.
4740 * testsuite/20_util/function_objects/dr660.cc: Likewise.
4741 * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Likewise.
4742 * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
4743 * testsuite/20_util/hash/chi2_q_document_words.cc: Likewise.
4744 * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
4745 * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
4746 * testsuite/20_util/hash/operators/size_t.cc: Likewise.
4747 * testsuite/20_util/hash/quality.cc: Likewise.
4748 * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
4749 * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
4750 * testsuite/20_util/is_function/24808.cc: Likewise.
4751 * testsuite/20_util/is_object/24808.cc: Likewise.
4752 * testsuite/20_util/move_if_noexcept/1.cc: Likewise.
4753 * testsuite/20_util/move_if_noexcept/constexpr.cc: Likewise.
4754 * testsuite/20_util/owner_less/cmp.cc: Likewise.
4755 * testsuite/20_util/pair/1.cc: Likewise.
4756 * testsuite/20_util/pair/2.cc: Likewise.
4757 * testsuite/20_util/pair/3.cc: Likewise.
4758 * testsuite/20_util/pair/4.cc: Likewise.
4759 * testsuite/20_util/pair/make_pair/constexpr.cc: Likewise.
4760 * testsuite/20_util/pair/moveable.cc: Likewise.
4761 * testsuite/20_util/pair/piecewise.cc: Likewise.
4762 * testsuite/20_util/pair/swap.cc: Likewise.
4763 * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
4764 * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.
4765 * testsuite/20_util/ratio/comparisons/comp3.cc: Likewise.
4766 * testsuite/20_util/ratio/cons/cons1.cc: Likewise.
4767 * testsuite/20_util/ratio/operations/45866.cc: Likewise.
4768 * testsuite/20_util/ratio/operations/47913.cc: Likewise.
4769 * testsuite/20_util/ratio/operations/ops1.cc: Likewise.
4770 * testsuite/20_util/ratio/operations/ops2.cc: Likewise.
4771 * testsuite/20_util/ratio/operations/ops3.cc: Likewise.
4772 * testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
4773 * testsuite/20_util/scoped_allocator/1.cc: Likewise.
4774 * testsuite/20_util/scoped_allocator/2.cc: Likewise.
4775 * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise.
4776 * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
4777 * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
4778 * testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
4779 * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
4780 * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
4781 Likewise.
4782 * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
4783 * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise.
4784 * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise.
4785 * testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
4786 * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
4787 * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
4788 * testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
4789 * testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
4790 * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise.
4791 * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
4792 * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
4793 * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Likewise.
4794 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Likewise.
4795 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc:
4796 Likewise.
4797 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
4798 Likewise.
4799 * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
4800 * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
4801 * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
4802 * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
4803 * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
4804 * testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
4805 * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
4806 * testsuite/20_util/shared_ptr/hash/1.cc: Likewise.
4807 * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
4808 * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise.
4809 * testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
4810 * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
4811 * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
4812 * testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
4813 * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
4814 * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
4815 * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
4816 * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
4817 * testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
4818 * testsuite/20_util/shared_ptr/observers/owner_before.cc: Likewise.
4819 * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
4820 * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
4821 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
4822 Likewise.
4823 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4824 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
4825 move_iterators/1.cc: Likewise.
4826 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
4827 move_iterators/1.cc: Likewise.
4828 * testsuite/20_util/temporary_buffer.cc: Likewise.
4829 * testsuite/20_util/time_point/1.cc: Likewise.
4830 * testsuite/20_util/time_point/2.cc: Likewise.
4831 * testsuite/20_util/time_point/3.cc: Likewise.
4832 * testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise.
4833 * testsuite/20_util/tuple/48476.cc: Likewise.
4834 * testsuite/20_util/tuple/comparison_operators/comparisons.cc:
4835 Likewise.
4836 * testsuite/20_util/tuple/cons/allocators.cc: Likewise.
4837 * testsuite/20_util/tuple/cons/assignment.cc: Likewise.
4838 * testsuite/20_util/tuple/cons/big_tuples.cc: Likewise.
4839 * testsuite/20_util/tuple/cons/constructor.cc: Likewise.
4840 * testsuite/20_util/tuple/creation_functions/23978.cc: Likewise.
4841 * testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.
4842 * testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise.
4843 * testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc:
4844 Likewise.
4845 * testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise.
4846 * testsuite/20_util/tuple/creation_functions/tie.cc: Likewise.
4847 * testsuite/20_util/tuple/creation_functions/tie2.cc: Likewise.
4848 * testsuite/20_util/tuple/cv_tuple_size.cc: Likewise.
4849 * testsuite/20_util/tuple/element_access/get.cc: Likewise.
4850 * testsuite/20_util/tuple/element_access/get_by_type.cc: Likewise.
4851 * testsuite/20_util/tuple/moveable.cc: Likewise.
4852 * testsuite/20_util/tuple/swap.cc: Likewise.
4853 * testsuite/20_util/tuple/tuple_size.cc: Likewise.
4854 * testsuite/20_util/typeindex/comparison_operators.cc: Likewise.
4855 * testsuite/20_util/typeindex/hash.cc: Likewise.
4856 * testsuite/20_util/typeindex/hash_code.cc: Likewise.
4857 * testsuite/20_util/typeindex/name.cc: Likewise.
4858 * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
4859 * testsuite/20_util/unique_ptr/assign/move.cc: Likewise.
4860 * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise.
4861 * testsuite/20_util/unique_ptr/assign/nullptr.cc: Likewise.
4862 * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise.
4863 * testsuite/20_util/unique_ptr/cons/nullptr.cc: Likewise.
4864 * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise.
4865 * testsuite/20_util/unique_ptr/cons/pointer_array.cc: Likewise.
4866 * testsuite/20_util/unique_ptr/cons/ptr_deleter.cc: Likewise.
4867 * testsuite/20_util/unique_ptr/creation/array.cc: Likewise.
4868 * testsuite/20_util/unique_ptr/creation/single.cc: Likewise.
4869 * testsuite/20_util/unique_ptr/hash/1.cc: Likewise.
4870 * testsuite/20_util/unique_ptr/modifiers/43183.cc: Likewise.
4871 * testsuite/20_util/unique_ptr/specialized_algorithms/
4872 comparisons.cc: Likewise.
4873 * testsuite/20_util/unique_ptr/specialized_algorithms/
4874 comparisons_array.cc: Likewise.
4875 * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc:
4876 Likewise.
4877 * testsuite/20_util/uses_allocator/construction.cc: Likewise.
4878 * testsuite/20_util/uses_allocator/value.cc: Likewise.
4879 * testsuite/20_util/variant/run.cc: Likewise.
4880 * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
4881 * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
4882 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
4883 Likewise.
4884 * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
4885 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
4886 Likewise.
4887 * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
4888 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
4889 Likewise.
4890 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
4891 Likewise.
4892 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
4893 Likewise.
4894 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
4895 Likewise.
4896 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
4897 Likewise.
4898 * testsuite/21_strings/basic_string/capacity/1.cc: Likewise.
4899 * testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise.
4900 * testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise.
4901 * testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise.
4902 * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
4903 Likewise.
4904 * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise.
4905 * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
4906 Likewise.
4907 * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Likewise.
4908 * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
4909 Likewise.
4910 * testsuite/21_strings/basic_string/cons/char/1.cc: Likewise.
4911 * testsuite/21_strings/basic_string/cons/char/2.cc: Likewise.
4912 * testsuite/21_strings/basic_string/cons/char/3.cc: Likewise.
4913 * testsuite/21_strings/basic_string/cons/char/4.cc: Likewise.
4914 * testsuite/21_strings/basic_string/cons/char/42261.cc: Likewise.
4915 * testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
4916 * testsuite/21_strings/basic_string/cons/char/6.cc: Likewise.
4917 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
4918 * testsuite/21_strings/basic_string/cons/char/8.cc: Likewise.
4919 * testsuite/21_strings/basic_string/cons/char/moveable.cc: Likewise.
4920 * testsuite/21_strings/basic_string/cons/char/moveable2.cc: Likewise.
4921 * testsuite/21_strings/basic_string/cons/wchar_t/1.cc: Likewise.
4922 * testsuite/21_strings/basic_string/cons/wchar_t/2.cc: Likewise.
4923 * testsuite/21_strings/basic_string/cons/wchar_t/3.cc: Likewise.
4924 * testsuite/21_strings/basic_string/cons/wchar_t/4.cc: Likewise.
4925 * testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.
4926 * testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
4927 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Likewise.
4928 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
4929 * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
4930 * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
4931 * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
4932 Likewise.
4933 * testsuite/21_strings/basic_string/element_access/char/1.cc: Likewise.
4934 * testsuite/21_strings/basic_string/element_access/char/2.cc: Likewise.
4935 * testsuite/21_strings/basic_string/element_access/char/3.cc: Likewise.
4936 * testsuite/21_strings/basic_string/element_access/char/4.cc: Likewise.
4937 * testsuite/21_strings/basic_string/element_access/char/58163.cc:
4938 Likewise.
4939 * testsuite/21_strings/basic_string/element_access/char/empty.cc:
4940 Likewise.
4941 * testsuite/21_strings/basic_string/element_access/char/front_back.cc:
4942 Likewise.
4943 * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc:
4944 Likewise.
4945 * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc:
4946 Likewise.
4947 * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc:
4948 Likewise.
4949 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
4950 Likewise.
4951 * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
4952 Likewise.
4953 * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
4954 Likewise.
4955 * testsuite/21_strings/basic_string/element_access/wchar_t/
4956 front_back.cc: Likewise.
4957 * testsuite/21_strings/basic_string/init-list.cc: Likewise.
4958 * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
4959 Likewise.
4960 * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
4961 Likewise.
4962 * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
4963 Likewise.
4964 * testsuite/21_strings/basic_string/inserters_extractors/char/
4965 28277.cc: Likewise.
4966 * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
4967 Likewise.
4968 * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
4969 Likewise.
4970 * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
4971 Likewise.
4972 * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
4973 Likewise.
4974 * testsuite/21_strings/basic_string/inserters_extractors/char/8.cc:
4975 Likewise.
4976 * testsuite/21_strings/basic_string/inserters_extractors/char/9.cc:
4977 Likewise.
4978 * testsuite/21_strings/basic_string/inserters_extractors/pod/
4979 10081-in.cc: Likewise.
4980 * testsuite/21_strings/basic_string/inserters_extractors/pod/
4981 10081-out.cc: Likewise.
4982 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
4983 Likewise.
4984 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4985 10.cc: Likewise.
4986 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4987 11.cc: Likewise.
4988 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4989 28277.cc: Likewise.
4990 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
4991 Likewise.
4992 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
4993 Likewise.
4994 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
4995 Likewise.
4996 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
4997 Likewise.
4998 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc:
4999 Likewise.
5000 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc:
5001 Likewise.
5002 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc:
5003 Likewise.
5004 * testsuite/21_strings/basic_string/modifiers/append/char/2.cc:
5005 Likewise.
5006 * testsuite/21_strings/basic_string/modifiers/append/char/3.cc:
5007 Likewise.
5008 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
5009 Likewise.
5010 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
5011 Likewise.
5012 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc:
5013 Likewise.
5014 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc:
5015 Likewise.
5016 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
5017 Likewise.
5018 * testsuite/21_strings/basic_string/modifiers/assign/char/1.cc:
5019 Likewise.
5020 * testsuite/21_strings/basic_string/modifiers/assign/char/2.cc:
5021 Likewise.
5022 * testsuite/21_strings/basic_string/modifiers/assign/char/3.cc:
5023 Likewise.
5024 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
5025 Likewise.
5026 * testsuite/21_strings/basic_string/modifiers/assign/char/
5027 move_assign.cc: Likewise.
5028 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc:
5029 Likewise.
5030 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc:
5031 Likewise.
5032 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc:
5033 Likewise.
5034 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
5035 Likewise.
5036 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
5037 move_assign.cc: Likewise.
5038 * testsuite/21_strings/basic_string/modifiers/insert/char/1.cc:
5039 Likewise.
5040 * testsuite/21_strings/basic_string/modifiers/insert/char/2.cc:
5041 Likewise.
5042 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
5043 Likewise.
5044 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc:
5045 Likewise.
5046 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc:
5047 Likewise.
5048 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
5049 Likewise.
5050 * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc:
5051 Likewise.
5052 * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc:
5053 Likewise.
5054 * testsuite/21_strings/basic_string/modifiers/replace/char/1.cc:
5055 Likewise.
5056 * testsuite/21_strings/basic_string/modifiers/replace/char/2.cc:
5057 Likewise.
5058 * testsuite/21_strings/basic_string/modifiers/replace/char/3.cc:
5059 Likewise.
5060 * testsuite/21_strings/basic_string/modifiers/replace/char/4.cc:
5061 Likewise.
5062 * testsuite/21_strings/basic_string/modifiers/replace/char/5.cc:
5063 Likewise.
5064 * testsuite/21_strings/basic_string/modifiers/replace/char/6.cc:
5065 Likewise.
5066 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
5067 Likewise.
5068 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc:
5069 Likewise.
5070 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc:
5071 Likewise.
5072 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc:
5073 Likewise.
5074 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc:
5075 Likewise.
5076 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc:
5077 Likewise.
5078 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc:
5079 Likewise.
5080 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
5081 Likewise.
5082 * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
5083 Likewise.
5084 * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
5085 Likewise.
5086 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
5087 Likewise.
5088 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
5089 Likewise.
5090 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
5091 Likewise.
5092 * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
5093 Likewise.
5094 * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
5095 Likewise.
5096 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
5097 Likewise.
5098 * testsuite/21_strings/basic_string/numeric_conversions/char/
5099 stoull.cc: Likewise.
5100 * testsuite/21_strings/basic_string/numeric_conversions/char/
5101 to_string.cc: Likewise.
5102 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5103 dr1261.cc: Likewise.
5104 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5105 stod.cc: Likewise.
5106 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5107 stof.cc: Likewise.
5108 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5109 stoi.cc: Likewise.
5110 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5111 stol.cc: Likewise.
5112 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5113 stold.cc: Likewise.
5114 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5115 stoll.cc: Likewise.
5116 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5117 stoul.cc: Likewise.
5118 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5119 stoull.cc: Likewise.
5120 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5121 to_wstring.cc: Likewise.
5122 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
5123 Likewise.
5124 * testsuite/21_strings/basic_string/operations/compare/char/13650.cc:
5125 Likewise.
5126 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
5127 Likewise.
5128 * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
5129 Likewise.
5130 * testsuite/21_strings/basic_string/operations/compare/wchar_t/
5131 13650.cc: Likewise.
5132 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
5133 Likewise.
5134 * testsuite/21_strings/basic_string/operations/data/char/1.cc:
5135 Likewise.
5136 * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc:
5137 Likewise.
5138 * testsuite/21_strings/basic_string/operations/find/char/1.cc:
5139 Likewise.
5140 * testsuite/21_strings/basic_string/operations/find/char/2.cc:
5141 Likewise.
5142 * testsuite/21_strings/basic_string/operations/find/char/3.cc:
5143 Likewise.
5144 * testsuite/21_strings/basic_string/operations/find/char/4.cc:
5145 Likewise.
5146 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
5147 Likewise.
5148 * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc:
5149 Likewise.
5150 * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc:
5151 Likewise.
5152 * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc:
5153 Likewise.
5154 * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc:
5155 Likewise.
5156 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
5157 Likewise.
5158 * testsuite/21_strings/basic_string/operations/rfind/char/1.cc:
5159 Likewise.
5160 * testsuite/21_strings/basic_string/operations/rfind/char/2.cc:
5161 Likewise.
5162 * testsuite/21_strings/basic_string/operations/rfind/char/3.cc:
5163 Likewise.
5164 * testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc:
5165 Likewise.
5166 * testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc:
5167 Likewise.
5168 * testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc:
5169 Likewise.
5170 * testsuite/21_strings/basic_string/operations/substr/char/1.cc:
5171 Likewise.
5172 * testsuite/21_strings/basic_string/operations/substr/wchar_t/
5173 1.cc: Likewise.
5174 * testsuite/21_strings/basic_string/operators/char/1.cc: Likewise.
5175 * testsuite/21_strings/basic_string/operators/char/2.cc: Likewise.
5176 * testsuite/21_strings/basic_string/operators/char/3.cc: Likewise.
5177 * testsuite/21_strings/basic_string/operators/char/4.cc: Likewise.
5178 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
5179 * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Likewise.
5180 * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Likewise.
5181 * testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise.
5182 * testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise.
5183 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
5184 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
5185 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
5186 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
5187 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
5188 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
5189 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
5190 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
5191 * testsuite/21_strings/basic_string_view/element_access/char/
5192 1.cc: Likewise.
5193 * testsuite/21_strings/basic_string_view/element_access/char/
5194 empty.cc: Likewise.
5195 * testsuite/21_strings/basic_string_view/element_access/char/
5196 front_back.cc: Likewise.
5197 * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5198 1.cc: Likewise.
5199 * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5200 empty.cc: Likewise.
5201 * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5202 front_back.cc: Likewise.
5203 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
5204 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
5205 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
5206 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
5207 Likewise.
5208 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
5209 Likewise.
5210 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
5211 Likewise.
5212 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
5213 Likewise.
5214 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
5215 char/1.cc: Likewise.
5216 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
5217 wchar_t/1.cc: Likewise.
5218 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
5219 char/1.cc: Likewise.
5220 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
5221 wchar_t/1.cc: Likewise.
5222 * testsuite/21_strings/basic_string_view/operations/compare/char/
5223 1.cc: Likewise.
5224 * testsuite/21_strings/basic_string_view/operations/compare/char/
5225 13650.cc: Likewise.
5226 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
5227 1.cc: Likewise.
5228 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
5229 13650.cc: Likewise.
5230 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
5231 Likewise.
5232 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
5233 Likewise.
5234 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
5235 Likewise.
5236 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
5237 Likewise.
5238 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
5239 Likewise.
5240 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
5241 Likewise.
5242 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
5243 Likewise.
5244 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
5245 Likewise.
5246 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5247 1.cc: Likewise.
5248 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5249 2.cc: Likewise.
5250 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5251 3.cc: Likewise.
5252 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5253 4.cc: Likewise.
5254 * testsuite/21_strings/basic_string_view/operations/rfind/char/
5255 1.cc: Likewise.
5256 * testsuite/21_strings/basic_string_view/operations/rfind/char/
5257 2.cc: Likewise.
5258 * testsuite/21_strings/basic_string_view/operations/rfind/char/
5259 3.cc: Likewise.
5260 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5261 1.cc: Likewise.
5262 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5263 2.cc: Likewise.
5264 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5265 3.cc: Likewise.
5266 * testsuite/21_strings/basic_string_view/operations/string_conversion/
5267 1.cc: Likewise.
5268 * testsuite/21_strings/basic_string_view/operations/substr/char/
5269 1.cc: Likewise.
5270 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
5271 1.cc: Likewise.
5272 * testsuite/21_strings/basic_string_view/operators/char/2.cc:
5273 Likewise.
5274 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
5275 Likewise.
5276 * testsuite/21_strings/c_strings/char/1.cc: Likewise.
5277 * testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise.
5278 * testsuite/21_strings/char_traits/requirements/char/1.cc: Likewise.
5279 * testsuite/21_strings/char_traits/requirements/char/57704.cc:
5280 Likewise.
5281 * testsuite/21_strings/char_traits/requirements/short/1.cc: Likewise.
5282 * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Likewise.
5283
5284 * doc/xml/manual/test.xml: Fix typo.
5285
164b41eb
JW
52862016-10-12 Jonathan Wakely <jwakely@redhat.com>
5287
e7722f11
JW
5288 * doc/xml/manual/status_cxx2017.xml: Add std::sample status.
5289 * doc/html/*: Regenerate.
5290 * include/experimental/algorithm (__sample): Move to bits/stl_algo.h
5291 and into namespace std.
5292 * include/bits/stl_algo.h (__sample): Define here. Fix invalid use
5293 of input iterator. Defend against overloaded comma operator.
5294 (sample): Define for C++17.
5295 * testsuite/25_algorithms/sample/1.cc: New test.
5296
432b6d95
JW
5297 * testsuite/util/testsuite_common_types.h
5298 (bitwise_assignment_operators): Use direct-initialization for C++11
5299 and later, to avoid CopyConstructible requirement.
5300 * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
5301 line numbers.
5302 * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
5303 * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
5304 * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
5305 * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
5306 Adjust expected errors and line numbers.
5307
cfbdc34f
JW
5308 * include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove.
5309 (call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call.
5310
08a53a2e
JW
5311 * include/bits/stl_uninitialized.h
5312 (__uninitialized_default_novalue_n_1<true>): Add missing return.
5313 * testsuite/20_util/specialized_algorithms/memory_management_tools/
5314 1.cc: Check return values of uninitialized_xxx_n algorithms.
5315
40571365
JW
5316 * libsupc++/nested_exception.h (throw_with_nested): Remove return.
5317
164b41eb
JW
5318 * doc/xml/manual/intro.xml: Document LWG 2442 status.
5319 * include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
5320 [_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define
5321 partial specialization to unpack args and forward to std::invoke.
5322 (call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call
5323 instead of __bind_simple and __once_call_impl.
5324 (call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of
5325 __bind_simple.
5326 * testsuite/30_threads/call_once/dr2442.cc: New test.
5327
2c15eace
JW
53282016-10-11 Jonathan Wakely <jwakely@redhat.com>
5329
4bb4acee
JW
5330 * include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
5331 _M_assign_dispatch directly with correct tag.
5332
0470fad0
JW
5333 * doc/xml/manual/intro.xml: Document LWG 2484 status.
5334 * libsupc++/nested_exception.h (_Throw_with_nested_impl)
5335 (_Throw_with_nested_helper): Remove.
5336 (__throw_with_nested_impl): New overloaded functions to implement
5337 throw_with_nested logic.
5338 (throw_with_nested): Call __throw_with_nested_impl.
5339 (_Rethrow_if_nested_impl): Remove
5340 (__rethrow_if_nested_impl): New overloaded functions to implement
5341 rethrow_if_nested logic.
5342 (rethrow_if_nested): Call __rethrow_if_nested_impl.
5343 * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
5344 problem cases from LWG 2484.
5345
bf1de1ac
JW
5346 * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
5347 Register printer for std::__cxx11::list.
5348 * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
5349 std::__cxx11::list as well as std::list.
5350
7571121f
JW
5351 * include/experimental/string_view (basic_string_view::_S_compare):
5352 Remove redundant const from return type.
5353 * include/std/string_view (basic_string_view:_S_compare): Likewise.
5354
2c15eace
JW
5355 * include/bits/std_mutex.h (mutex::native_handle)
5356 (lock_guard(mutex_type&, adopt_lock_t)
5357 (unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
5358 * include/std/mutex (recursive_mutex, timed_mutex)
5359 (recursive_timed_mutex): Likewise.
5360
5c248975
JW
53612016-10-10 Jonathan Wakely <jwakely@redhat.com>
5362
5363 * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5364 Replace <literallayout> with nested <variablelist> elements. Update
5365 some more outdated text.
5366 * doc/html/*: Regenerate.
5367
1725d05d
VV
53682016-10-10 Ville Voutilainen <ville.voutilainen@gmail.com>
5369
5370 Make any's copy assignment operator exception-safe,
5371 don't copy the underlying value when any is moved,
5372 make in_place constructors explicit.
5373 * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)):
5374 Make explicit.
5375 (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
5376 Likewise.
5377 (operator=(const any&)): Make strongly exception-safe.
5378 (operator=(any&&)): reset() unconditionally in the case where
5379 rhs has a value.
5380 (operator=(_ValueType&&)): Indent the return type.
5381 (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
5382 * testsuite/20_util/any/assign/2.cc: Adjust.
5383 * testsuite/20_util/any/assign/exception.cc: New.
5384 * testsuite/20_util/any/cons/2.cc: Adjust.
5385 * testsuite/20_util/any/cons/explicit.cc: New.
5386 * testsuite/20_util/any/misc/any_cast_neg.cc: Ajust.
5387
208b8b69
JW
53882016-10-10 Jonathan Wakely <jwakely@redhat.com>
5389
db625934
JW
5390 * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5391 Describe other subdirectories and add markup. Remove outdated
5392 reference to check-script target.
5393 * doc/html/*: Regenerate.
5394
e2be4477
JW
5395 * doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
5396
a3dbb635
JW
5397 * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
5398 with noexcept.
5399
40962ac0
JW
5400 * include/std/functional (_Bind_result::__enable_if_void): Use alias
5401 template instead of class template.
5402 (_Bind_result::__disable_if_void): Likewise.
5403 (_Bind_result::__call): Adjust uses of __enable_if_void and
5404 __disable_if_void.
5405
9e023e33
JW
5406 * doc/xml/manual/intro.xml: Document DR 2296 status.
5407 * doc/xml/manual/status_cxx2017.xml: Update status.
5408 * include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and
5409 call __builtin_addressof.
5410 (addressof): Add _GLIBCXX17_CONSTEXPR.
5411 * testsuite/20_util/addressof/requirements/constexpr.cc: New test.
5412 * testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno.
5413 * testsuite/20_util/forward/f_neg.cc: Likewise.
5414
46942c81
JW
5415 * include/bits/allocator.h (allocator<T>::is_always_equal): Define.
5416 * testsuite/20_util/allocator/requirements/typedefs.cc: Test for
5417 is_always_equal.
5418 * testsuite/util/testsuite_allocator.h
5419 (uneq_allocator::is_always_equal): Define as false_type.
5420
f2e79496
JW
5421 * include/experimental/numeric (gcd, lcm): Make bool arguments
5422 ill-formed.
5423 * include/std/numeric (gcd, lcm): Likewise.
5424 * testsuite/26_numerics/gcd/gcd_neg.cc: New test.
5425 * testsuite/26_numerics/lcm/lcm_neg.cc: New test.
5426
208b8b69
JW
5427 * include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this):
5428 Add noexcept.
5429 * include/bits/shared_ptr_base.h
5430 (__enable_shared_from_this::weak_from_this): Likewise.
5431 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
5432 Test exception-specification of weak_from_this.
5433
873c7d5a
JW
54342016-10-07 Jonathan Wakely <jwakely@redhat.com>
5435
296002c6
JW
5436 * doc/xml/manual/status_cxx1998.xml: Improve documentation of
5437 implementation-defined properties.
5438 * doc/xml/manual/status_cxx2011.xml: Likewise.
5439 * doc/xml/manual/status_cxx2017.xml: Likewise.
5440
873c7d5a
JW
5441 * doc/xml/manual/status_cxx2017.xml: Update status.
5442 * include/std/type_traits (has_unique_object_representations): Define.
5443 * testsuite/20_util/has_unique_object_representations/value.cc: New.
5444 * testsuite/20_util/has_unique_object_representations/requirements/
5445 explicit_instantiation.cc: New.
5446 * testsuite/20_util/has_unique_object_representations/requirements/
5447 typedefs.cc: New.
5448
937ec71a
JW
54492016-10-06 Jonathan Wakely <jwakely@redhat.com>
5450
5451 * doc/xml/manual/status_cxx2011.xml: Update status.
5452 * include/std/scoped_allocator (__outer_allocator_t, __outermost_type):
5453 New helpers for recursive OUTERMOST.
5454 (__outermost): Use __outermost_type::_S_outermost.
5455 (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove.
5456 (scoped_allocator_adaptor::__outermost_alloc_traits): Use new
5457 __outermost_type helper.
5458 (scoped_allocator_adaptor::_Constructible): New alias template.
5459 (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>):
5460 Constrain template constructors.
5461 * testsuite/20_util/scoped_allocator/3.cc: New test.
5462 * testsuite/20_util/scoped_allocator/outermost.cc: New test.
5463
78ec9c15
JW
54642016-10-05 Jonathan Wakely <jwakely@redhat.com>
5465
aaae096a
JW
5466 PR libstdc++/70564
5467 * testsuite/20_util/not_fn/1.cc: Fix test.
5468 * testsuite/experimental/functional/not_fn.cc: Likewise.
5469
92805612
JW
5470 PR libstdc++/70101
5471 * include/bits/stl_queue.h (priority_queue): Fix allocator-extended
5472 constructors.
5473 * testsuite/23_containers/priority_queue/allocator.cc: New test.
5474
a2a64b49
JW
5475 PR libstdc++/77864
5476 * include/bits/stl_map.h (map::map()): Use nothrow constructibility
5477 of comparison function in conditional noexcept.
5478 * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
5479 * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
5480 * include/bits/stl_set.h (set::set()): Likewise.
5481 * testsuite/23_containers/map/cons/noexcept_default_construct.cc:
5482 New test.
5483 * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
5484 Likewise.
5485 * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
5486 Likewise.
5487 * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
5488 Likewise.
5489
d72d690a
JW
5490 * include/bits/node_handle.h (_Node_handle): Remove invalid and unused
5491 alias declaration.
5492
78ec9c15
JW
5493 PR libstdc++/70564
5494 * include/experimental/functional (_Not_fn): Remove.
5495 (not_fn): Use std::_Not_fn.
5496 * include/std/functional (_Not_fn): Add second parameter to
5497 disambiguate copying from initialization by not_fn. Define for C++14.
5498 (not_fn): Add second argument to initialization.
5499 * testsuite/20_util/not_fn/1.cc: Copy call wrapper using
5500 direct-initialization.
5501
38aee22c
FD
55022016-10-03 François Dumont <fdumont@gcc.gnu.org>
5503
5504 * src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move
5505 declaration...
5506 * src/c++11/mutex_pool.h: ... here. New.
5507 * src/c++11/debug.cc: Use latter.
5508
6a0d23af
JW
55092016-10-03 Jonathan Wakely <jwakely@redhat.com>
5510
606dda21
JW
5511 * doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status.
5512 * doc/html/*: Regenerate.
5513 * include/experimental/numeric (__abs): Move to <numeric>.
5514 (gcd, lcm): Use __detail::gcd and __detail::lcm.
5515 * include/std/numeric (__detail::__abs_integral)
5516 (__detail::__gcd, __detail::__lcm): Define.
5517 (gcd, lcm): Define for C++17.
5518 * testsuite/26_numerics/gcd/1.cc: New test.
5519 * testsuite/26_numerics/lcm/1.cc: New test.
5520 * testsuite/experimental/numeric/gcd.cc: Swap contents with ...
5521 * testsuite/experimental/numeric/lcd.cc: ... this.
5522
e347987d
JW
5523 PR libstdc++/68323
5524 PR libstdc++/77794
5525 * config/abi/pre/gnu-versioned-namespace.ver: Add exports for
5526 __cxa_thread_atexit and __gnu_cxx::__freeres.
5527 * include/Makefile.am: Add <experimental/bits/lfts_config.h>
5528 * include/Makefile.in: Regenerate.
5529 * include.bits/basic_string.h: Fix nesting of versioned namespaces.
5530 * include/bits/c++config: Declare versioned namespaces for literals.
5531 * include/bits/regex.h (basic_regex, match_results): Add workarounds
5532 for PR c++/59256.
5533 * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
5534 * include/std/chrono: Likewise.
5535 * include/std/complex: Likewise.
5536 * include/std/string_view: Likewise.
5537 * include/std/variant: Likewise. Add workaround for PR c++/59256.
5538 * include/experimental/bits/fs_fwd.h: Declare versioned namespace.
5539 * include/experimental/bits/lfts_config.h: Declare versioned
5540 namespaces.
5541 * include/experimental/algorithm: Include
5542 <experimental/bits/lfts_config.h>.
5543 * include/experimental/any: Likewise.
5544 * include/experimental/bits/erase_if.h: Likewise.
5545 * include/experimental/chrono: Likewise.
5546 * include/experimental/functional: Likewise.
5547 * include/experimental/memory_resource: Likewise.
5548 * include/experimental/optional: Likewise.
5549 * include/experimental/propagate_const: Likewise.
5550 * include/experimental/random: Likewise.
5551 * include/experimental/ratio: Likewise.
5552 * include/experimental/system_error: Likewise.
5553 * include/experimental/tuple: Likewise.
5554 * include/experimental/type_traits: Likewise.
5555 * include/experimental/utility: Likewise.
5556 * include/experimental/string_view: Likewise. Fix nesting of
5557 versioned namespaces.
5558 * include/experimental/bits/string_view.tcc: Reopen inline namespace
5559 for non-inline function definitions.
5560 * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
5561 * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
5562 * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
5563 * testsuite/experimental/propagate_const/assignment/move_neg.cc:
5564 Likewise.
5565 * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
5566 * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
5567 * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
5568 * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
5569 * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
5570 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
5571
6a0d23af
JW
5572 PR libstdc++/77814
5573 * include/bits/std_abs.h: Use "C++" language linkage.
5574 * testsuite/17_intro/headers/c++2011/linkage.cc: Move <complex.h> to
5575 the end. Add <stdalign.h>.
5576
3fe2ddae
VV
55772016-10-03 Ville Voutilainen <ville.voutilainen@gmail.com>
5578
5579 PR libstdc++/77802
5580 * testsuite/20_util/tuple/77802.cc: New.
5581
5582 Revert:
5583 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
5584 Implement LWG 2729 for tuple.
5585 * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
5586 Suppress conditionally.
5587 (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
5588 (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
5589 (_Tuple_impl(const _Head&)): Constrain.
5590 (_Tuple_impl(_UHead&&)): Likewise.
5591 (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
5592 (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
5593 (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
5594 (operator=(const tuple&)): Enable conditionally.
5595 (operator=(tuple&&)): Suppress conditionally.
5596 (operator=(const tuple<_UElements...>&)): Constrain.
5597 (operator=(tuple<_UElements...>&&)): Likewise.
5598 (operator=(const tuple&)): Enable conditionally (2-param tuple).
5599 (operator=(tuple&&)): Suppress conditionally (2-param tuple).
5600 (operator=(const tuple<_U1, _U2>&)): Constrain.
5601 (operator=(tuple<_U1, _U2>&&)): Likewise.
5602 (operator=(const pair<_U1, _U2>&)): Likewise.
5603 (operator=(pair<_U1, _U2>&&)): Likewise.
5604 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
5605 * testsuite/20_util/tuple/tuple_traits.cc: New.
5606
9e28a774
JW
56072016-09-30 Jonathan Wakely <jwakely@redhat.com>
5608
36105dbd
JW
5609 PR libstdc++/77795
5610 * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check
5611 for gets.
5612 * config.h.in: Regenerate.
5613 * configure: Regenerate.
5614 * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare
5615 for C++98 and C++11.
5616 * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise.
5617 * testsuite/27_io/headers/cstdio/functions_neg.cc: New test.
5618
37b204de
JW
5619 * doc/xml/manual/intro.xml: Document LWG 2192 changes.
5620 * doc/html/*: Regenerate.
5621 * include/Makefile.am: Add bits/std_abs.h.
5622 * include/Makefile.in: Regenerate.
5623 * include/bits/std_abs.h: New header defining all required overloads
5624 of std::abs in one place (LWG 2294).
5625 * include/c_global/cmath (abs(double), abs(float), abs(long double)):
5626 Move to bits/std_abs.h.
5627 (abs<_Tp>(_Tp)): Remove.
5628 * include/c_global/cstdlib (abs(long), abs(long long), abs(__int<N>)):
5629 Move to bits/std_abs.h.
5630 * testsuite/26_numerics/headers/cmath/dr2192.cc: New test.
5631 * testsuite/26_numerics/headers/cmath/dr2192_neg.cc: New test.
5632 * testsuite/26_numerics/headers/cstdlib/dr2192.cc: New test.
5633 * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: New test.
5634
9e28a774
JW
5635 PR libstdc++/77801
5636 * include/experimental/numeric: Include <numeric>.
5637 (__abs): Define.
5638 (gcd, lcm): Use __abs instead of std::abs.
5639 * testsuite/experimental/numeric/77801.cc: New test.
5640 * testsuite/experimental/numeric/gcd.cc: Test unsigned inputs.
5641 * testsuite/experimental/numeric/lcm.cc: Likewise.
5642
a181f672
VV
56432016-09-29 Ville Voutilainen <ville.voutilainen@gmail.com>
5644
5645 Make optional::reset noexcept, make optional::value
5646 work in constant expressions.
5647 * include/std/optional (_M_get): Make constexpr.
5648 (reset): Make noexcept.
5649 * testsuite/20_util/optional/assignment/7.cc: New.
5650 * testsuite/20_util/optional/observers/6.cc: New.
5651
998e01a6
JW
56522016-09-29 Jonathan Wakely <jwakely@redhat.com>
5653
5654 * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads
5655 outside _GLIBCXX_USE_C99_MATH_TR1 condition.
5656
6d49b790
AM
56572016-09-29 Alan Modra <amodra@gmail.com>
5658
5659 * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST.
5660 * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo):
5661 Use LONG_DOUBLE_COMPAT_FLAGS.
5662 * Makefile.in: Regenerate.
5663 * configure: Regenerate.
5664 * doc/Makefile.in: Regenerate.
5665 * include/Makefile.in: Regenerate.
5666 * libsupc++/Makefile.in: Regenerate.
5667 * po/Makefile.in: Regenerate.
5668 * python/Makefile.in: Regenerate.
5669 * src/Makefile.in: Regenerate.
5670 * src/c++11/Makefile.in: Regenerate.
5671 * src/c++98/Makefile.in: Regenerate.
5672 * src/filesystem/Makefile.in: Regenerate.
5673 * testsuite/Makefile.in: Regenerate.
5674
1b4be62a
JW
56752016-09-28 Jonathan Wakely <jwakely@redhat.com>
5676
b236debd
JW
5677 * include/std/chrono (system_clock): Fix typo in comment.
5678
fd5effb1
JW
5679 * include/experimental/bits/fs_fwd.h (file_time_type): Simplify
5680 definition.
5681 * src/filesystem/ops.cc (file_time): Take error_code parameter and
5682 check for overflow.
5683 (do_copy_file, last_write_time): Pass error_code in file_time calls.
5684 * testsuite/experimental/filesystem/operations/last_write_time.cc:
5685 New.
5686 * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper.
5687
1b4be62a
JW
5688 PR libstdc++/77686
5689 * include/std/functional (_Any_data): Add may_alias attribute.
5690
b658669d
JW
56912016-09-27 Jonathan Wakely <jwakely@redhat.com>
5692
4940de30
JW
5693 * doc/xml/manual/status_cxx2017.xml: Update status.
5694 * doc/html/*: Regenerate.
5695 * include/std/functional (__cpp_lib_boyer_moore_searcher): Define.
5696 * testsuite/20_util/function_objects/searchers.cc: Test feature macro.
5697
b658669d
JW
5698 * doc/xml/manual/status_cxx2017.xml: Update status.
5699 * include/c_global/cmath (hypot): Add three-dimensional overloads.
5700 * testsuite/26_numerics/headers/cmath/hypot.cc: New.
5701
71ade764
VV
57022016-09-26 Ville Voutilainen <ville.voutilainen@gmail.com>
5703
5704 PR libstdc++/77727
5705 * include/std/optional (optional(const optional<_Up>&)):
5706 Default-initialize the base and use emplace.
5707 (optional(optional<_Up>&&)): Likewise.
5708 * testsuite/20_util/optional/cons/77727.cc: New.
5709
f2fe9e0a
FD
57102016-09-26 François Dumont <fdumont@gcc.gnu.org>
5711
5712 * include/debug/safe_base.h
5713 (_Safe_iterator_base::_M_detach_single): Make public.
5714
976160b9
JW
57152016-09-26 Jonathan Wakely <jwakely@redhat.com>
5716
1a08d2da
JW
5717 * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
5718 redefine macro defined in <bits/stl_iterator.h>.
5719
976160b9
JW
5720 * include/bits/stl_map.h (map::extract(const_iterator)): Assert that
5721 iterator is not past-the-end.
5722 * include/bits/stl_multimap.h (multimap::extract(const_iterator)):
5723 Likewise.
5724 * include/bits/stl_multiset.h (multiset::extract(const_iterator)):
5725 Likewise.
5726 * include/bits/stl_set.h (set::extract(const_iterator)): Likewise.
5727 * include/bits/unordered_map.h (unordered_map::extract(const_iterator))
5728 (unordered_multimap::extract(const_iterator)): Likewise.
5729 * include/bits/unordered_set.h (unordered_set::extract(const_iterator))
5730 (unordered_multiset::extract(const_iterator)): Likewise.
5731
a38814c0
VV
57322016-09-26 Ville Voutilainen <ville.voutilainen@gmail.com>
5733
5734 PR libstdc++/77717
5735 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
5736 Fix an out-of-bounds access.
5737
81fea426
MP
57382016-09-26 Marek Polacek <polacek@redhat.com>
5739
5740 PR c/7652
5741 * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]].
5742
edc69abb
FD
57432016-09-25 François Dumont <fdumont@gcc.gnu.org>
5744
d8bbd665
FD
5745 * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
5746 functional.
5747 (get_safe_base_mutex): Get mutex based on address lowest non nil bits.
5748 * testsuite/23_containers/vector/debug/mutex_association.cc: New.
5749
5d045324
FD
5750 * include/debug/bitset (bitset::reference::reference(const _Base_ref&,
5751 bitset*)): Remove __unused__ attribute.
5752 * include/debug/safe_base.h (_Safe_iterator_base): Make
5753 _Safe_sequence_base a friend.
5754 (_Safe_iterator_base::_M_attach): Make protected.
5755 (_Safe_iterator_base::_M_attach_single): Likewise.
5756 (_Safe_iterator_base::_M_detach): Likewise.
5757 (_Safe_iterator_base::_M_detach_single): Likewise.
5758 (_Safe_sequence_base): Make _Safe_iterator_base a friend.
5759 (_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New.
5760 (_Safe_sequence_base::_M_swap): Make protected.
5761 (_Safe_sequence_base::_M_attach): Make private.
5762 (_Safe_sequence_base::_M_attach_single): Likewise.
5763 (_Safe_sequence_base::_M_detach): Likewise.
5764 (_Safe_sequence_base::_M_detach_single): Likewise.
5765 * include/debug/safe_container.h
5766 (_Safe_container::_Safe_container(_Safe_container&&)): Make default.
5767 * include/debug/safe_iterator.h
5768 (_Safe_iterator::operator++()): Name __scoped_lock instance.
5769 * include/debug/safe_iterator.tcc: Remove trailing line.
5770 * include/debug/safe_unordered_base.h
5771 (_Safe_local_iterator_base::_M_attach): Make protected.
5772 (_Safe_local_iterator_base::_M_attach_single): Likewise.
5773 (_Safe_local_iterator_base::_M_detach): Likewise.
5774 (_Safe_local_iterator_base::_M_detach_single): Likewise.
5775 (_Safe_unordered_container_base): Make _Safe_local_iterator_base friend.
5776 (_Safe_unordered_container_base::_M_attach_local): Make private.
5777 (_Safe_unordered_container_base::_M_attach_local_single): Likewise.
5778 (_Safe_unordered_container_base::_M_detach_local): Likewise.
5779 (_Safe_unordered_container_base::_M_detach_local_single): Likewise.
5780
edc69abb
FD
5781 * include/parallel/algo.h: Generalize usage of std::__iterator_category.
5782 Adjust whitespaces.
5783
a922c5ff
JW
57842016-09-23 Jonathan Wakely <jwakely@redhat.com>
5785
13190419
JW
5786 PR libstdc++/56166
5787 PR libstdc++/77582
5788 * include/bits/basic_string.h (basic_string::clear()): Drop reference
5789 and use empty rep.
5790 * include/ext/rc_string_base.h (__rc_string_base::_M_clear()):
5791 Likewise.
5792 * testsuite/21_strings/basic_string/56166.cc: New.
5793 * testsuite/ext/vstring/modifiers/clear/56166.cc: New.
5794
a922c5ff
JW
5795 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
5796 (basic_string::erase(size_type, size_type)): Add fast path for
5797 truncating the string, by calling _M_set_length directly.
5798 (basic_string::erase(__const_iterator, __const_iterator)): Likewise.
5799 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
5800 (basic_string::resize(size_type, _CharT)): Likewise.
5801
7be8d663
JM
58022016-09-22 Jason Merrill <jason@redhat.com>
5803
5804 * configure.ac: Define HAVE_MEMALIGN for newlib.
5805
320c7be3
SH
58062015-09-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
5807
5808 * config/cpu/m68k/atomicity.h: Adjust comment.
5809 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
5810 explicit atomicity_dir setup via configure.host.
5811 * configure.host (rtems-*): Set atomicity_dir.
5812 * configure: Regenerate.
5813
2dbe56bd
JW
58142016-09-22 Jonathan Wakely <jwakely@redhat.com>
5815
5816 Implement C++17 node extraction and insertion (P0083R5)
5817 * doc/xml/manual/status_cxx2017.xml: Document status.
5818 * doc/html/*: Regenerate.
5819 * include/Makefile.am: Add bits/node_handle.h and reorder.
5820 * include/Makefile.in: Regenerate.
5821 * include/bits/hashtable.h (_Hashtable::node_type)
5822 (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node)
5823 (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract)
5824 (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define.
5825 (_Hash_merge_helper): Define primary template.
5826 * include/bits/node_handle.h: New header.
5827 * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as
5828 friend.
5829 (map::node_type, map::insert_return_type, map::extract, map::merge)
5830 (map::insert(node_type&&), map::insert(const_iterator, node_type&&)):
5831 Define new members.
5832 (_Rb_tree_merge_helper): Specialize for map.
5833 * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper
5834 as friend.
5835 (multimap::node_type, multimap::extract, multimap::merge)
5836 (multimap::insert(node_type&&))
5837 (multimap::insert(const_iterator, node_type&&)): Define.
5838 (_Rb_tree_merge_helper): Specialize for multimap.
5839 * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper
5840 as friend.
5841 (multiset::node_type, multiset::extract, multiset::merge)
5842 (multiset::insert(node_type&&))
5843 (multiset::insert(const_iterator, node_type&&)): Define.
5844 * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as
5845 friend.
5846 (set::node_type, set::insert_return_type, set::extract, set::merge)
5847 (set::insert(node_type&&), set::insert(const_iterator, node_type&&)):
5848 Define.
5849 (_Rb_tree_merge_helper): Specialize for set.
5850 * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend.
5851 (_Rb_tree::node_type, _Rb_tree::insert_return_type)
5852 (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal)
5853 (_Rb_tree::_M_reinsert_node_hint_unique)
5854 (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract)
5855 (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define.
5856 (_Rb_tree_merge_helper): Specialize for multiset.
5857 * include/bits/unordered_map.h (unordered_map): Declare
5858 unordered_map<> and unordered_multimap<> as friends.
5859 (unordered_map::node_type, unordered_map::insert_return_type)
5860 (unordered_map::extract, unordered_map::merge)
5861 (unordered_map::insert(node_type&&))
5862 (unordered_map::insert(const_iterator, node_type&&))
5863 (unordered_multimap): Declare _Hash_merge_helper as friend.
5864 (unordered_multimap::node_type, unordered_multimap::extract)
5865 (unordered_multimap::merge, unordered_multimap::insert(node_type&&))
5866 (unordered_multimap::insert(const_iterator, node_type&&)): Define.
5867 (_Hash_merge_helper): Specialize for unordered maps and multimaps.
5868 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
5869 Declare _Hash_merge_helper as friend.
5870 (unordered_set::node_type, unordered_set::insert_return_type)
5871 (unordered_set::extract, unordered_set::merge)
5872 (unordered_set::insert(node_type&&))
5873 (unordered_set::insert(const_iterator, node_type&&)): Define.
5874 (unordered_multiset::node_type, unordered_multiset::extract)
5875 (unordered_multiset::merge, unordered_multiset::insert(node_type&&))
5876 (unordered_multiset::insert(const_iterator, node_type&&)): Define.
5877 (_Hash_merge_helper): Specialize for unordered sets and multisets.
5878 * include/debug/map.h (map): Add using declarations or forwarding
5879 functions for new members.
5880 * include/debug/map.h (multimap): Likewise.
5881 * include/debug/map.h (multiset): Likewise.
5882 * include/debug/map.h (set): Likewise.
5883 * include/debug/unordered_map (unordered_map, unordered_multimap):
5884 Likewise.
5885 * include/debug/unordered_set( unordered_set, unordered_multiset):
5886 Likewise.
5887 * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New
5888 helper function.
5889 (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper.
5890 (StdNodeHandlePrinter): Define printer for node handles.
5891 (build_libstdcxx_dictionary): Register StdNodeHandlePrinter.
5892 * testsuite/23_containers/map/modifiers/extract.cc: New.
5893 * testsuite/23_containers/map/modifiers/merge.cc: New.
5894 * testsuite/23_containers/multimap/modifiers/extract.cc: New.
5895 * testsuite/23_containers/multimap/modifiers/merge.cc: New.
5896 * testsuite/23_containers/multiset/modifiers/extract.cc: New.
5897 * testsuite/23_containers/multiset/modifiers/merge.cc: New.
5898 * testsuite/23_containers/set/modifiers/extract.cc: New.
5899 * testsuite/23_containers/set/modifiers/merge.cc: New.
5900 * testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
5901 * testsuite/23_containers/unordered_map/modifiers/merge.cc: New.
5902 * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
5903 New.
5904 * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New.
5905 * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
5906 New.
5907 * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New.
5908 * testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
5909 * testsuite/23_containers/unordered_set/modifiers/merge.cc: New.
5910 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
5911 dg-error lineno.
5912 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles.
5913
8a4c4f12
VV
59142016-09-22 Ville Voutilainen <ville.voutilainen@gmail.com>
5915
5916 Fix tests on old arm platforms for optional.
5917 * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
5918
64626fca
JW
59192016-09-22 Jonathan Wakely <jwakely@redhat.com>
5920
6fdc74c9
JW
5921 * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for
5922 recent change to _Variant_storage.
5923 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with
5924 reference type.
5925
64626fca
JW
5926 * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify
5927 std::forward and ::new. Cast pointer to void*.
5928 * include/std/variant (_Variant_storage, _Union, _Variant_base)
5929 (__access, __visit_invoke, variant, visit): Qualify std::forward.
5930 * testsuite/20_util/variant/compile.cc: Test for ADL problems.
5931
c42bc5d7
TS
59322016-09-22 Tim Shen <timshen@google.com>
5933
64626fca 5934 * include/std/variant (variant::operator=): Fix assignment
c42bc5d7 5935 on references.
64626fca 5936 * testsuite/20_util/variant/compile.cc: Add test.
c42bc5d7 5937
41501d1a
TS
59382016-09-22 Tim Shen <timshen@google.com>
5939
5940 PR libstdc++/77641
5941 * include/std/variant (_Variant_storage::_Variant_storage):
5942 Change _Variant_storage's union to be default constructible.
5943 * testsuite/20_util/variant/compile.cc: New test.
5944
b641f833
VV
59452016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
5946
5947 PR libstdc++/77288
5948 * include/std/optional (__is_optional_impl, __is_optional): Remove.
5949 (__converts_from_optional, __assigns_from_optional): New.
5950 (optional(_Up&&)): Use is_same instead of __is_optional.
5951 (optional(const optional<_Up>&)): Constrain with
5952 __converts_from_optional.
5953 (optional(optional<_Up>&&)): Likewise.
5954 (operator=(_Up&&)): Use is_same instead of __is_optional, check
5955 is_same and is_scalar.
5956 (operator=(const optional<_Up>&)): Constrain with
5957 __converts_from_optional and __assigns_from_optional.
5958 (operator=(optional<_Up>&&)): Likewise.
5959 * testsuite/20_util/optional/77288.cc: New.
5960 * testsuite/20_util/optional/cons/value.cc: Adjust.
5961
55786785
VV
59622016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
5963
5964 Implement LWG 2729 for tuple.
5965 * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
5966 Suppress conditionally.
5967 (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
5968 (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
5969 (_Tuple_impl(const _Head&)): Constrain.
5970 (_Tuple_impl(_UHead&&)): Likewise.
5971 (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
5972 (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
5973 (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
5974 (operator=(const tuple&)): Enable conditionally.
5975 (operator=(tuple&&)): Suppress conditionally.
5976 (operator=(const tuple<_UElements...>&)): Constrain.
5977 (operator=(tuple<_UElements...>&&)): Likewise.
5978 (operator=(const tuple&)): Enable conditionally (2-param tuple).
5979 (operator=(tuple&&)): Suppress conditionally (2-param tuple).
5980 (operator=(const tuple<_U1, _U2>&)): Constrain.
5981 (operator=(tuple<_U1, _U2>&&)): Likewise.
5982 (operator=(const pair<_U1, _U2>&)): Likewise.
5983 (operator=(pair<_U1, _U2>&&)): Likewise.
5984 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
5985 * testsuite/20_util/tuple/tuple_traits.cc: New.
5986
f524d5b3
VV
59872016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
5988
5989 PR libstdc++/77537
5990 Implement LWG 2729 for pair.
5991 * include/bits/stl_pair.h (_PCC): New.
5992 (_ConstructiblePair, _ImplicitlyConvertiblePair):
5993 Turn into static member functions of _PCC.
5994 (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
5995 (_PCCP): New.
5996 (pair(const _T1&, const _T2&)): Adjust.
5997 (_PCCFP): New.
5998 (pair(const pair<_U1, _U2>&)): Adjust.
5999 (pair(_U1&&, const _T2&)): Likewise.
6000 (pair(const _T1&, _U2&&)): Likewise.
6001 (pair(_U1&&, _U2&&)): Likewise.
6002 (pair(pair<_U1, _U2>&&)): Likewise.
6003 (operator=(const pair&)): Make conditionally deleted.
6004 (operator=(pair&&)): Make conditionally suppressed.
6005 (operator=(const pair<_U1, _U2>&)): Constrain.
6006 (operator=(pair<_U1, _U2>&&): Likewise.
6007 * include/std/type_traits (__nonesuch): New.
6008 * testsuite/20_util/pair/traits.cc: New.
6009
377f30c0
VV
60102016-09-20 Ville Voutilainen <ville.voutilainen@gmail.com>
6011
6012 PR libstdc++/77619
6013 * include/bits/stl_construct.h: (_Construct_novalue): New.
6014 (_Destroy_n_aux, _Destroy_n): New.
6015 * include/bits/stl_uninitialized.h: (type_traits):
6016 New include in C++11 mode.
6017 (__uninitialized_default_novalue_1): New.
6018 (__uninitialized_default_novalue_n_1): Likewise.
6019 (__uninitialized_default_novalue): Likewise.
6020 (__uninitialized_default_novalue_n): Likewise.
6021 (__uninitialized_copy_n_pair): Likewise.
6022 (uninitialized_default_construct):
6023 Use __uninitialized_default_novalue.
6024 (uninitialized_default_construct_n):
6025 Use __uninitialized_default_novalue_n.
6026 (uninitialized_value_construct): Use __uninitialized_default.
6027 (uninitialized_value_construct_n): Use __uninitialized_default_n.
6028 (uninitialized_move): Use uninitialized_copy.
6029 (uninitialized_move_n): Use __uninitialized_copy_n_pair.
6030 (destroy_at): Use _Destroy.
6031 (destroy): Likewise.
6032 (destroy_n): Likewise.
6033 * testsuite/20_util/specialized_algorithms/
6034 memory_management_tools/1.cc: Add tests for exceptions,
6035 add tests for trivial cases for construct and move.
6036
564beb5f
JW
60372016-09-20 Jonathan Wakely <jwakely@redhat.com>
6038
6039 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
6040 (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
6041
019270bc
JW
60422016-09-19 Jonathan Wakely <jwakely@redhat.com>
6043
d0f59435
JW
6044 PR libstdc++/77645
6045 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
6046 (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
6047 division to int to work with Python 3.
6048
ee1ab3e3
JW
6049 * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
6050
a0a1009a
JW
6051 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
6052 display_hint to be set by subclasses.
6053 (StdVariantPrinter): Use array for display_hint. Adjust output to be
6054 more similar to std::any and std::optional output.
6055 (register_type_printers): Add type printers for basic_string_view
6056 typedefs and experimental::any. Adjust type printers for
6057 fundamentals_v1 templates to match fundamentals_v2 and later.
6058 * testsuite/libstdc++-prettyprinters/cxx17.cc: New.
6059
019270bc
JW
6060 PR libstdc++/77645
6061 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
6062 argument.
6063 (ListWorkerBase.get_value_from_node): Define new method.
6064 (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
6065
00895372
JW
60662016-09-17 Jonathan Wakely <jwakely@redhat.com>
6067
6068 * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
6069 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
6070 Register for C++17 components in namespace std. Strip inline namespace
6071 from typename.
6072
6ee3fd97
JW
60732016-09-16 Jonathan Wakely <jwakely@redhat.com>
6074
6075 * doc/xml/manual/profile_mode.xml: Fix typo.
6076 * doc/html/manual/profile_mode_devel.html: Regenerate.
6077
84c08ec9
JW
60782016-09-16 Jonathan Wakely <jwakely@redhat.com>
6079 Marc Glisse <marc.glisse@inria.fr>
6080
6081 * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
6082 (operator new(size_t, align_val_t)): Replace modulus operator with
6083 mask.
6084
426042f5
JW
60852016-09-16 Jonathan Wakely <jwakely@redhat.com>
6086
6087 * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
6088 Increase alignment if less than sizeof(void*).
6089 [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
6090 Increase size if not a multiple of alignment.
6091
0273c10e
JW
60922016-09-15 Jonathan Wakely <jwakely@redhat.com>
6093
1b75c936
JW
6094 * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
6095 * doc/html/*: Regenerate.
700e2faa
JW
6096
6097 * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
6098 -Wno-deprecated.
6099 * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
0273c10e 6100
20a1e5b8
MP
61012016-09-14 Marek Polacek <polacek@redhat.com>
6102
6103 * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
6104 -Wno-deprecated.
6105
13cddbc1
CL
61062016-09-14 Christophe Lyon <christophe.lyon@linaro.org>
6107
6108 * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
6109 Move dg-do directive before dg-skip.
6110 * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
6111 Move dg-do directive before dg-require.
6112 * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
6113 * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
6114 * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
6115 * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
6116 * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
6117 * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
6118 * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
6119 * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
6120 * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
6121 * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
6122 * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
6123 * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
6124 * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
6125 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
6126 * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
6127 Likewise.
6128 * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
6129 * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
6130 * testsuite/27_io/objects/char/12048-5.cc: Likewise.
6131 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
6132 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
6133
8e14a10c
VV
61342016-09-13 Ville Voutilainen <ville.voutilainen@gmail.com>
6135
6136 Implement P0040R3, Extending memory management tools.
6137 * include/bits/stl_uninitialized.h (utility): New include
6138 in C++17 mode.
6139 (uninitialized_default_construct): New.
6140 (uninitialized_default_construct_n): Likewise.
6141 (uninitialized_value_construct): Likewise.
6142 (uninitialized_value_construct_n): Likewise.
6143 (uninitialized_move): Likewise.
6144 (uninitialized_move_n): Likewise.
6145 (destroy_at, destroy, destroy_n): Likewise.
7a461e27
JW
6146 * testsuite/20_util/specialized_algorithms/memory_management_tools/
6147 1.cc: New.
8e14a10c 6148
a313485b
JM
61492016-09-12 Jason Merrill <jason@redhat.com>
6150
6151 * config/abi/pre/gnu.ver: Use [jmy] for size_t.
6152
5e8037ba
VV
61532016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
6154
6155 Implement P0253R1, Fixing a design mistake in the searchers
6156 interface in Library Fundamentals.
6157 * include/std/functional: (utility): New include in C++17 mode.
6158 (default_searcher): Use a pair as return type, adjust the definition.
6159 (boyer_moore_searcher): Likewise.
6160 (boyer_moore_horspool_searcher): Likewise.
6161 * testsuite/20_util/function_objects/searchers.cc: Adjust.
6162
f82dfb8d
VV
61632016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
6164
6165 Implement C++17 string searchers.
6166 * include/std/functional: (unordered_map, vector): New includes
6167 in C++17 mode.
6168 (array, bits/stl_algo.h): Likewise.
6169 (default_searcher, __boyer_moore_map_base): New.
6170 (__boyer_moore_array_base, __is_std_equal_to): Likewise.
6171 (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
6172 (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
6173 (make_boyer_moore_searcher): Likewise.
6174 (make_boyer_moore_horspool_searcher): Likewise.
6175 * testsuite/20_util/function_objects/searchers.cc: New.
6176
684211e1
MW
61772016-09-12 Matthew Wahab <matthew.wahab@arm.com>
6178
6179 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
6180 Move dg-do directive before dg-require.
6181 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
6182 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
6183 Likewise.
6184 * testsuite/22_locale/codecvt/utf8.cc: Likewise.
6185 * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
6186 * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
6187 * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
6188 * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
6189 * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
6190 * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
6191 * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
6192 * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
6193 * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
6194 * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
6195 * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
6196 * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
6197 Likewise.
7a461e27
JW
6198 * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
6199 Likewise.
684211e1
MW
6200 * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
6201 * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
7a461e27
JW
6202 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
6203 Likewise.
6204 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
6205 Likewise.
6206 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
6207 Likewise.
6208 * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
6209 Likewise.
6210 * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
6211 Likewise.
6212 * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
6213 Likewise.
6214 * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
6215 Likewise.
6216 * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
6217 Likewise.
6218 * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
6219 Likewise.
6220 * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
6221 Likewise.
6222 * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
6223 Likewise.
6224 * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
6225 Likewise.
6226 * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
684211e1 6227 Likewise.
7a461e27
JW
6228 * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
6229 Likewise.
6230 * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
6231 Likewise.
6232 * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
6233 Likewise.
6234 * testsuite/23_containers/forward_list/debug/
6235 iterator_self_move_assign_neg.cc: Likewise.
684211e1
MW
6236 * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
6237 Likewise.
7a461e27
JW
6238 * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
6239 Likewise.
6240 * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
6241 Likewise.
6242 * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
6243 Likewise.
6244 * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
6245 Likewise.
6246 * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
6247 Likewise.
6248 * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
6249 Likewise.
6250 * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
6251 Likewise.
684211e1
MW
6252 * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
6253 * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
6254 * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
6255 * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
6256 * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
6257 * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
6258 * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
6259 * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
6260 * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
6261 * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
6262 * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
6263 Likewise.
6264 * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
6265 * testsuite/23_containers/map/debug/60499.cc: Likewise.
6266 * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
6267 * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
6268 * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
6269 * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
6270 * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
6271 * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
6272 * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
6273 Likewise.
6274 * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
6275 * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
6276 * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
6277 * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
6278 * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
6279 * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
6280 * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
6281 * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
7a461e27
JW
6282 * testsuite/23_containers/multimap/debug/
6283 iterator_self_move_assign_neg.cc: Likewise.
6284 * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
684211e1 6285 Likewise.
684211e1
MW
6286 * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
6287 * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
6288 * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
6289 * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
6290 * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
6291 * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
6292 * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
7a461e27
JW
6293 * testsuite/23_containers/multiset/debug/
6294 iterator_self_move_assign_neg.cc: Likewise.
6295 * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
684211e1 6296 Likewise.
684211e1
MW
6297 * testsuite/23_containers/set/debug/60499.cc: Likewise.
6298 * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
6299 * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
6300 * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
6301 * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
6302 * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
6303 * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
6304 * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
6305 Likewise.
6306 * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
6307 * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
6308 * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
6309 * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
7a461e27
JW
6310 * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
6311 Likewise.
684211e1
MW
6312 * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
6313 * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
7a461e27
JW
6314 * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
6315 Likewise.
6316 * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
6317 Likewise.
6318 * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
6319 Likewise.
684211e1
MW
6320 * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
6321 * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
6322 * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
6323 * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
6324 * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
7a461e27
JW
6325 * testsuite/23_containers/unordered_map/debug/
6326 invalid_local_iterator_compare_neg.cc: Likewise.
6327 * testsuite/23_containers/unordered_map/debug/
6328 invalid_local_iterator_range_neg.cc: Likewise.
6329 * testsuite/23_containers/unordered_map/debug/
6330 iterator_self_move_assign_neg.cc: Likewise.
684211e1
MW
6331 * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
6332 Likewise.
6333 * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
6334 Likewise.
7a461e27
JW
6335 * testsuite/23_containers/unordered_map/debug/
6336 use_erased_local_iterator_neg.cc: Likewise.
6337 * testsuite/23_containers/unordered_map/debug/
6338 use_invalid_iterator_neg.cc: Likewise.
6339 * testsuite/23_containers/unordered_map/debug/
6340 use_invalid_local_iterator_neg.cc: Likewise.
6341 * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
6342 * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc:
684211e1 6343 Likewise.
7a461e27 6344 * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
684211e1 6345 Likewise.
684211e1
MW
6346 * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
6347 Likewise.
7a461e27
JW
6348 * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
6349 Likewise.
6350 * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
6351 Likewise.
684211e1
MW
6352 * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
6353 Likewise.
6354 * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
6355 Likewise.
6356 * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
6357 Likewise.
7a461e27 6358 * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
684211e1 6359 Likewise.
7a461e27 6360 * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
684211e1 6361 Likewise.
7a461e27 6362 * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
684211e1 6363 Likewise.
7a461e27 6364 * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
684211e1 6365 Likewise.
7a461e27 6366 * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
684211e1 6367 Likewise.
7a461e27
JW
6368 * testsuite/23_containers/unordered_multimap/debug/
6369 invalid_local_iterator_compare_neg.cc: Likewise.
6370 * testsuite/23_containers/unordered_multimap/debug/
6371 invalid_local_iterator_range_neg.cc: Likewise.
6372 * testsuite/23_containers/unordered_multimap/debug/
6373 iterator_self_move_assign_neg.cc: Likewise.
6374 * testsuite/23_containers/unordered_multimap/debug/
6375 max_load_factor_neg.cc: Likewise.
6376 * testsuite/23_containers/unordered_multimap/debug/
6377 self_move_assign_neg.cc: Likewise.
6378 * testsuite/23_containers/unordered_multimap/debug/
6379 use_erased_local_iterator_neg.cc: Likewise.
6380 * testsuite/23_containers/unordered_multimap/debug/
6381 use_invalid_iterator_neg.cc: Likewise.
6382 * testsuite/23_containers/unordered_multimap/debug/
6383 use_invalid_local_iterator_neg.cc: Likewise.
684211e1
MW
6384 * testsuite/23_containers/unordered_multiset/debug/60499.cc:
6385 Likewise.
6386 * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
6387 Likewise.
6388 * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
6389 Likewise.
6390 * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
6391 Likewise.
6392 * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
6393 Likewise.
6394 * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
6395 Likewise.
6396 * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
6397 Likewise.
6398 * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
6399 Likewise.
6400 * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
6401 Likewise.
7a461e27 6402 * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
684211e1 6403 Likewise.
7a461e27 6404 * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
684211e1 6405 Likewise.
7a461e27 6406 * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
684211e1 6407 Likewise.
7a461e27 6408 * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
684211e1 6409 Likewise.
7a461e27 6410 * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
684211e1 6411 Likewise.
7a461e27
JW
6412 * testsuite/23_containers/unordered_multiset/debug/
6413 invalid_local_iterator_compare_neg.cc: Likewise.
6414 * testsuite/23_containers/unordered_multiset/debug/
6415 invalid_local_iterator_range_neg.cc: Likewise.
6416 * testsuite/23_containers/unordered_multiset/debug/
6417 iterator_self_move_assign_neg.cc: Likewise.
6418 * testsuite/23_containers/unordered_multiset/debug/
6419 max_load_factor_neg.cc: Likewise.
6420 * testsuite/23_containers/unordered_multiset/debug/
6421 self_move_assign_neg.cc: Likewise.
6422 * testsuite/23_containers/unordered_multiset/debug/
6423 use_erased_local_iterator_neg.cc: Likewise.
6424 * testsuite/23_containers/unordered_multiset/debug/
6425 use_invalid_iterator_neg.cc: Likewise.
6426 * testsuite/23_containers/unordered_multiset/debug/
6427 use_invalid_local_iterator_neg.cc: Likewise.
684211e1
MW
6428 * testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
6429 * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
6430 * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
7a461e27
JW
6431 * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
6432 Likewise.
684211e1
MW
6433 * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
6434 * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
7a461e27
JW
6435 * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
6436 Likewise.
6437 * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
6438 Likewise.
6439 * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
6440 Likewise.
684211e1
MW
6441 * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
6442 * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
6443 * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
6444 * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
6445 * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
7a461e27
JW
6446 * testsuite/23_containers/unordered_set/debug/
6447 invalid_local_iterator_compare_neg.cc: Likewise.
6448 * testsuite/23_containers/unordered_set/debug/
6449 invalid_local_iterator_range_neg.cc: Likewise.
6450 * testsuite/23_containers/unordered_set/debug/
6451 iterator_self_move_assign_neg.cc: Likewise.
6452 * testsuite/23_containers/unordered_set/debug/
6453 max_load_factor_neg.cc: Likewise.
6454 * testsuite/23_containers/unordered_set/debug/
6455 self_move_assign_neg.cc: Likewise.
6456 * testsuite/23_containers/unordered_set/debug/
6457 use_erased_local_iterator_neg.cc: Likewise.
6458 * testsuite/23_containers/unordered_set/debug/
6459 use_invalid_iterator_neg.cc: Likewise.
6460 * testsuite/23_containers/unordered_set/debug/
6461 use_invalid_local_iterator_neg.cc: Likewise.
684211e1
MW
6462 * testsuite/23_containers/vector/debug/52433.cc: Likewise.
6463 * testsuite/23_containers/vector/debug/60499.cc: Likewise.
6464 * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
7a461e27
JW
6465 * testsuite/23_containers/vector/debug/
6466 iterator_self_move_assign_neg.cc: Likewise.
6467 * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
684211e1 6468 Likewise.
684211e1
MW
6469 * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
6470 * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
6471 * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
6472 * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
6473 * testsuite/29_atomics/atomic/60658.cc: Likewise.
6474 * testsuite/29_atomics/atomic/60695.cc: Likewise.
6475 * testsuite/29_atomics/atomic/62259.cc: Likewise.
6476 * testsuite/29_atomics/atomic/64658.cc: Likewise.
6477 * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
6478 * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
7a461e27
JW
6479 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
6480 Likewise.
684211e1 6481
25011292
JW
64822016-09-11 Jonathan Wakely <jwakely@redhat.com>
6483
6484 * libsupc++/new_opant.cc: Include exception_defines.h.
6485 * libsupc++/new_opvant.cc: Likewise.
6486
af63ba4b
JM
64872016-09-09 Jason Merrill <jason@redhat.com>
6488
6489 Implement P0035R4, C++17 new of over-aligned types.
6490 * libsupc++/new: Declare aligned new/delete operators.
6491 * config/abi/pre/gnu.ver: Export them.
6492 * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
6493 _aligned_malloc.
6494 * libsupc++/new_opa.cc: New.
6495 * libsupc++/new_opant.cc: New.
6496 * libsupc++/new_opva.cc: New.
6497 * libsupc++/new_opva.cc: New.
6498 * libsupc++/del_opa.cc: New.
6499 * libsupc++/del_opant.cc: New.
6500 * libsupc++/del_opsa.cc: New.
6501 * libsupc++/del_opva.cc: New.
6502 * libsupc++/del_opvant.cc: New.
6503 * libsupc++/del_opvsa.cc: New.
6504 * libsupc++/Makefile.am: Build them.
6505
f75d5999
TS
65062016-09-05 Tim Shen <timshen@google.com>
6507
6508 * include/std/variant: include bits/move.h for std::addressof.
6509
eddca7bd
MS
65102016-09-05 Mikhail Strelnikov <mikhail.strelnikov@gmail.com>
6511
7a461e27
JW
6512 * include/std/variant (_Variant_storage::_M_storage()): Use
6513 std::addressof instead of operator& to take address.
eddca7bd 6514
5a810362
MK
65152016-09-02 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
6516
6517 * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
6518 setrlimit on both native and cross targets.
6519 * configure: Regenerate.
6520
3625264f
JW
65212016-08-31 Jonathan Wakely <jwakely@redhat.com>
6522
7663cae2
JW
6523 * include/bits/shared_ptr.h (_Assignable): New alias template.
6524 (shared_ptr::operator=(const shared_ptr<_Tp1>&))
6525 (shared_ptr::operator=(shared_ptr<_Tp1>&&))
6526 (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
6527 _Assignable.
6528 * include/bits/shared_ptr_base.h (_Assignable): New alias template.
6529 (__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
6530 (__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
6531 (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
6532 _Assignable.
6533 (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
6534 (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
6535 _Convertible.
6536 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
6537 match on any line.
6538 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
6539 * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
6540 * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
6541 expected errors. Remove unnecessary code.
6542 * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
6543
e46d22a8
JW
6544 * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
6545 comparison object.
6546 * testsuite/23_containers/set/move_comparison.cc: New test.
6547
3625264f
JW
6548 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
6549 New test.
6550
7875b41f
VV
65512016-08-30 Ville Voutilainen <ville.voutilainen@gmail.com>
6552
6553 PR libstdc++/77395
6554 * include/std/type_traits (is_constructible): Forward-declare...
6555 (__is_base_to_derived_ref): ...and use here.
6556 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
6557 * testsuite/20_util/is_constructible/77395.cc: New.
6558 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
6559 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
6560 Likewise.
6561 * testsuite/20_util/tuple/77395.cc: New.
6562
e1becf59
UB
65632016-08-30 Uros Bizjak <ubizjak@gmail.com>
6564
6565 * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
6566 directive above dg-require-namedlocale directive.
6567 * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
6568 * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
6569 * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
6570 * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
6571 * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
6572
4aebb4e4
TS
65732016-08-27 Tim Shen <timshen@google.com>
6574
6575 PR libstdc++/77356
6576 * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
6577 _M_expression_term): Modify to support dash literal.
6578 * include/bits/regex_scanner.h: Add dash as a token type to make
6579 a different from the mandated dash literal by escaping.
6580 * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
6581 token in bracket expression parsing.
6582 * testsuite/28_regex/regression.cc: Add new testcases.
6583
52066eae
JW
65842016-08-26 Jonathan Wakely <jwakely@redhat.com>
6585
10491e4c
JW
6586 PR libstdc++/51960
6587 * doc/xml/manual/intro.xml: Document DR 2127 change.
6588 * doc/html/*: Regenerate.
6589 * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
6590 (operator++(), operator++(int)): Use injected class name.
6591 * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
6592
52066eae
JW
6593 * testsuite/*: Use { target c++11 } or { target c++14 } instead of
6594 using -std in dg-options.
6595
e8223484
JW
65962016-08-26 Jonathan Wakely <jwakely@redhat.com>
6597 Pedro Alves <palves@redhat.com>
6598
6599 * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
6600 and restore dg-interpreter-batch-mode.
6601 * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
6602 gdb-dg-runtest instead of dg-runtest.
6603 * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
6604
86bbf15b
JW
66052016-08-26 Jonathan Wakely <jwakely@redhat.com>
6606
6607 * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
6608 precise patterns for basic_string constructors.
6609 (GLIBCXX_3.4.23): Export new constructors.
6610 * doc/xml/manual/intro.xml: Document LWG 2583 status.
6611 * doc/html/*: Regenerate.
6612 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
6613 (basic_string(const basic_string&, size_type, const Alloc&)): Add
6614 new constructor for LWG 2583.
6615 (basic_string(const basic_string&, size_type, size_type)): Remove
6616 default argument.
6617 [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
6618 * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
6619 * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
6620 * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
6621
9a38acdf
AK
66222016-08-24 Aditya Kumar <hiraditya@msn.com>
6623
6624 * include/bits/algorithmfwd.h: Remove trailing whitespace.
6625 * include/bits/shared_ptr_base.h: Likewise.
6626
06db9920
JW
66272016-08-23 Jonathan Wakely <jwakely@redhat.com>
6628
e90a8010
JW
6629 * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
6630 * include/profile/array (array): Likewise.
6631 (array::swap): Fix exception specification for zero-sized arrays.
6632
5ea387db
JW
6633 PR libstdc++/77334
6634 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
6635 (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
6636 * testsuite/23_containers/map/77334.cc: New test.
6637
5d1c6b3e
JW
6638 * doc/xml/manual/using.xml: Remove reference to -pthreads option.
6639 * doc/html/*: Regenerate.
6640
457c4a3f
JW
6641 * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
6642 * testsuite/experimental/feat-lib-fund.cc: Likewise.
6643
b405d54f
JW
6644 PR libstdc++/71771
6645 * include/bits/stl_iterator.h
6646 (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
6647 define for C++98 mode.
6648 (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
6649 * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
6650 -std=gnu++98.
6651 * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
6652 * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
6653 * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
6654 * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
6655 difference operator.
6656 * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
6657 difference operator for C++98.
6658 * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
6659
06db9920
JW
6660 * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
6661 * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
6662 (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
6663 * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
6664 (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
6665 Likewise.
6666 * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
6667 _GLIBCXX14_CONSTEXPR.
6668 (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
6669 * include/std/array (array::begin, array::end, array::rbegin)
6670 (array::rend, array::cbegin, array:cend, array::crbegin)
6671 (array::crend, array::operator[], array::at, array::front)
6672 (array::back, array::data): Likewise.
6673 * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
6674 with separate tests for C++11, C++14, and C++17.
6675 * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
6676 * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
6677 * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
6678
d79d6252
TS
66792016-08-22 Tim Shen <timshen@google.com>
6680
6681 Split _M_dfs() into smaller functions.
6682 * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
6683 (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
6684 (_M_handle_line_end_assertion, _M_handle_word_boundary)
6685 (_M_handle_subexpr_lookahead, _M_handle_match)
6686 (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
6687 Add separate function declarations.
6688 * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
6689
27abac26
GN
66902016-08-22 Gleb Natapov <gleb@scylladb.com>
6691
6692 PR libstdc++/68297
6693 * config/abi/pre/gnu-versioned-namespace.ver: Export
6694 __cxa_init_primary_exception and std::exception_ptr(void*).
6695 * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
6696 export __cxa_init_primary_exception and std::exception_ptr(void*).
6697 * include/Makefile.am: Add new headers.
6698 * include/Makefile.in: Regenerate.
6699 * libsupc++/Makefile.am: Add new headers.
6700 * libsupc++/Makefile.in: Regenerate.
6701 * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
6702 * libsupc++/cxxabi_init_exception.h: New header.
6703 (__cxa_init_primary_exception): Declare.
6704 * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
6705 (__cxa_throw): Use __cxa_init_primary_exception.
6706 * libsupc++/exception (std::exception): Move to ...
6707 * libsupc++/exception.h: New header.
6708 * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
6709 friend declaration.
6710 (__exception_ptr::__dest_thunk): New function template.
6711 (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
6712 Use __cxa_allocate_exception and __cxa_init_primary_exception to
6713 create exception_ptr.
6714 * libsupc++/typeinfo: Include bits/exception.h instead of exception.
6715 * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
6716
94f54d47
JW
67172016-08-22 Jonathan Wakely <jwakely@redhat.com>
6718
4c86ffcc
JW
6719 * doc/xml/api.xml: Replace hardcoded links for specific versions with
6720 link to docs for all releases.
6721 * doc/html/*: Regenerate.
6722
94f54d47
JW
6723 PR libstdc++/77322
6724 * doc/xml/manual/intro.xml: Document DR 2062 change.
6725 * include/std/functional (function::swap): Add noexcept.
6726 (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
6727 * testsuite/20_util/function/77322.cc: New test.
6728
1f4ed04e
JW
67292016-08-19 Jonathan Wakely <jwakely@redhat.com>
6730
71c54f8e
JW
6731 * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
6732 *-*-solaris* instead of -pthreads.
6733 * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
6734 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
6735 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
6736 * testsuite/23_containers/list/pthread1.cc: Likewise.
6737 * testsuite/23_containers/list/pthread5.cc: Likewise.
6738 * testsuite/23_containers/map/pthread6.cc: Likewise.
6739 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
6740 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
6741 * testsuite/30_threads/shared_mutex/*: Likewise.
6742 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
6743 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6744 default_weaktoshared.cc: Likewise.
6745 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6746 mutex_weaktoshared.cc: Likewise.
6747 * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
6748 dg-require-effective-target instead of using -std option.
6749 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
6750 Likewise.
6751 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
6752 * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
6753 Likewise.
6754 * testsuite/30_threads/async/*: Likewise.
6755 * testsuite/30_threads/call_once/*: Likewise.
6756 * testsuite/30_threads/condition_variable/*: Likewise.
6757 * testsuite/30_threads/condition_variable_any/*: Likewise.
6758 * testsuite/30_threads/future/*: Likewise.
6759 * testsuite/30_threads/lock/*: Likewise.
6760 * testsuite/30_threads/mutex/*: Likewise.
6761 * testsuite/30_threads/packaged_task/*: Likewise.
6762 * testsuite/30_threads/promise/*: Likewise.
6763 * testsuite/30_threads/recursive_mutex/*: Likewise.
6764 * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
6765 * testsuite/30_threads/shared_future/*: Likewise.
6766 * testsuite/30_threads/shared_lock/*: Likewise.
6767 * testsuite/30_threads/shared_timed_mutex/*: Likewise.
6768 * testsuite/30_threads/this_thread/*: Likewise.
6769 * testsuite/30_threads/thread/*: Likewise.
6770 * testsuite/30_threads/timed_mutex/*: Likewise.
6771 * testsuite/30_threads/try_lock/*: Likewise.
6772 * testsuite/30_threads/unique_lock/*: Likewise.
6773
e6ee5bfd
JW
6774 * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
6775 * doc/html/*: Regenerate.
6776 * include/experimental/functional (_Not_fn, not_fn): Match C++17
6777 semantics.
6778 * include/std/functional (_Not_fn, not_fn): Define for C++17.
6779 * testsuite/20_util/not_fn/1.cc: New.
6780 * testsuite/experimental/functional/not_fn.cc: Test abstract class.
6781 Remove test for volatile-qualified wrapper.
6782
387edf83
JW
6783 * include/std/atomic (atomic::is_always_lock_free): Define.
6784 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
6785 * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
6786 * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
6787 * doc/xml/manual/status_cxx2017.xml: Update status.
6788 * doc/html/*: Regenerate.
6789
285ee2fb
JW
6790 * include/experimental/tuple (apply): Qualify call to __apply_impl.
6791 * include/std/tuple (apply): Likewise.
6792 * testsuite/experimental/system_error/value.cc: Fix ambiguities in
6793 C++17 mode.
6794 * testsuite/experimental/tuple/tuple_size.cc: Likewise.
6795 * testsuite/experimental/type_traits/value.cc: Likewise.
6796
1f4ed04e
JW
6797 * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
6798 and variant.
6799 * doc/html/*: Regenerate.
6800
a577f786
VV
68012016-08-18 Ville Voutilainen <ville.voutilainen@gmail.com>
6802
6803 Implement the latest proposed resolution of LWG 2756.
6804 * include/std/optional (Optional_base(const _Tp&))
6805 (Optional_base(_Tp&&), using _Base::_Base): Remove.
6806 (optional(nullopt_t)): New.
6807 (optional(_Up&&)): Invoke base directly with in_place
6808 rather than creating a temporary, add default template
6809 argument, change constraints.
6810 (optional(const optional<_Up>&)): Invoke base directly
6811 with in_place, remove unnecessary constraints.
6812 (optional(optional<_Up>&& __t)): Likewise.
6813 (optional(in_place_t, _Args&&...)): New.
6814 (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
6815 (operator=(_Up&&)): Add default template argument, change constraints.
6816 (operator=(const optional<_Up>&)): Put is_same first in the
6817 constraints.
6818 (operator=(optional<_Up>&&)): Likewise.
6819 * testsuite/20_util/optional/assignment/5.cc: Add a test to
6820 verify assignment from something that can't be perfect-forwarded.
6821 * testsuite/20_util/optional/cons/value.cc: Add tests to verify
6822 that a nested optional is disengaged when constructed
6823 from a disengaged element type, and to verify that assignments
6824 from an engaged element type engage the optional.
6825
197c757c
TS
68262016-08-18 Tim Shen <timshen@google.com>
6827
6828 Implement <variant>
6829
6830 * include/Makefile.am: Add new file std/variant.
6831 * include/Makefile.in: Generated from Makefile.am.
6832 * include/bits/enable_special_members.h: Add a tag type to allow
6833 the construction in non-default constructor.
6834 * include/bits/uses_allocator.h: Add convenience traits to
6835 detect constructibility.
6836 * include/std/variant: Implement <variant>.
6837 * testsuite/20_util/variant/compile.cc: Compile-time tests.
6838 * testsuite/20_util/variant/run.cc: Runtime tests.
6839
6cb98491
JW
68402016-08-18 Jonathan Wakely <jwakely@redhat.com>
6841
0b224dcf
JW
6842 * doc/xml/manual/test.xml (test.run.permutations): Expand section.
6843 (test.new_tests): Rewrite section.
6844 (tests.dg.directives): New section.
6845 * doc/html/*: Regenerate.
6846
b56d48ef
JW
6847 * doc/xml/manual/test.xml: Improve documentation of test targets.
6848 Document new-abi-baseline, check-debug, and check-parallel targets.
6849
409d5555
JW
6850 * doc/xml/manual/build_hacking.xml: New section on shared library
6851 versioning.
6852
a8107a98
JW
6853 * doc/xml/manual/build_hacking.xml: Improve markup.
6854 * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
6855 to "Testing".
6856 * doc/xml/faq.xml: Change link text to "Testing".
6857
6cb98491
JW
6858 * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
6859 dg-options directive.
6860
657213f7
JW
68612016-08-17 Jonathan Wakely <jwakely@redhat.com>
6862
6fbf26cc
JW
6863 * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
6864 directive and use effective target instead of dg-options.
6865
18a20f3f
JW
6866 * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
6867 instead of -std in dg-options.
6868 * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
6869 * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
6870 * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
6871 * testsuite/20_util/hash/quality.cc: Likewise.
6872 * testsuite/25_algorithms/heap/moveable.cc: Likewise.
6873 * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
6874 * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
6875 * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
6876 * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
6877 * testsuite/25_algorithms/sort/random_test.cc: Likewise.
6878
f7717203
JW
6879 * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
6880 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
6881 * testsuite/27_io/rvalue_streams.cc: Likewise.
6882
e30c6e0c
JW
6883 * testsuite/26_numerics/complex/literals/types.cc: Add comment.
6884
e07f4b00
JW
6885 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
6886 Remove duplicate dg-options directive.
6887
37144e84
JW
6888 * testsuite/ext/profile/all.cc: Use effective target instead of
6889 -std=gnu++11. Use dg-additional-options instead of repeating options.
6890
8fe79e73
JW
6891 * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
6892 -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
6893 instead of dg-excess-errors.
6894
c4296692
JW
6895 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
6896 test for C++17.
6897 * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
6898 * testsuite/experimental/ratio/value.cc: Likewise.
6899 * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
6900 C++17.
6901 * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
6902 * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
6903 * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
6904 * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
6905 * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
6906 * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
6907 * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
6908 * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
6909 * testsuite/tr1/5_numerical_facilities/special_functions/
6910 10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
6911 C++17 compatibility.
6912
ba364478
JW
6913 * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
6914 expected signatures for C++14 compatibility.
6915
657213f7
JW
6916 PR libstdc++/77264
6917 * include/bits/basic_string.h (operator=(__sv_type)
6918 (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
6919 (replace(size_type, size_type, __sv_type))
6920 (replace(const_iterator, const_iterator, __sv_type))
6921 (find(__sv_type, size_type), rfind(__sv_type, size_type))
6922 (compare(size_type, size_type, __sv_type)): Reformat.
6923 (_If_sv): Define helper for SFINAE constaints.
6924 (append(const _Tp&, size_type, size_type))
6925 (assign(const _Tp&, size_type, size_type))
6926 (insert(size_type, const _Tp&, size_type, size_type))
6927 (replace(size_type, size_type, const _Tp&, size_type, size_type)):
6928 Use _If_sv.
6929 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
6930 SFINAE constraints.
6931 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
6932 Likewise.
6933 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
6934 Likewise.
6935 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
6936 Likewise.
6937 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
6938 Likewise.
6939 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
6940 Likewise.
6941 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
6942 Likewise.
6943 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
6944 Likewise.
6945 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
6946 Likewise.
6947 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
6948 Likewise.
6949 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
6950 Likewise.
6951
32917686
JW
69522016-08-16 Jonathan Wakely <jwakely@redhat.com>
6953
6954 PR libstdc++/72847
6955 * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
6956 pointers to start and end of storage.
6957 * testsuite/23_containers/vector/bool/72847.cc: New test.
6958 * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
6959 _M_finish after deallocating.
6960 (vector<bool>::_M_fill_insert): Likewise.
6961 (vector<bool>::_M_insert_range): Likewise.
6962 (vector<bool>::_M_insert_aux): Likewise.
6963
5c578ae4
VV
69642016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
6965
6966 Implement LWG 2744 and LWG 2754.
6967 * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
6968 (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
6969 (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
6970 Likewise.
6971 (emplace(_Args&&...)): Likewise.
6972 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
6973 * include/std/utility: (__is_in_place_type_impl): New.
6974 (__is_in_place_type): Likewise.
6975 * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
6976 emplace.
6977 * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
6978 in_place constructor.
6979 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
6980 * testsuite/20_util/any/requirements.cc: Add a test for
6981 in_place-constructing a non-default-constructible type.
6982
24299f65
VV
69832016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
6984
6985 Add a feature macro for C++17 make_from_tuple.
6986 * include/std/tuple (__cpp_lib_make_from_tuple): New.
6987 (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
6988 Qualify the call to get<>().
6989 * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
6990
0657379e
UB
69912016-08-15 Uros Bizjak <ubizjak@gmail.com>
6992
6993 * src/filesystem/ops.cc: Always include ostream and
6994 ext/stdio_filebuf.h.
6995 (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
6996 [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
6997 sendfile fails with ENOSYS or EINVAL.
6998
f9657322
TP
69992016-08-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
7000
7001 PR libstdc++/72840
7002 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
7003 syntax.
7004
ca1ab6be
VV
70052016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
7006
7007 Implement C++17 make_from_tuple.
7008 * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
7009 * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
7010
68a51b68
VV
70112016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
7012
7013 Implement LWG 2758.
7014 * include/bits/basic_string.h
7015 (append(__sv_type, size_type, size_type)): Turn into a template,
7016 change parameter type, constrain, add a conversion to __sv_type
7017 from the dependent parameter type.
7018 (assign(__sv_type, size_type, size_type)): Likewise.
7019 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
7020 (replace(size_type, size_type, __sv_type, size_type, size_type)):
7021 Likewise.
7022 (compare(size_type, size_type,__sv_type, size_type, size_type)):
7023 Likewise.
7024 * testsuite/21_strings/basic_string/lwg2758.cc: New.
7025
3e9f67e6
JW
70262016-08-06 Jonathan Wakely <jwakely@redhat.com>
7027
caee9cde
JW
7028 * doc/xml/manual/status_cxx2017.xml: Update status table.
7029 * doc/html/manual/status.html: Regenerate.
7030
ea2f1f49
JW
7031 * testsuite/lib/libstdc++.exp: Fix typo in comment.
7032
6ef835c6
JW
7033 PR libstdc++/72820
7034 * include/std/functional (_Function_base::_Base_manager::_M_clone):
7035 Qualify new operator.
7036 * testsuite/20_util/function/cons/72820.cc: New test.
7037
3e9f67e6
JW
7038 * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
7039 * doc/html/manual/status.html: Regenerate.
7040 * include/Makefile.am: Add new header.
7041 * include/Makefile.in: Regenerate.
7042 * include/bits/invoke.h: New header.
7043 (__invoke): Make constexpr. Add && to types in exception specification.
7044 * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
7045 names. Include <bits/invoke.h> and use std::__invoke.
7046 * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
7047 new header.
7048 (invoke): Add && to types in exception specification.
7049 * include/std/tuple (apply, __apply_impl): Define for C++17.
7050 * testsuite/20_util/tuple/apply/1.cc: New test.
7051 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
7052 lineno.
7053
98e6e662
JW
70542016-08-05 Jonathan Wakely <jwakely@redhat.com>
7055
a0b1bf21
JW
7056 * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
7057 * doc/html/manual/status.html: Regenerate.
7058
5f6acdfb
JW
7059 * include/std/chrono (floor, ceil, round, abs): New for C++17.
7060 * testsuite/20_util/duration_cast/rounding.cc: New test.
7061 * testsuite/20_util/time_point_cast/rounding.cc: New test.
7062 * doc/xml/manual/status_cxx2017.xml: Update status table.
7063 * doc/html/manual/status.html: Regenerate.
7064 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
7065 dg-error lineno.
7066 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
7067 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
7068 * testsuite/20_util/duration/literals/range.cc: Likewise.
7069
98e6e662
JW
7070 * include/std/functional (__callable_functor): Remove.
7071 (_Function_handler::_M_invoke): Use __invoke instead of
7072 __callable_functor or mem_fn.
7073 (function::_Callable): Use lvalue in result_of expression.
7074 (function): Remove TODO comments about allocators.
7075 * testsuite/20_util/function/cons/refqual.cc: New test.
7076
7d2035fa
JW
70772016-08-04 Jonathan Wakely <jwakely@redhat.com>
7078
42183d03
JW
7079 * doc/xml/manual/status_cxx2017.xml: Update status table.
7080 * include/std/functional (__inv_unwrap): Move to <type_traits>.
7081 (__invoke_impl): Remove exception specifications.
7082 (__invoke, invoke): Add exception specifications using
7083 __is_nothrow_callable.
7084 * include/std/type_traits (__inv_unwrap): Move from <functional>.
7085 (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
7086 (__is_callable, __is_nothrow_callable): New traits.
7087 (is_callable, is_callable_v): New C++17 traits.
7088 (is_nothrow_callable, is_nothrow_callable_v): Likewise.
7089 * testsuite/20_util/is_callable/requirements/
7090 explicit_instantiation.cc: New test.
7091 * testsuite/20_util/is_callable/requirements/
7092 explicit_instantiation_ext.cc: New test.
7093 * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
7094 * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
7095 test.
7096 * testsuite/20_util/is_callable/value.cc: New test.
7097 * testsuite/20_util/is_callable/value_ext.cc: New test.
7098 * testsuite/20_util/is_nothrow_callable/requirements/
7099 explicit_instantiation.cc: New test.
7100 * testsuite/20_util/is_nothrow_callable/requirements/
7101 explicit_instantiation_ext.cc: New test.
7102 * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
7103 New test.
7104 * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
7105 New test.
7106 * testsuite/20_util/is_nothrow_callable/value.cc: New test.
7107 * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
7108
246c618e
JW
7109 * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
7110 * doc/html/manual/status.html: Regenerate.
7111
9a8e528c
JW
7112 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
7113 effective target not dg-options. Move check for feature-test macro to:
7114 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
7115 New test.
7116
7d2035fa
JW
7117 * include/std/functional (_Unwrap): Rename to __inv_unwrap.
7118 (__invfwd): Adjust.
7119 (__invoke_impl): Remove unused template parameters.
7120 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
7121 parameter.
7122 * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
7123 and test __invoke extension for C++11.
7124
27631a25
JW
71252016-08-03 Jonathan Wakely <jwakely@redhat.com>
7126
c7fdbdcd
JW
7127 * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
7128 Define feature-test macro.
7129 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
7130 for the macro.
7131
f21f4463
JW
7132 * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
7133 * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
7134 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
7135 * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
7136 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
7137
32eaac9c
JW
7138 * include/std/utility (as_const): Define.
7139 * testsuite/20_util/as_const/1.cc: New test.
7140 * testsuite/20_util/as_const/rvalue_neg.cc: New test.
7141
b7dabce5
JW
7142 * include/bits/shared_ptr.h (owner_less): Add default template
7143 argument.
7144 * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
7145 specialization.
7146 (owner_less<void>): Define specialization.
7147 * include/bits/stl_function.h (__cpp_lib_transparent_operators):
7148 Update value.
7149 * testsuite/20_util/owner_less/void.cc: New test.
7150 * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
7151
068c8ac1
JW
7152 * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
7153 Define feature-test macro.
7154 * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
7155 * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
7156 * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
7157 (__cpp_lib_type_trait_variable_templates): Define.
7158
0bd9bdb4
JW
7159 * include/bits/stl_function.h: Remove commented-out macro.
7160 * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
7161 Define feature-test macro.
7162 * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
7163
f8571e51
JW
7164 * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
7165 C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
7166 true.
7167 * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
7168 do #error for C++17.
7169 * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
7170 of __STDCPP_WANT_MATH_SPEC_FUNCS__.
7171 * include/tr1/bessel_function.tcc: Likewise.
7172 * include/tr1/beta_function.tcc: Likewise.
7173 * include/tr1/cmath: Likewise.
7174 * include/tr1/ell_integral.tcc: Likewise.
7175 * include/tr1/exp_integral.tcc: Likewise.
7176 * include/tr1/gamma.tcc: Likewise.
7177 * include/tr1/hypergeometric.tcc: Likewise.
7178 * include/tr1/legendre_function.tcc: Likewise.
7179 * include/tr1/modified_bessel_func.tcc: Likewise.
7180 * include/tr1/poly_hermite.tcc: Likewise.
7181 * include/tr1/poly_laguerre.tcc: Likewise.
7182 * include/tr1/riemann_zeta.tcc: Likewise.
7183 * include/tr1/special_function_util.h: Likewise.
7184 * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
7185
27631a25
JW
7186 * include/std/type_traits (has_trivial_default_constructor): Remove.
7187 (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
7188 * testsuite/20_util/has_trivial_copy_assign/requirements/
7189 explicit_instantiation.cc: Remove test.
7190 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
7191 line number.
7192 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
7193 Likewise.
7194 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
7195 * testsuite/20_util/has_trivial_copy_constructor/requirements/
7196 explicit_instantiation.cc: Likewise.
7197 * testsuite/20_util/has_trivial_copy_constructor/requirements/
7198 typedefs.cc: Likewise.
7199 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
7200 * testsuite/20_util/has_trivial_default_constructor/requirements/
7201 explicit_instantiation.cc: Likewise.
7202 * testsuite/20_util/has_trivial_default_constructor/requirements/
7203 typedefs.cc: Likewise.
7204 * testsuite/20_util/has_trivial_default_constructor/value.cc:
7205 Likewise.
7206 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
7207 Check has_trivial_default_constructor, has_trivial_copy_constructor,
7208 and has_trivial_copy_assign are not defined.
7209 * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
7210 tests.
7211 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
7212 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
7213 dg-error line number.
7214 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
7215 Likewise.
7216
69332dba
JW
72172016-08-02 Jonathan Wakely <jwakely@redhat.com>
7218
589a30d1
JW
7219 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
7220 Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
7221 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
7222 Likewise.
7223 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
7224 Likewise.
7225 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
7226 Likewise.
7227 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
7228 Likewise.
7229 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
7230 Likewise.
7231 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
7232 Likewise.
7233
8bcd00bb
JW
7234 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
7235 comments.
7236
a4e1011c
JW
7237 * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
7238 dg-error to relevant line.
7239 * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
7240 Likewise.
7241 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
7242
64dde682
JW
7243 * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
7244
807bd096
JW
7245 * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
7246 options are present that aren't valid for C.
7247 * testsuite/abi/header_cxxabi.c: Likewise.
7248
8c65cd30
JW
7249 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
7250 check_value.cc: Do not add special functions to namespace std in TR1
7251 test.
7252
196c9e7a
JW
7253 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
7254 run for C++11 and later.
7255 * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
7256 Likewise.
7257 * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
7258 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
7259 * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
7260 * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
7261 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
7262 Likewise.
7263 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
7264 Likewise.
7265 * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
7266 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
7267 Likewise.
7268 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
7269 Likewise.
7270 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
7271 Likewise.
7272 * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
7273 * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
7274 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
7275 * testsuite/special_functions/03_beta/check_value.cc: Likewise.
7276 * testsuite/special_functions/03_beta/compile.cc: Likewise.
7277 * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
7278 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
7279 * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
7280 Likewise.
7281 * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
7282 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
7283 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
7284 * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
7285 Likewise.
7286 * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
7287 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
7288 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
7289 * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
7290 Likewise.
7291 * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
7292 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
7293 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
7294 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
7295 Likewise.
7296 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
7297 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
7298 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
7299 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
7300 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
7301 Likewise.
7302 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
7303 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
7304 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
7305 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
7306 Likewise.
7307 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
7308 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
7309 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
7310 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
7311 * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
7312 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
7313 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
7314 * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
7315 * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
7316 * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
7317 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
7318 * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
7319 * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
7320 * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
7321 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
7322 * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
7323 * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
7324 * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
7325 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
7326 * testsuite/special_functions/14_expint/check_value.cc: Likewise.
7327 * testsuite/special_functions/14_expint/compile.cc: Likewise.
7328 * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
7329 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
7330 * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
7331 * testsuite/special_functions/15_hermite/compile.cc: Likewise.
7332 * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
7333 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
7334 * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
7335 * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
7336 * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
7337 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
7338 * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
7339 * testsuite/special_functions/17_legendre/compile.cc: Likewise.
7340 * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
7341 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
7342 * testsuite/special_functions/18_riemann_zeta/check_value.cc:
7343 Likewise.
7344 * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
7345 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
7346 * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
7347 * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
7348 * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
7349 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
7350 * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
7351 * testsuite/special_functions/20_sph_legendre/check_value.cc:
7352 Likewise.
7353 * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
7354 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
7355 * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
7356 * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
7357 * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
7358 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
7359
69332dba
JW
7360 * testsuite/tr1/5_numerical_facilities/special_functions/
7361 08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
7362 of [[gnu::unused]].
7363 * testsuite/tr1/5_numerical_facilities/special_functions/
7364 09_cyl_bessel_j/check_value.cc: Likewise.
7365 * testsuite/tr1/5_numerical_facilities/special_functions/
7366 10_cyl_bessel_k/check_value.cc: Likewise.
7367 * testsuite/tr1/5_numerical_facilities/special_functions/
7368 11_cyl_neumann/check_value.cc: Likewise.
7369 * testsuite/tr1/5_numerical_facilities/special_functions/
7370 21_sph_bessel/check_value.cc: Likewise.
7371 * testsuite/tr1/5_numerical_facilities/special_functions/
7372 23_sph_neumann/check_value.cc: Likewise.
7373
e1539627
RO
73742016-08-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7375
7376 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
7377 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
7378 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
7379 * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
7380 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
7381 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
7382
c1b6948e
JW
73832016-08-02 Jonathan Wakely <jwakely@redhat.com>
7384
e877144d
JW
7385 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
7386 test if -flto used.
7387
c1b6948e
JW
7388 * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
7389 additional flags for compiling libtestc++.a objects.
7390
9b46e4d6
JW
73912016-08-01 Jonathan Wakely <jwakely@redhat.com>
7392
92d58dee
JW
7393 * include/bits/basic_string.h (data() const): Update comment.
7394 (data()): Add non-const overload for C++17.
7395 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
7396 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
7397
0f86525a
JW
7398 * include/bits/basic_string.tcc: Disable explicit instantiation
7399 declarations for C++17.
7400
9839ff60
JW
7401 * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
7402 ignored "xfail" from { dg-do compile { xfail selector } } directive.
7403 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
7404 Likewise.
7405 * testsuite/26_numerics/headers/cmath/
7406 c99_classification_macros_c++11.cc: Likewise.
7407 * testsuite/26_numerics/headers/cmath/
7408 c99_classification_macros_c++98.cc: Likewise.
7409 * testsuite/26_numerics/headers/cmath/
7410 c99_classification_macros_c.cc: Likewise.
7411
cbcc9fe8
JW
7412 * testsuite/backward/hash_set/check_construct_destroy.cc: Account
7413 for different construct/destroy counts in C++98 mode.
7414
74811472
JW
7415 * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
7416
a02a61ee
JW
7417 * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
7418 later.
7419 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
7420 Likewise.
7421
98b5fb3c
JW
7422 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
7423 C++98-compatible initialization for array.
7424
6f3b8891
JW
7425 * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
7426 unused header and variable from compile-only test.
7427 * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
7428 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
7429 * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
7430 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
7431 Likewise.
7432
2ab794eb
JW
7433 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
7434 Remove duplicate dg-options directive.
7435
4d16871b
JW
7436 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
7437 808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
7438
e3509835
JW
7439 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
7440 linker options from compile-only tests.
7441 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7442 Likewise.
7443
9b46e4d6
JW
7444 * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
7445 supported for C++11 and later.
7446 * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
7447 * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
7448
77c3c27e
UB
74492016-08-01 Uros Bizjak <ubizjak@gmail.com>
7450
7451 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
7452
f245e3a0
JW
74532016-07-31 Jonathan Wakely <jwakely@redhat.com>
7454
c4da1da2
JW
7455 * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
7456 compile-only test.
7457
9d5b70b0
JW
7458 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7459 Ensure test is compiled with optimization.
7460
ee628057
JW
7461 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7462 Adjust dg-prune-output pattern for error in C++98 mode.
7463
d23d1bee
JW
7464 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
7465 run for C++11 or later.
7466
f2738d6c
JW
7467 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
7468 test to not rely on GNU extension (escaped normal characters in POSIX
7469 BRE). Enable tests for other strings which are now supported.
7470
77f3d979
JW
7471 * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
7472 c++11 instead of setting -std=gnu++14.
7473
3c040fa4
JW
7474 PR libstdc++/72745
7475 * include/std/array (get): Use positive message for static assertions.
7476 * include/std/functional (_Safe_tuple_element_t): Fix indentation.
7477 * include/std/tuple (tuple_element<I, tuple<>>): Add partial
7478 specialization for invalid indices, with static assertion.
7479 * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
7480
f245e3a0
JW
7481 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
7482 dg-error to relevant line.
7483 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
7484 Likewise.
7485 * testsuite/23_containers/forward_list/requirements/dr438/
7486 assign_neg.cc: Likewise.
7487 * testsuite/23_containers/forward_list/requirements/dr438/
7488 constructor_1_neg.cc: Likewise.
7489 * testsuite/23_containers/forward_list/requirements/dr438/
7490 constructor_2_neg.cc: Likewise.
7491 * testsuite/23_containers/forward_list/requirements/dr438/
7492 insert_neg.cc: Likewise.
7493 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
7494 Likewise.
7495 * testsuite/26_numerics/random/linear_congruential_engine/
7496 requirements/non_uint_neg.cc: Likewise.
7497 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
7498 Likewise. Also test for std::atomic_address.
7499
8c914227
VV
75002016-07-31 Ville Voutilainen <ville.voutilainen@gmail.com>
7501
7502 Add missing variable traits, fix testsuite failures.
7503 * include/bits/uses_allocator.h (uses_allocator_v): New.
7504 * include/std/functional (is_bind_expression_v, is_placeholder_v):
7505 Likewise.
7506 * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
7507 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
7508 * testsuite/20_util/duration/literals/range.cc: Likewise.
7509 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
7510 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
7511 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
7512 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
7513 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
7514 Likewise.
7515 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
7516 * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
7517 New.
7518
7523c5eb
JW
75192016-07-31 Jonathan Wakely <jwakely@redhat.com>
7520
2f297149
JW
7521 * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
7522 not test 128-bit types.
7523 * testsuite/20_util/is_floating_point/value.cc: Likewise.
7524 * testsuite/20_util/is_integral/value.cc: Likewise.
7525 * testsuite/20_util/is_signed/value.cc: Likewise.
7526 * testsuite/20_util/is_unsigned/value.cc: Likewise.
7527 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
7528 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
7529 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
7530 Likewise.
7531 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7532 Likewise.
7533
7523c5eb
JW
7534 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
7535
137422c8
VV
75362016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
7537
7538 Implement C++17 variable templates for type traits.
7539 * include/std/chrono (treat_as_floating_point_v): New.
7540 * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
7541 (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
7542 (ratio_greater_equal_v): Likewise.
7543 * include/std/system_error (is_error_code_enum_v)
7544 (is_error_condition_enum_v): Likewise.
7545 * include/std/tuple (tuple_size_v): Likewise.
7546 * type_traits (conjunction_v, disjunction_v, negation_v)
7547 (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
7548 (is_array_v, is_pointer_v, is_lvalue_reference_v)
7549 (is_rvalue_reference_v, is_member_object_pointer_v)
7550 (is_member_function_pointer_v, is_enum_v, is_union_v)
7551 (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
7552 (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
7553 (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
7554 (is_trivially_copyable_v, is_standard_layout_v)
7555 (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
7556 (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
7557 (is_constructible_v, is_default_constructible_v)
7558 (is_copy_constructible_v, is_move_constructible_v)
7559 (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
7560 (is_destructible_v, is_trivially_constructible_v)
7561 (is_trivially_default_constructible_v)
b2b0acbe 7562 (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
137422c8
VV
7563 (is_trivially_assignable_v, is_trivially_copy_assignable_v)
7564 (is_trivially_move_assignable_v, is_trivially_destructible_v)
7565 (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
7566 (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
7567 (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
7568 (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
7569 (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
7570 (is_same_v, is_base_of_v, is_convertible_v): Likewise.
7571 * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
7572 * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
7573 Likewise.
7574 * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
7575 * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
7576 * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
7577
0c4c4909
AS
75782016-07-29 Andreas Schwab <schwab@linux-m68k.org>
7579
7580 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
7581 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
7582 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
7583
fe97ccec
JW
75842016-07-29 Jonathan Wakely <jwakely@redhat.com>
7585
13ec6e5e
JW
7586 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
7587 * doc/html/manual/abi.html: Regenerate.
7588
62589e99
JW
7589 * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
7590 * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
7591 symbols.
7592 * configure: Regenerate.
7593 * testsuite/util/testsuite_abi.cc: Add new symbol version.
7594
fe97ccec
JW
7595 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
7596 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
7597 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
7598 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
7599 Likewise.
7600 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
7601 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
7602 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
7603
2de6b254
JW
76042016-07-28 Jonathan Wakely <jwakely@redhat.com>
7605
1a2196e4
JW
7606 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
7607 Adjust dg-prune-output pattern for error in C++98 mode.
7608 * testsuite/23_containers/deque/requirements/dr438/
7609 constructor_1_neg.cc: Likewise.
7610 * testsuite/23_containers/deque/requirements/dr438/
7611 constructor_2_neg.cc: Likewise.
7612 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
7613 Likewise.
7614 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
7615 Likewise.
7616 * testsuite/23_containers/list/requirements/dr438/
7617 constructor_1_neg.cc: Likewise.
7618 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7619 Likewise.
7620 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
7621 Likewise.
7622 * testsuite/23_containers/vector/requirements/dr438/
7623 constructor_1_neg.cc: Likewise.
7624 * testsuite/23_containers/vector/requirements/dr438/
7625 constructor_2_neg.cc: Likewise.
7626 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
7627 Likewise.
7628
e539b4ff
JW
7629 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
7630 for different construct/destroy counts in C++98 mode.
7631
c3c2f973
JW
7632 * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
7633 dg-options to dg-additional-options so that default options are used.
7634 * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
7635 Likewise.
7636 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
7637 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
7638 Likewise.
7639 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7640 Use dg-additional-options instead of repeating the common options.
7641
2de6b254
JW
7642 * testsuite/22_locale/conversions/string/1.cc: Remove unintended
7643 dg-do compile directive.
7644 * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
7645 dg-do directive.
7646 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
7647
ca8f2cb1
VV
76482016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
7649
7650 Implement std::string_view and P0254r2,
7651 Integrating std::string_view and std::string.
7652 * include/Makefile.am: Add string_view and string_view.tcc
7653 to the exported headers.
7654 * include/Makefile.in: Likewise.
7655 * include/bits/basic_string.h: Include <string_view> in C++17 mode.
7656 (__sv_type): New.
7657 (basic_string(__sv_type, const _Alloc&)): Likewise.
7658 (operator=(__sv_type)): Likewise.
7659 (operator __sv_type()): Likewise.
7660 (operator+=(__sv_type)): Likewise.
7661 (append(__sv_type __sv)): Likewise.
7662 (append(__sv_type, size_type, size_type)): Likewise.
7663 (assign(__sv_type)): Likewise.
7664 (assign(__sv_type, size_type, size_type)): Likewise.
7665 (insert(size_type, __sv_type)): Likewise.
7666 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
7667 (replace(size_type, size_type, __sv_type)): Likewise.
7668 (replace(size_type, size_type, __sv_type, size_type, size_type)):
7669 Likewise.
7670 (replace(const_iterator, const_iterator, __sv_type)): Likewise.
7671 (find(__sv_type, size_type)): Likewise.
7672 (rfind(__sv_type, size_type)): Likewise.
7673 (find_first_of(__sv_type, size_type)): Likewise.
7674 (find_last_of(__sv_type, size_type)): Likewise.
7675 (find_first_not_of(__sv_type, size_type)): Likewise.
7676 (find_last_not_of(__sv_type, size_type)): Likewise.
7677 (compare(__sv_type)): Likewise.
7678 (compare(size_type, size_type, __sv_type)): Likewise.
7679 (compare(size_type, size_type, __sv_type, size_type, size_type)):
7680 Likewise.
7681 * include/bits/string_view.tcc: New.
7682 * include/std/string_view: Likewise.
7683 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
7684 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
7685 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
7686 Likewise.
7687 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
7688 Likewise.
7689 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
7690 Likewise.
7691 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
7692 Likewise.
7693 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
7694 Likewise.
7695 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
7696 Likewise.
7697 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
7698 Likewise.
7699 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
7700 Likewise.
7701 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
7702 Likewise.
7703 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
7704 Likewise.
7705 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
7706 Likewise.
7707 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
7708 Likewise.
7709 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
7710 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
7711 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
7712 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
7713 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
7714 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
7715 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
7716 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
7717 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
7718 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
7719 Likewise.
7720 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
7721 Likewise.
7722 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
7723 Likewise.
7724 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
7725 Likewise.
7726 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
7727 Likewise.
7728 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
7729 Likewise.
7730 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
7731 Likewise.
7732 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
7733 Likewise.
7734 * testsuite/21_strings/basic_string_view/include.cc: Likewise.
7735 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
7736 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
7737 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
7738 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
7739 Likewise.
7740 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
7741 Likewise.
7742 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
7743 Likewise.
7744 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
7745 Likewise.
7746 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
7747 Likewise.
7748 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
7749 Likewise.
7750 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
7751 Likewise.
7752 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
7753 Likewise.
7754 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
7755 Likewise.
7756 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
7757 Likewise.
7758 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
7759 Likewise.
7760 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
7761 Likewise.
7762 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
7763 Likewise.
7764 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
7765 Likewise.
7766 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
7767 Likewise.
7768 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
7769 Likewise.
7770 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
7771 Likewise.
7772 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
7773 Likewise.
7774 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
7775 Likewise.
7776 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
7777 Likewise.
7778 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
7779 Likewise.
7780 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
7781 Likewise.
7782 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
7783 Likewise.
7784 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
7785 Likewise.
7786 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
7787 Likewise.
7788 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
7789 Likewise.
7790 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
7791 Likewise.
7792 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
7793 Likewise.
7794 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
7795 Likewise.
7796 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
7797 Likewise.
7798 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
7799 Likewise.
7800 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
7801 Likewise.
7802 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
7803 Likewise.
7804 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
7805 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
7806 Likewise.
7807 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
7808 Likewise.
7809 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
7810 Likewise.
7811 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
7812 Likewise.
7813 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
7814 Likewise.
7815 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
7816 Likewise.
7817 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
7818 Likewise.
7819 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
7820 Likewise.
7821 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
7822 Likewise.
7823 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
7824 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
7825
427f68c6
JW
78262016-07-27 Jonathan Wakely <jwakely@redhat.com>
7827
7828 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
7829
a837417c
GC
78302016-07-25 Georeth Chow <georeth2010@gmail.com>
7831
7832 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
7833 _S_concat enumerator.
7834 * testsuite/ext/rope/6.cc: New test.
7835
19bb30c0
JW
78362016-07-25 Jonathan Wakely <jwakely@redhat.com>
7837
7838 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
7839 std::mt19937, std::thread and std::atomic to simplify test.
7840 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
7841
960637ac
JW
78422016-07-22 Jonathan Wakely <jwakely@redhat.com>
7843
8cab3d18
JW
7844 PR libstdc++/71964
7845 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
7846 (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
7847 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
7848 * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
7849 * testsuite/23_containers/set/allocator/71964.cc: New test.
7850
960637ac
JW
7851 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
7852 delete[] instead of delete.
7853
22620c14
JW
78542016-07-21 Jonathan Wakely <jwakely@redhat.com>
7855
8b649cd3
JW
7856 * include/experimental/propagate_const (propagate_const::__t): Rename
7857 to _M_t and remove comment. Qualify std::move and std::forward.
7858 * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
7859
509b778f
JW
7860 * testsuite/23_containers/vector/zero_sized_allocations.cc:
7861 Define sized deallocation function.
7862 * testsuite/util/testsuite_new_operators.h:
7863 (operator delete(void*, const std::nothrow_t&)): Define nothrow
7864 deallocation function.
7865
e93a101f
JW
7866 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
7867 reads past the end of strings.
7868 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
7869 Likewise.
7870 * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
7871 invalid array accesses.
7872 * testsuite/experimental/string_view/operations/compare/char/1.cc:
7873 Fix read past the end of string.
7874 * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
7875
0a024155
JW
7876 * testsuite/24_iterators/container_access.cc: Fix missing returns.
7877 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
7878
22620c14
JW
7879 * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
7880 leak) memory for arguments to placement delete.
7881 * testsuite/20_util/addressof/1.cc: Don't leak memory.
7882 * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
7883 * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
7884 Likewise.
7885
18407bfb
JW
78862016-07-20 Jonathan Wakely <jwakely@redhat.com>
7887
09a855ae
JW
7888 * doc/xml/manual/intro.xml: Document DR 2684 status.
7889 * doc/html/*: Regenerate.
7890
e87b7d52
JW
7891 * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
7892 (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
7893 (atomic_uint64_t): Define (LWG 2441).
7894 * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
7895 lines.
7896 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
7897 the new types.
7898 * doc/xml/manual/intro.xml: Document DR 2441 status.
7899
07c772ed
JW
7900 * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
7901 to use perfect forwarding (LWG 2328).
7902 * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
7903 * doc/xml/manual/intro.xml: Document DR 2328 status.
7904
18407bfb
JW
7905 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
7906 static objects for catching nullptr as pointer to member types.
7907
40f3e913
VV
79082016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
7909
7910 Clean up optional's comments.
7911 * include/std/optional: Remove incorrect section headers
7912 from comments when redundant, replace bare section
7913 headers with more descriptive comments.
7914
479d0ed5
JW
79152016-07-15 Jonathan Wakely <jwakely@redhat.com>
7916
4f5f9962
JW
7917 * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
7918 * include/bits/move.h: Likewise.
7919 * include/bits/postypes.h: Likewise.
7920 * include/debug/bitset: Likewise.
7921 * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
7922 * include/ext/string_conversions.h: Change C++0x to __cxx11 in
7923 comment.
7924 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
7925 * testsuite/util/thread/all.h: Likewise.
7926
d1129d45
JW
7927 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
7928 and adjust comment.
7929
479d0ed5
JW
7930 PR c++/58796
7931 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
7932 nullptr match handlers of pointer type.
7933
4db1cb44
ESR
79342016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
7935
7936 Implement C++17 P0025 clamp.
7937 * include/bits/algorithmfwd.h: Declare clamp overloads.
7938 * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp.
7939 * testsuite/25_algorithms/clamp/1.cc: New test.
7940 * testsuite/25_algorithms/clamp/2.cc: New test.
7941 * testsuite/25_algorithms/clamp/constexpr.cc: New test.
7942 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
7943 1.cc: New test.
7944 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
7945 pod.cc: New test.
7946
1ec0f763
VV
79472016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
7948
7949 Fix the constraints for any's assignment operator template to properly
7950 reject assignment from a non-copyable lvalue.
7951 * include/std/any (operator=(_ValueType&&)): Constrain the decayed
7952 type for is_copy_constructible,
7953 * testsuite/20_util/any/requirements.cc: Add a test for
7954 non-copyable lvalues.
7955
0a2bf188
JW
79562016-07-14 Jonathan Wakely <jwakely@redhat.com>
7957
ea5ec6b7
JW
7958 * include/experimental/functional: Include <parallel/algorithm> in
7959 Parallel Mode.
7960
47d5cb3c
JW
7961 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
7962 for std::search.
7963
0a2bf188
JW
7964 PR libstdc++/70716
7965 * include/bits/forward_list.h (forward_list): Update doxygen comments
7966 to reflect allocator propagation semantics. Remove ambiguous
7967 statements about data being lost.
7968 * include/bits/stl_deque.h (deque): Likewise.
7969 * include/bits/stl_list.h (list): Likewise.
7970 * include/bits/stl_map.h (map): Likewise.
7971 * include/bits/stl_multimap.h (multimap): Likewise.
7972 * include/bits/stl_multiset.h (multiset): Likewise.
7973 * include/bits/stl_set.h (set): Likewise.
7974 * include/bits/stl_vector.h (vector): Likewise.
7975 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
7976 Likewise.
7977 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
7978 Likewise.
7979
25a69162
VV
79802016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
7981
7982 Implement P0032R3, Homogeneous interface for variant, any and optional,
7983 for the parts concerning any and optional.
7984 * include/std/any (_Storage()): Make constexpr and have it
7985 initialize _M_ptr.
7986 (any()): Make constexpr.
7987 (any(const any&)): Adjust.
7988 (any(any&&)): Likewise.
7989 (__any_constructible_t): New.
7990 (any(_ValueType&&)): Constrain.
7991 (any(in_place_type_t<_Tp>, _Args&&...)): New.
7992 (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
7993 Likewise.
7994 (~any()): Adjust.
7995 (operator=(const any&)): Likewise.
7996 (operator=(any&&)): Likewise.
7997 (operator=(_ValueType&&)): Constrain.
7998 (emplace(_Args&&...)): New.
7999 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
8000 (clear()): Remove.
8001 (reset()): New.
8002 (swap(any&)): Adjust.
8003 (empty()): Remove.
8004 (has_value()): New.
8005 (type()): Adjust.
8006 (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
8007 (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
8008 (make_any(_Args&&...)): Likewise.
8009 (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
8010 * include/std/optional (in_place_t, in_place): Remove.
8011 (bad_optional_access): Add a comment referring to LEWG 72.
8012 (emplace(_Args&&...)): Constrain.
8013 (has_value()): New.
8014 (reset()): Likewise.
8015 (make_optional(_Args&&...)): Likewise.
8016 (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
8017 * include/std/utility (in_place_tag): New.
8018 (__in_place, __in_place_type, __in_place_index): Likewise.
8019 (in_place_t, in_place_type_t, in_place_index_t): Likewise.
8020 (in_place(__in_place*)): Likewise.
8021 (in_place(__in_place_type<_Tp>*)): Likewise.
8022 (in_place(__in_place_index<_Idx>*)): Likewise.
8023 * testsuite/20_util/any/assign/1.cc: Adjust.
8024 * testsuite/20_util/any/assign/emplace.cc: New.
8025 * testsuite/20_util/any/assign/self.cc: Adjust.
8026 * testsuite/20_util/any/cons/1.cc: Likewise.
8027 * testsuite/20_util/any/cons/in_place.cc: New.
8028 * testsuite/20_util/any/make_any.cc: Likewise.
8029 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
8030 * testsuite/20_util/any/misc/swap.cc: Likewise.
8031 * testsuite/20_util/any/modifiers/1.cc: Likewise.
8032 * testsuite/20_util/any/requirements.cc: New.
8033 * testsuite/20_util/in_place/requirements.cc: Likewise.
8034 * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
8035 * testsuite/20_util/optional/in_place.cc: Likewise.
8036 * testsuite/20_util/optional/make_optional.cc: Add tests for
8037 the new overloads of make_optional.
8038
c0d31471
VV
80392016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
8040
8041 Implement P0307R2, Making Optional Greater Equal Again.
8042 * include/experimental/optional (_Has_addressof): Fix the comment.
8043 * include/std/optional (_Has_addressof): Likewise.
8044 (operator=(_Up&&)): Constrain.
8045 (operator=(const optional<_Up>&)): Likewise.
8046 (operator=(optional<_Up>&&)): Likewise.
8047 (__optional_relop_t): New.
8048 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8049 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
8050 Constrain and make transparent.
8051 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8052 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
8053 Constrain and make transparent.
8054 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8055 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8056 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
8057 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
8058 (operator!=(const optional<_Tp>&, _Tp const&)):
8059 Constrain and make transparent.
8060 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
8061 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
8062 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
8063 (operator>(const optional<_Tp>&, const _Tp&)):
8064 Constrain and make transparent.
8065 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
8066 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
8067 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
8068 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
8069 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
8070 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
8071 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8072 * testsuite/20_util/optional/relops/1.cc: Likewise.
8073 * testsuite/20_util/optional/relops/2.cc: Likewise.
8074 * testsuite/20_util/optional/relops/3.cc: Likewise.
8075 * testsuite/20_util/optional/relops/4.cc: Likewise.
8076 * testsuite/20_util/optional/requirements.cc: Add tests to verify
8077 that optional's relops are transparent and don't synthesize
8078 operators. Also test that assignment sfinaes.
8079
260d92cd
JW
80802016-07-13 Jonathan Wakely <jwakely@redhat.com>
8081
e383deac
JW
8082 PR libstdc++/71856
8083 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
8084 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
8085 Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
8086 on _GLIBCXX_ASSERTIONS.
8087 * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
8088 Include <unistd.h> for sleep.
8089 * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
8090 * include/parallel/merge.h: Likewise.
8091 * include/parallel/multiway_merge.h: Likewise.
8092 * include/parallel/partition.h: Likewise.
8093 * include/parallel/queue.h: Likewise.
8094 * include/parallel/sort.h: Likewise.
8095 * testsuite/25_algorithms/headers/algorithm/
8096 parallel_algorithm_assert.cc: New.
8097
17f8dc93
JW
8098 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
8099 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
8100 Forward to different overload.
8101
260d92cd
JW
8102 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
8103 static.
8104
2d60da10
JW
81052016-07-13 Jonathan Wakely <jwakely@redhat.com>
8106
8107 Revert "Add non-const overload of std::string::data()".
8108
05505e9d
VV
81092016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
8110
86c0ec1d
VV
8111 Implement P0307R2, Making Optional Greater Equal Again.
8112 * include/experimental/optional (_Has_addressof): Fix the comment.
8113 * include/std/optional (_Has_addressof): Likewise.
8114 (operator=(_Up&&)): Constrain.
8115 (operator=(const optional<_Up>&)): Likewise.
8116 (operator=(optional<_Up>&&)): Likewise.
8117 (__optional_relop_t): New.
8118 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8119 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
8120 Constrain and make transparent.
8121 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8122 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
8123 Constrain and make transparent.
8124 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8125 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8126 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
8127 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
8128 (operator!=(const optional<_Tp>&, _Tp const&)):
8129 Constrain and make transparent.
8130 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
8131 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
8132 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
8133 (operator>(const optional<_Tp>&, const _Tp&)):
8134 Constrain and make transparent.
8135 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
8136 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
8137 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
8138 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
8139 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
8140 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
8141 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8142 * testsuite/20_util/optional/relops/1.cc: Likewise.
8143 * testsuite/20_util/optional/relops/2.cc: Likewise.
8144 * testsuite/20_util/optional/relops/3.cc: Likewise.
8145 * testsuite/20_util/optional/relops/4.cc: Likewise.
8146 * testsuite/20_util/optional/requirements.cc: Add tests to verify
8147 that optional's relops are transparent and don't synthesize
8148 operators. Also test that assignment sfinaes.
8149
ceea48fc
JW
81502016-07-13 Jonathan Wakely <jwakely@redhat.com>
8151
8152 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
8153 New function.
8154 (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
8155 instead of _M_data().
8156 (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
8157 Likewise.
8158 (append(const basic_string&)): Likewise.
8159 (append(const basic_string&, size_type, size_type)): Likewise.
8160 (assign(const basic_string&, size_type, size_type)): Likewise.
8161 (insert(size_type, const basic_string&)): Likewise.
8162 (insert(size_type, const basic_string&, size_type, size_type)):
8163 Likewise.
8164 (replace(size_type, size_type, const basic_string&, size_type,
8165 size_type)): Likewise.
8166 (replace(__const_iterator, __const_iterator, const basic_string&)):
8167 Likewise.
8168 (c_str(), data()): Use c_str() instead of _M_data().
8169 (data()): Add non-const overload as per LWG 2391 and P0272R1.
8170 (compare(const basic_string&)): Use data() instead of _M_data().
8171 [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
8172 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
8173 Pass raw pointers to _S_copy.
8174 (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
8175 _S_assign.
8176 (find(const _CharT*, size_type, size_type)): Use data instead of
8177 _M_data().
8178 * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
8179 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
8180 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
8181
17b31c05
JW
81822016-07-12 Jonathan Wakely <jwakely@redhat.com>
8183
7cbadfdc
JW
8184 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
8185 * doc/xml/manual/intro.xml: Document DR 2458 status.
8186 * doc/html*: Regenerate.
8187
1b24fb4c
JW
8188 * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
8189 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
8190 Only include <array>.
8191 * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
8192 Likewise.
1b1c16e0 8193 * doc/xml/manual/intro.xml: Document LWG 2212 support.
1b24fb4c
JW
8194 * doc/html*: Regenerate.
8195
17b31c05
JW
8196 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8197 Add testcase from LWG 2164.
8198
76225d2c
FD
81992016-07-11 François Dumont <fdumont@gcc.gnu.org>
8200
8201 * include/bits/stl_vector.h (push_back(const value_type&)): Forward
8202 to _M_realloc_insert.
8203 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
8204 (_M_realloc_insert): Declare new function.
8205 (_M_emplace_back_aux): Remove definition.
8206 * include/bits/vector.tcc (emplace_back(_Args...)):
8207 Use _M_realloc_insert.
8208 (insert(const_iterator, const value_type&)): Likewise.
8209 (_M_insert_rval, _M_emplace_aux): Likewise.
8210 (_M_emplace_back_aux): Remove declaration.
8211 (_M_realloc_insert): Define.
8212 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
8213 Adjust expected results for emplacing an lvalue with reallocation.
8214
435e56fb
VV
82152016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
8216
8217 Implement std::optional.
8218 * include/Makefile.am: Add optional to exported headers.
8219 * include/Makefile.in: Likewise.
8220 * include/std/optional: New.
8221 * testsuite/20_util/optional/typedefs.cc: Likewise.
8222 * testsuite/20_util/optional/relops/2.cc: Likewise.
8223 * testsuite/20_util/optional/relops/3.cc: Likewise.
8224 * testsuite/20_util/optional/relops/4.cc: Likewise.
8225 * testsuite/20_util/optional/relops/5.cc: Likewise.
8226 * testsuite/20_util/optional/relops/1.cc: Likewise.
8227 * testsuite/20_util/optional/relops/6.cc: Likewise.
8228 * testsuite/20_util/optional/nullopt.cc: Likewise.
8229 * testsuite/20_util/optional/in_place.cc: Likewise.
8230 * testsuite/20_util/optional/make_optional.cc: Likewise.
8231 * testsuite/20_util/optional/assignment/2.cc: Likewise.
8232 * testsuite/20_util/optional/assignment/3.cc: Likewise.
8233 * testsuite/20_util/optional/assignment/4.cc: Likewise.
8234 * testsuite/20_util/optional/assignment/5.cc: Likewise.
8235 * testsuite/20_util/optional/assignment/1.cc: Likewise.
8236 * testsuite/20_util/optional/assignment/6.cc: Likewise.
8237 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
8238 * testsuite/20_util/optional/cons/default.cc: Likewise.
8239 * testsuite/20_util/optional/cons/move.cc: Likewise.
8240 * testsuite/20_util/optional/cons/value.cc: Likewise.
8241 * testsuite/20_util/optional/cons/copy.cc: Likewise.
8242 * testsuite/20_util/optional/requirements.cc: Likewise.
8243 * testsuite/20_util/optional/observers/2.cc: Likewise.
8244 * testsuite/20_util/optional/observers/3.cc: Likewise.
8245 * testsuite/20_util/optional/observers/4.cc: Likewise.
8246 * testsuite/20_util/optional/observers/5.cc: Likewise.
8247 * testsuite/20_util/optional/observers/1.cc: Likewise.
8248 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
8249 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
8250 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8251 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
8252 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
8253 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
8254 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
8255 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
8256 * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
8257 * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
8258 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
8259 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
8260 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
8261 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
8262 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
8263 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
8264 * testsuite/20_util/optional/swap/1.cc: Likewise.
8265
d81102f4
JW
82662016-07-08 Jonathan Wakely <jwakely@redhat.com>
8267
8268 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
8269
9fc0faf0
JW
82702016-07-07 Jonathan Wakely <jwakely@redhat.com>
8271
8272 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
8273 * doc/html/*: Regenerate.
8274
52e86221
VV
82752016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
8276
8277 Implement std::any.
8278 * include/Makefile.am: Add any and c++17_warning.h to exported headers.
8279 * include/Makefile.in: Likewise.
8280 * include/std/any: New.
8281 * testsuite/20_util/any/assign/1.cc: Likewise.
8282 * testsuite/20_util/any/assign/2.cc: Likewise.
8283 * testsuite/20_util/any/assign/self.cc: Likewise.
8284 * testsuite/20_util/any/cons/1.cc: Likewise.
8285 * testsuite/20_util/any/cons/2.cc: Likewise.
8286 * testsuite/20_util/any/cons/aligned.cc: Likewise.
8287 * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
8288 * testsuite/20_util/any/misc/any_cast.cc: Likewise.
8289 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
8290 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
8291 * testsuite/20_util/any/misc/swap.cc: Likewise.
8292 * testsuite/20_util/any/modifiers/1.cc: Likewise.
8293 * testsuite/20_util/any/observers/type.cc: Likewise.
8294 * testsuite/20_util/any/typedefs.cc: Likewise.
8295
3042e708
VV
82962016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
8297
8298 Add a new header for diagnosing the use of C++17 facilities
8299 in pre-C++17 modes.
8300 * include/bits/c++17_warning.h: New.
8301
6ffe8548
VV
83022016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
8303
8304 Implement LWG 2451, optional<T> should 'forward' T's
8305 implicit conversions.
8306 * include/experimental/optional (__is_optional_impl, __is_optional):
8307 New.
8308 (optional()): Make constexpr and default.
8309 (optional(_Up&&), optional(const optional<_Up>&),
8310 optional(optional<_Up>&& __t): New.
8311 (operator=(_Up&&)): Constrain.
8312 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
8313 * testsuite/experimental/optional/cons/value.cc:
8314 Add tests for the functionality added by LWG 2451.
8315 * testsuite/experimental/optional/cons/value_neg.cc: New.
8316
7d4f48b5
VV
83172016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
8318
8319 Implement LWG 2509,
8320 any_cast doesn't work with rvalue reference targets and cannot
8321 move with a value target.
8322 * include/experimental/any (any(_ValueType&&)): Constrain and
8323 add an overload that doesn't forward.
8324 (any_cast(any&&)): Constrain and add an overload that moves.
8325 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
8326 the functionality added by LWG 2509.
8327
097e8994
FD
83282016-07-04 François Dumont <fdumont@gcc.gnu.org>
8329
8330 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8331 New test.
8332 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
8333 test.
8334
9958c7eb
JW
83352016-07-04 Jonathan Wakely <jwakely@redhat.com>
8336
8337 * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
8338 Define inline. Forward to _M_emplace_aux.
8339 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
8340 (_M_insert_rval, _M_emplace_aux): Declare new functions.
8341 (_Temporary_value): New RAII type using allocator to construct/destroy.
8342 (_S_insert_aux_assign): Remove.
8343 (_M_insert_aux): Make non-variadic.
8344 * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
8345 Use _Temporary_value.
8346 (emplace(const_iterator, _Args&&...)): Remove definition.
8347 (_M_insert_rval, _M_emplace_aux): Define.
8348 (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
8349 (_M_fill_insert): Use _Temporary_value.
8350 * testsuite/23_containers/vector/allocator/construction.cc: New test.
8351 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
8352 Adjust expected results for emplacing an lvalue with reallocation.
8353 * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
8354 expected results to account for construction/destruction of temporary
8355 using allocator.
8356 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
8357
e12880f9
VV
83582016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
8359
8360 PR libstdc++/71313
8361 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
8362 Call remove_all for children of a directory.
8363 * testsuite/experimental/filesystem/operations/create_directories.cc:
8364 Adjust.
8365
6c539f2e
FD
83662016-07-02 François Dumont <fdumont@gcc.gnu.org>
8367
8368 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
8369 dg-error line numbers.
8370 * testsuite/23_containers/array/tuple_interface/
8371 tuple_element_debug_neg.cc: Likewise.
8372 * testsuite/25_algorithms/lexicographical_compare/debug/
8373 irreflexive_neg.cc: Remove.
8374
72fb6bae
TP
83752016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
8376
8377 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
8378 than specific target.
8379
dc448fa0
FD
83802016-06-27 François Dumont <fdumont@gcc.gnu.org>
8381
8382 PR libstdc++/71640
8383 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
8384 friend declaration.
8385
e615c24c
FD
83862016-06-23 François Dumont <fdumont@gcc.gnu.org>
8387
8388 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
8389 zero-size array.
8390
0609abda
TS
83912016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8392
8393 * configure.host: Remove mep-* support.
8394
8466af06
TS
83952016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8396
8397 * configure: Regenerate.
8398 * configure.host: Remove support for knetbsd.
8399 * crossconfig.m4: Likewise.
8400
29dbb034
FD
84012016-06-20 François Dumont <fdumont@gcc.gnu.org>
8402
8403 PR libstdc++/71181
8404 * include/tr1/hashtable_policy.h
8405 (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
8406 dereferenceable to avoid check on lower_bound result.
8407 (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
8408 (_Prime_rehash_policy::_M_need_rehash): Likewise.
8409 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
8410 Always return a value greater than input value. Set _M_next_resize to
8411 max value when reaching highest prime number.
8412 * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
8413 being now useless.
8414 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
8415 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
8416 (test02): New.
8417 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
8418 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8419 Fix indentation.
8420
3ebacabd
JW
84212016-06-17 Jonathan Wakely <jwakely@redhat.com>
8422
8423 PR libstdc++/71545
8424 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
8425 Remove irreflexive checks.
8426 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
8427 binary_search): Likewise.
8428 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
8429 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
8430 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
8431 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
8432 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
8433 Add constructor from array.
8434
bd2ee798
FD
84352016-06-16 François Dumont <fdumont@gcc.gnu.org>
8436
8437 * include/debug/debug.h
8438 (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
8439 (__glibcxx_requires_subscript): Move...
8440 * include/debug/assertions.h: ...here and add __builtin_expect.
8441 (_GLIBCXX_DEBUG_ONLY): Remove ; value.
8442 * include/bits/stl_deque.h
8443 (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
8444 (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
8445 (std::deque<>::back()): Likewise.
8446 (std::deque<>::pop_front()): Likewise.
8447 (std::deque<>::pop_back()): Likewise.
8448 (std::deque<>::swap(deque&)): Add allocator check.
8449 * include/bits/stl_vector.h
8450 (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
8451 (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
8452 (std::vector<>::back()): Likewise.
8453 (std::vector<>::pop_back()): Likewise.
8454 (std::vector<>::swap(vector&)): Add allocator check.
8455
6b9539e2
DK
84562016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
8457
8458 Provide swappable traits (p0185r1)
8459 * include/std/type_traits (is_swappable, is_nothrow_swappable,
8460 is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
8461 is_nothrow_swappable_v, is_swappable_with_v,
8462 is_nothrow_swappable_with_v): New.
8463 * include/bits/stl_pair.h: Use it as per p0185r1.
8464 * include/bits/stl_queue.h: Likewise.
8465 * include/bits/stl_stack.h: Likewise.
8466 * include/bits/unique_ptr.h: Likewise.
8467 * include/std/tuple: Likewise.
8468 * include/std/array: Likewise. Fix zero-size member swap.
8469 * include/bits/hashtable.h: Use __and_.
8470 * testsuite/20_util/is_nothrow_swappable/requirements/
8471 explicit_instantiation.cc: Change test options to std=gnu++17.
8472 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
8473 Likewise.
8474 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
8475 * testsuite/20_util/is_swappable/requirements/
8476 explicit_instantiation.cc: Likewise.
8477 * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
8478 * testsuite/20_util/is_swappable/value.cc: Likewise.
8479 * testsuite/20_util/is_nothrow_swappable/requirements/
8480 explicit_instantiation_ext.cc: New.
8481 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
8482 New.
8483 * testsuite/20_util/is_nothrow_swappable/value.h: New.
8484 * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
8485 * testsuite/20_util/is_nothrow_swappable_with/requirements/
8486 explicit_instantiation.cc: New.
8487 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
8488 New.
8489 * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
8490 * testsuite/20_util/is_swappable/requirements/
8491 explicit_instantiation_ext.cc: New.
8492 * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
8493 * testsuite/20_util/is_swappable/value.h: New.
8494 * testsuite/20_util/is_swappable/value_ext.cc: New.
8495 * testsuite/20_util/is_swappable_with/requirements/
8496 explicit_instantiation.cc: New.
8497 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
8498 * testsuite/20_util/is_swappable_with/value.cc: New.
8499 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
8500 dg-error line numbers.
8501 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
8502 Likewise.
8503
0ae207e9
JW
85042016-06-16 Jonathan Wakely <jwakely@redhat.com>
8505
33ac58d5
JW
8506 * include/std/array: Remove trailing whitespace.
8507 * include/std/atomic: Likewise.
8508 * include/std/bitset: Likewise.
8509 * include/std/chrono: Likewise.
8510 * include/std/complex: Likewise.
8511 * include/std/condition_variable: Likewise.
8512 * include/std/fstream: Likewise.
8513 * include/std/functional: Likewise.
8514 * include/std/future: Likewise.
8515 * include/std/iomanip: Likewise.
8516 * include/std/iosfwd: Likewise.
8517 * include/std/istream: Likewise.
8518 * include/std/limits: Likewise.
8519 * include/std/ratio: Likewise.
8520 * include/std/scoped_allocator: Likewise.
8521 * include/std/sstream: Likewise.
8522 * include/std/stdexcept: Likewise.
8523 * include/std/string: Likewise.
8524 * include/std/system_error: Likewise.
8525 * include/std/thread: Likewise.
8526 * include/std/tuple: Likewise.
8527 * include/std/type_traits: Likewise.
8528 * include/std/utility: Likewise.
8529 * include/std/valarray: Likewise.
8530 * include/std/vector: Likewise.
8531
0ae207e9
JW
8532 * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
8533 new overloaded functions.
8534 * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
8535 to avoid creating a redundant temporary.
8536 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
8537 test.
8538
d7e16fc5
FD
85392016-06-15 François Dumont <fdumont@gcc.gnu.org>
8540
8541 * include/bits/stl_deque.h
8542 (std::deque<>::operator=): Call _M_assign_aux.
8543 (std::deque<>::assign(initializer_list<>)): Likewise.
8544 (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8545 (std::deque<>::insert(const_iterator, initializer_list<>)):
8546 Call _M_range_insert_aux.
8547 (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
8548 Likewise.
8549 (std::deque<>::_M_fill_assign): Call _M_fill_insert.
8550 (std::deque<>::_M_move_assign2): Call _M_assign_aux.
8551 * include/bits/deque.tcc
8552 (std::deque<>::operator=): Call _M_range_insert_aux.
8553 (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
8554 Likewise.
8555 * include/bits/stl_vector.h
8556 (std::vector<>::operator=): Call _M_assign_aux.
8557 (std::vector<>::assign(initializer_list<>)): Likewise.
8558 (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8559 (std::vector<>::insert(const_iterator, initializer_list<>)):
8560 Call _M_range_insert.
8561 * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
8562
373c0095
FD
85632016-06-07 François Dumont <fdumont@gcc.gnu.org>
8564
8565 * include/std/tuple (_Head_base<>): Default specialization condition at
8566 type declaration.
8567
dbc6221f
VV
85682016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
8569
8570 Support allocators in tuples of zero size.
8571 * include/std/tuple (tuple<>::tuple(),
8572 tuple<>::tuple(allocator_arg_t, const _Alloc&),
8573 tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
8574 * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
8575
94229fb6
JW
85762016-06-06 Jonathan Wakely <jwakely@redhat.com>
8577
8578 PR libstdc++/71320
8579 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
8580 Add or remove permissions according to perms argument.
8581 * testsuite/experimental/filesystem/operations/permissions.cc: New
8582 test.
8583
7a667453
VV
85842016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
8585
8586 Protect allocator-overloads of tuple-from-tuple constructors
8587 from cases that would create dangling references.
8588 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8589 const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
8590 tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
8591 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
8592
4acc3634
GP
85932016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
8594
8595 * doc/xml/manual/backwards_compatibility.xml: Adjust
8596 lists.debian.org link to https.
8597 * doc/html/manual/backwards.html: Regenerate.
8598
9020909e
JW
85992016-05-27 Jonathan Wakely <jwakely@redhat.com>
8600
8601 * doc/xml/manual/abi.xml: Adjust URL to use https.
8602 * doc/html/manual/*: Regenerate.
8603
b7021006
VV
86042016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
8605
8606 PR libstdc++/66338
8607 * include/std/tuple (_TMC): Add a check for _NotSameTuple.
8608 * include/std/tuple (tuple(_UElements&&...)): Remove the separate
8609 check for _NotSameTuple.
8610 * include/std/tuple (_TMCT): New.
8611 * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
8612 * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
8613 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8614 const tuple<_UElements...>&)): Likewise.
8615 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8616 tuple<_UElements...>&&)): Likewise.
8617 * testsuite/20_util/tuple/cons/66338.cc: New.
8618
834f4c43
JW
86192016-05-25 Jonathan Wakely <jwakely@redhat.com>
8620
c42d2288
JW
8621 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
8622 * configure: Regenerate.
8623 * config.h.in: Regenerate.
8624
834f4c43
JW
8625 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
8626 * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
8627 Remove const qualification on function. Replace
8628 _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
8629 (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
8630 (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
8631
732eb076
FD
86322016-05-24 François Dumont <fdumont@gcc.gnu.org>
8633
8634 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
8635 * include/bits/hashtable_policy.h
8636 (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
8637 having load factor management.
8638 (_Mask_range_hashing): New.
8639 (__clp2): New.
8640 (_Power2_rehash_policy): New.
8641 (_Inserts<>): Remove last template parameter, _Unique_keys, so that
8642 partial specializations only depend on whether iterators are constant
8643 or not.
8644 * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
8645 test new hash policy.
8646 * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
8647 Likewise.
8648 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8649 Likewise.
8650 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
8651 Likewise.
8652 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
8653 Likewise.
8654 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
8655 New.
8656 * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
8657 using the new hash policy.
8658 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
8659
8be062c6
JW
86602016-05-24 Jonathan Wakely <jwakely@redhat.com>
8661
8662 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
8663
447caf82
FD
86642016-05-23 François Dumont <fdumont@gcc.gnu.org>
8665
8666 * include/debug/safe_iterator.h
8667 (_Safe_iterator<>::operator->()): Implement using underlying iterator
8668 operator ->.
8669 * include/debug/safe_local_iterator.h
8670 (_Safe_local_iterator<>::operator->()): Likewise.
8671
11f8114b
TP
86722016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
8673
8674 * testsuite/experimental/memory_resource/1.cc: Add required argument
8675 to dg-require-atomic-builtins.
8676
541a9b10
JW
86772016-05-13 Jonathan Wakely <jwakely@redhat.com>
8678
8679 PR libstdc++/71073
8680 * include/debug/bitset: Add #pragma GCC system_header.
8681 * include/debug/deque: Likewise.
8682 * include/debug/list: Likewise.
8683 * include/debug/map: Likewise.
8684 * include/debug/set: Likewise.
8685 * include/debug/string: Likewise.
8686 * include/debug/unordered_map: Likewise.
8687 * include/debug/unordered_set: Likewise.
8688 * include/debug/vector: Likewise.
8689 * include/debug/functions.h: Adjust whitespace.
8690
068b220e
JW
86912016-05-12 Jonathan Wakely <jwakely@redhat.com>
8692
8693 PR libstdc++/71081
8694 * testsuite/experimental/memory_resource/1.cc: Require atomics.
8695
3d73ae6e
JW
86962016-05-11 Jonathan Wakely <jwakely@redhat.com>
8697
8698 PR libstdc++/71049
8699 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
8700 exception constructors with __sso_string parameters.
8701
d7187f9e
JW
87022016-05-10 Jonathan Wakely <jwakely@redhat.com>
8703
7f99d40a
JW
8704 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
8705 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8706 Test begin and end functions.
8707 * testsuite/experimental/filesystem/iterators/
8708 recursive_directory_iterator.cc: Likewise.
8709
6fe673ad
JW
8710 PR libstdc++/71038
8711 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
8712 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
8713
77a87b2a
JW
8714 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8715 Overload operator* to move from rvalues.
8716
f9a39467
JW
8717 PR libstdc++/71036
8718 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
8719 * testsuite/experimental/filesystem/operations/create_directory.cc:
8720 New test.
8721
6f0800d4
JW
8722 PR libstdc++/71037
8723 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
8724 base path to exception.
8725 * testsuite/experimental/filesystem/operations/canonical.cc: Test
8726 paths contained in exception.
8727
f10b2e1c
JW
8728 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
8729 using declaration.
8730
d7187f9e
JW
8731 PR libstdc++/71005
8732 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8733 New type.
8734 (directory_iterator::operator++(int)): Return proxy.
8735 (recursive_directory_iterator::operator++(int)): Likewise.
8736 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8737 Test post-increment.
8738 * testsuite/experimental/filesystem/iterators/
8739 recursive_directory_iterator.cc: Likewise.
8740
7972e246
JW
87412016-05-09 Jonathan Wakely <jwakely@redhat.com>
8742
8743 PR libstdc++/71004
8744 * testsuite/experimental/filesystem/iterators/
8745 recursive_directory_iterator.cc: Fix test02 to not call member
8746 functions on invalid iterator, and use VERIFY not assert.
8747
fb334765
VV
87482016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
8749
8750 Avoid endless run-time recursion for copying single-element
8751 tuples where the element type is by-value constructible
8752 from any type.
8753 * include/std/tuple (_NotSameTuple): New.
8754 * include/std/tuple (tuple(_UElements&&...): Use it.
8755 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
8756
e4cce0ce
JW
87572016-05-09 Jonathan Wakely <jwakely@redhat.com>
8758
8759 PR libstdc++/71004
8760 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
8761 Initialize scalar member variables in default constructor.
8762 * testsuite/experimental/filesystem/iterators/
d7187f9e 8763 recursive_directory_iterator.cc: Test default construction.
e4cce0ce 8764
40436d81
RO
87652016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8766
8767 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
8768
f5c40ce2
JW
87692016-05-05 Jonathan Wakely <jwakely@redhat.com>
8770
8771 * testsuite/experimental/filesystem/path/native/string.cc: Add
8772 dg-require-filesystem-ts directive.
8773
d9cb3e75
JW
87742016-05-04 Jonathan Wakely <jwakely@redhat.com>
8775
8776 PR libstdc++/70940
8777 * include/experimental/memory_resource
8778 (__resource_adaptor_imp::do_allocate): Do not default-construct
8779 rebound allocator.
8780 (__resource_adaptor_imp::do_deallocate): Likewise. Use
8781 allocator_traits to get pointer type.
8782 (__null_memory_resource::do_allocate): Remove unused parameters.
8783 (__null_memory_resource::do_deallocate): Likewise.
8784 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
8785 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
8786 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
8787 move to ...
8788 * testsuite/experimental/memory_resource/1.cc: Here.
8789 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
8790 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
8791
f92ab29f
CG
87922016-04-29 Chris Gregory <czipperz@gmail.com>
8793
8794 * config/*: Remove trailing whitespace.
8795 * src/*: Likewise.
8796 * testsuite/tr1/*: Likewise.
8797 * testsuite/util/*: Likewise.
8798
272b2ce4
JW
87992016-04-28 Jonathan Wakely <jwakely@redhat.com>
8800
9f9eb84e
JW
8801 PR libstdc++/70766
8802 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
8803 __addressof.
8804 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
8805 Likewise.
8806 * include/std/atomic (atomic<_Tp>): Likewise.
8807 * include/std/shared_mutex (shared_lock): Likewise.
8808 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
8809 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
8810 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
8811 * testsuite/29_atomics/atomic/70766.cc: New test.
8812 * testsuite/30_threads/shared_lock/70766.cc: New test.
8813
272b2ce4
JW
8814 * include/bits/hashtable_policy.h (__detail::_Insert_base,
8815 __detail::_Insert): Improve comments.
8816
45e20696
JW
88172016-04-27 Jonathan Wakely <jwakely@redhat.com>
8818
8819 PR libstdc++/70767
8820 * include/std/limits: Update comments about DRs.
8821 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
8822 numeric_limits<const volatile _Tp>): Define unconditionally.
8823
a635cdb2
JW
88242016-04-24 Jonathan Wakely <jwakely@redhat.com>
8825
8826 PR libstdc++/70762
8827 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
8828 static counter to return a different path on every call.
8829
216f7526
TS
88302016-04-22 Tim Shen <timshen@google.com>
8831
8832 PR libstdc++/70745
8833 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
8834 Fix the match_not_bow and match_not_eow behavior.
8835 * testsuite/28_regex/regression.cc: Add testcase.
8836
a1e1ec76
JW
88372016-04-20 Jonathan Wakely <jwakely@redhat.com>
8838
8839 PR libstdc++/69703
8840 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
8841 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
8842
9c476ad4
JW
88432016-04-19 Jonathan Wakely <jwakely@redhat.com>
8844
29ca91f7 8845 PR libstdc++/69703
a1e1ec76 8846 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
29ca91f7
JW
8847 Override endianness bit in mode.
8848 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
8849 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
8850 that little_endian mode is ignored.
8851 * testsuite/experimental/filesystem/path/native/string.cc: New test.
8852
14905251
JW
8853 PR libstdc++/70609
8854 * src/filesystem/ops.cc (close_fd): New function.
8855 (do_copy_file): Set permissions before copying file contents. Check
8856 result of closing file descriptors. Don't copy streambuf when file
8857 is empty.
8858 (copy(const path&, const path&, copy_options, error_code&)): Use
8859 lstat for source file when copy_symlinks is set.
8860 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
8861
9c476ad4
JW
8862 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
8863 operator~ operator&=, operator|=, operator^=): Add noexcept to
8864 overloaded operators for copy_options, perms and directory_options.
8865 * src/filesystem/ops.cc (make_file_type, make_file_status,
8866 is_not_found_errno, file_time): Add noexcept.
8867
d855ad89
ESR
88682016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
8869
8870 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
8871
8dc1e574
JW
88722016-04-18 Jonathan Wakely <jwakely@redhat.com>
8873
0cded43d
JW
8874 PR libstdc++/41759
8875 * include/bits/random.h: Reword static assertion messages to state
8876 positive conditions.
8877 * include/bits/random.tcc: Likewise.
8878 * include/bits/uniform_int_dist.h: Likewise.
8879 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
8880 patterns.
8881
90751aa7
JW
8882 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
8883
351a5f81
JW
8884 * config/cpu/sh/atomicity.h: Fix typo in comment.
8885
b05cf382
JW
8886 PR libstdc++/70294
8887 * include/std/thread (operator<, operator==): Move definitions to
8888 namespace-scope.
8889 * testsuite/30_threads/thread/id/70294.cc: New test.
8890
4ed6e524
JW
8891 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
8892 -Wno-pedantic to dg-options.
8893 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
8894 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
8895 to dg-options.
8896 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
8897 Remove extra semi-colon.
8898 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
8899 Always supply second argument to static_assert.
8900 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
8901 semi-colon.
8902 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
8903 dg-options.
8904 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
8905 * testsuite/29_atomics/atomic/60695.cc: Likewise.
8906 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
8907 alignof when operand is an object not a type.
8908 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
8909 * testsuite/decimal/make-decimal.cc: Likewise.
8910 * testsuite/experimental/type_traits/value.cc: Always supply second
8911 argument to static_assert.
8912 * testsuite/util/testsuite_common_types.h: Use __extension__ for
8913 __int128 types.
8914
abb6e0a1
JW
8915 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
8916 internal header.
8917 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
8918 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
8919 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
8920 Likewise. Add licence and change to compile-only test.
8921
6b6147dd
JW
8922 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
8923 unused parameter.
8924 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
8925
8dc1e574
JW
8926 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
8927 warnings.
8928
80dbaf98
ESR
89292016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
8930
8931 * include/bits/specfun.h: Trivial comment misspelling.
8932
9f285ccb
JM
89332016-04-14 Jason Merrill <jason@redhat.com>
8934
8935 Revert Jonathan's empty ABI change from yesterday.
8936
342fac95
MS
89372016-04-13 Martin Sebor <msebor@redhat.com>
8938
8939 PR c++/69517
8940 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
8941 upper bound is positive.
8942
a6297ab5
JW
89432016-04-13 Jonathan Wakely <jwakely@redhat.com>
8944
8945 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
8946 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
8947 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
8948 of functions taking empty structs by value. Add a template parameter
8949 to overloads without hints. Rename overloads with hints to
8950 _M_emplace_hint.
8951 (_Hashtable::_M_erase(true_type, const_iterator),
8952 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
8953 by reordering parameters.
8954 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
8955 _M_emplace_hint instead of _M_emplace.
8956 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
8957 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
8958 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
8959 __shared_ptr): Likewise.
8960 * include/bits/stl_algo.h (replace_if): Likewise.
8961 * include/bits/stl_pair.h (piecewise_construct_t,
8962 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
8963 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
8964 __uses_alloc0): Likewise.
8965 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
8966 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
8967 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
8968 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
8969 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
8970 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
8971 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
8972
0c39f36d
ESR
89732016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
8974
8975 Document C++17/TR29124 C++ Special Math Functions.
8976 * include/bits/specfun.h: Add Doxygen markup.
8977
6da8b931
JW
89782016-04-07 Jonathan Wakely <jwakely@redhat.com>
8979
8980 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
8981
49a52ebc
EB
89822016-04-06 Eric Botcazou <ebotcazou@adacore.com>
8983
8984 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
8985 * src/Makefile.in: Regenerate.
8986
87cec93e
JW
89872016-04-05 Jonathan Wakely <jwakely@redhat.com>
8988
d2aee115
JW
8989 PR libstdc++/70554
8990 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
8991 __atomic_fetch_add for bool.
8992 * configure: Regenerate.
8993
d5ec69f3
JW
8994 * testsuite/30_threads/thread/70503.cc: Require -static to work.
8995
87cec93e
JW
8996 PR libstdc++/70503
8997 * src/c++11/thread.cc (execute_native_thread_routine,
8998 execute_native_thread_routine_compat): Give internal linkage.
8999 * testsuite/30_threads/thread/70503.cc: New test.
9000
7b3318c4
VV
90012016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
9002
9003 PR libstdc++/70437
9004 * include/bits/stl_pair.h (_ConstructiblePair,
9005 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
9006 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
9007 for same-type cases.
9008 * testsuite/20_util/pair/70437.cc: New.
9009
00e6c25a
JW
90102016-03-24 Jonathan Wakely <jwakely@redhat.com>
9011
9012 PR libstdc++/69945
9013 * config/abi/pre/gnu.ver: Add new symbol.
9014 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
9015 * testsuite/18_support/free_eh_pool.cc: New test.
9016
bfd84e6b
BE
90172016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
9018
9019 * include/Makefile.am (install-freestanding-headers): Add
9020 concept_check.h and move.h to the installed headers.
9021 * include/Makefile.in: Regenerated.
9022 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
9023 freestanding implementations.
9024 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
9025 that this macro has no effect for freestanding implementations.
9026 * doc/html/manual/using_macros.html: Likewise.
9027
86715b09
JW
90282016-02-24 Jonathan Wakely <jwakely@redhat.com>
9029
9030 PR libstdc++/69939
9031 * include/experimental/tuple (__apply_impl): Qualify get and forward.
9032
9aee022e
JW
90332016-02-23 Jonathan Wakely <jwakely@redhat.com>
9034
be9967e8
JW
9035 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
9036 * doc/html/*: Regenerate.
9037
9aee022e
JW
9038 PR libstdc++/69893
9039 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
9040 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
9041 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
9042 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
9043 trunc) [__cplusplus >= 201103L]: Import from namespace std.
9044 (fabs) [__cplusplus < 201103L]: Import from namespace std.
9045 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
9046 Likewise.
9047 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
9048 namespace before including TR1 headers.
9049 * testsuite/tr1/headers/c++200x/math.cc: New test.
9050
5f6dd593
BE
90512016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
9052
9053 PR libstdc++/69881
9054 * include/c_global/cstdarg: Undefine __need___va_list.
9055 * include/c_global/cstddef: Undefine all kinds of __need_*.
9056
244901a5
TS
90572016-02-16 Tim Shen <timshen@google.com>
9058
9059 PR libstdc++/69794
9060 * include/bits/regex_scanner.h: Add different special character
9061 sets for grep and egrep regex.
9062 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
9063 * testsuite/28_regex/regression.cc: Add new testcase.
9064
cc07da33
JW
90652016-02-08 Jonathan Wakely <jwakely@redhat.com>
9066
2158532f
JW
9067 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
9068 added 'constexpr' in previous commit.
9069 * configure: Regenerate.
9070
cc07da33
JW
9071 PR libstdc++/48891
9072 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
9073 checks for all targets except *-*-solaris2.* and ensure we find the
9074 libc math.h header not our own.
9075 * configure: Regenerate.
9076
acc04646
DV
90772016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
9078
9079 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
9080 New file. Copied over from s390-linux-gnu.
9081
dbcda3ee
JW
90822016-02-04 Jonathan Wakely <jwakely@redhat.com>
9083
3555173f
JW
9084 PR libstdc++/69626
9085 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
9086 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
9087 * config.h.in: Regenerate.
9088 * configure: Regenerate.
9089 * testsuite/21_strings/c_strings/char/69626.cc: New.
9090
15ebf379
JW
9091 * doc/html/index.html: Regenerate.
9092
dbcda3ee
JW
9093 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
9094 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
9095 * doc/html/*: Regenerate.
9096
571512d5
BE
90972016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
9098
9099 PR libstdc++/69581
9100 * include/c_compatibility/math.h: Move header guards.
9101 * include/c_compatibility/stdlib.h: Likewise.
9102
f597d5f7
JW
91032016-01-29 Jonathan Wakely <jwakely@redhat.com>
9104
9105 PR libstdc++/69506
9106 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9107
69b0daeb
JDA
91082016-01-28 John David Anglin <danglin@gcc.gnu.org>
9109
9110 PR libstdc++/69450
9111 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
9112 isinf and isnan functions into two independent checks. Check on hpux.
9113 * config.h.in: Regenerate.
9114 * configure: Regenerate.
9115 * include/c_global/cmath (isinf(double), isnan(double)): Use
9116 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
9117 respectively.
9118
8dc781e4
JJ
91192016-01-27 Jakub Jelinek <jakub@redhat.com>
9120
9121 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
9122
bae87f7f
JW
91232016-01-27 Jonathan Wakely <jwakely@redhat.com>
9124
9125 PR libstdc++/69295
9126 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
9127 -ffp-contract=off, and -ffloat-store to disable excess precision.
9128 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
9129 -ffp-contract=off.
9130
f1d591e8
JW
91312016-01-26 Jonathan Wakely <jwakely@redhat.com>
9132
9133 PR libstdc++/69478
9134 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
9135 random_access_iterator_tag>): Check is_move_assignable when moving.
9136 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
9137 Likewise.
9138 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
9139 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
9140 * testsuite/25_algorithms/move/69478.cc: New.
9141 * testsuite/25_algorithms/move_backward/69478.cc: new.
9142
8964d2a0
AP
91432016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
9144
9145 * include/c_compatibility/stdlib.h: Include wide character related
9146 definitions only when they are available in cstdlib.
9147
2944621e
JW
91482016-01-25 Jonathan Wakely <jwakely@redhat.com>
9149
9150 PR libstdc++/69464
9151 * include/Makefile.am: Add new header.
9152 * include/Makefile.in: Regenerate.
9153 * include/bits/random.h (uniform_int_distribution): Move to
9154 bits/uniform_int_dist.h.
9155 * include/bits/random.tcc (uniform_int_distribution::operator(),
9156 uniform_int_distribution::__generate_impl): Likewise.
9157 * include/bits/uniform_int_dist.h: New header.
9158 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
9159 <bits/uniform_int_dist.h> instead of <random>.
9160 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
9161 move_iterators/1.cc: Include correct header for uninitialized_copy.
9162 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
9163 move_iterators/1.cc: Likewise.
9164 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
9165 header for vector.
9166 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
9167
3676c087
JDA
91682016-01-23 John David Anglin <danglin@gcc.gnu.org>
9169
9170 PR libstdc++/69446
9171 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9172
02dc2419
ESR
91732016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
9174
9175 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
9176 * include/c_compatibility/math.h: Import the TR29124 functions
9177 into the global namespace.
9178 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
9179 xfail and make compile-only.
9180 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
9181 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
9182 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
9183 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
9184 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
9185 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
9186 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
9187 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
9188 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
9189 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
9190 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
9191 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
9192 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
9193 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
9194 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
9195 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
9196 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
9197 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
9198 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
9199 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
9200
350fe282
JW
92012016-01-22 Jonathan Wakely <jwakely@redhat.com>
9202
d1fb377c
JW
9203 PR libstdc++/69116
9204 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
9205 define result_type for types which can be safely used with valarrays.
9206 * testsuite/26_numerics/valarray/69116.cc: New.
9207
350fe282
JW
9208 PR libstdc++/69413
9209 * config/os/gnu-linux/os_defines.h: Define
9210 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
9211 * include/c_global/cmath (isinf, isnan): Check it.
9212 * doc/xml/manual/internals.xml: Document it.
9213 * doc/html/*: Regenerate.
9214
ab56cbed
JW
92152016-01-21 Jonathan Wakely <jwakely@redhat.com>
9216
9217 PR libstdc++/69406
9218 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
9219 * include/ext/type_traits.h: Likewise.
9220 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
9221 for presence of C headers.
9222 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
9223 dg-error line number.
9224 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
9225 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
9226 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
9227
7e10bcfa
TR
92282016-01-20 Torvald Riegel <triegel@redhat.com>
9229
9230 PR libstdc++/69310
9231 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9232
eac437bf
JW
92332016-01-20 Jonathan Wakely <jwakely@redhat.com>
9234
3f93466a
JW
9235 PR libstdc++/60401
9236 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
9237 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
9238 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
9239 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
9240 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
9241 Add using declarations.
9242 * testsuite/26_numerics/headers/cmath/60401.cc: New.
9243
eac437bf
JW
9244 PR libstdc++/69386
9245 * include/c_global/ccomplex: Ensure C++ language linkage.
9246 * include/c_global/cmath: Likewise.
9247 * include/c_global/cstdlib: Likewise.
9248 * include/c_global/ctgmath: Likewise.
9249 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
9250
96e19ada
JW
92512016-01-19 Jonathan Wakely <jwakely@redhat.com>
9252
9253 PR libstdc++/14608
9254 PR libstdc++/60401
9255 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
9256 --enable-cheaders=c_global configs.
9257 * include/Makefile.in: Regenerate.
9258 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
9259 test and allow inclusion from C files.
9260 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
9261 (at_quick_exit, quick_exit): Add using directives.
9262 * include/c_global/cmath: Use #include_next for math.h.
9263 * include/c_global/cstdlib: Use #include_next for stdlib.h.
9264 * testsuite/26_numerics/headers/cmath/14608.cc: New.
9265 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
9266 Remove xfail for most targets.
9267 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
9268
9585381a
TR
92692016-01-18 Torvald Riegel <triegel@redhat.com>
9270
9271 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
9272 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
9273 and move after its definition.
9274 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
9275 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
9276 __GXX_WEAK__, and only provide transactional clones if
9277 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
9278 functions.
9279
f5460595
JW
92802016-01-18 Jonathan Wakely <jwakely@redhat.com>
9281
c91bcffc
JW
9282 PR libstdc++/60637
9283 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
9284
d75d9f91 9285 PR libstdc++/69243
9c5ad80e
JW
9286 * include/std/functional (_Function_base::_M_not_empty_function):
9287 Change overloads for pointers to take arguments by value.
9288 * testsuite/20_util/function/cons/57465.cc: Add tests for
9289 pointer-to-member cases.
9290
f5460595
JW
9291 PR libstdc++/69340
9292 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
9293 Use macros for exception handling and fix unused parameter warning.
9294
271366f6
JDA
92952016-01-17 John David Anglin <danglin@gcc.gnu.org>
9296
9297 PR libstdc++/68734
9298 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
9299
7a5d1d34
TR
93002016-01-17 Torvald Riegel <triegel@redhat.com>
9301
9302 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
9303
5445d5bf
L
93042016-01-16 H.J. Lu <hongjiu.lu@intel.com>
9305
9306 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
9307 __int128 symbols.
9308
3d076231
JW
93092016-01-15 Jonathan Wakely <jwakely@redhat.com>
9310
d7c1581c
JW
9311 PR libstdc++/69293
9312 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
9313 static assertion that type is constructible from the arguments.
9314 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
9315 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
9316 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
9317
3d076231
JW
9318 PR libstdc++/69294
9319 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9320 and isnan on AIX. Quote variables.
9321 * configure: Regenerate.
9322
a04d5fc9
TR
93232016-01-15 Torvald Riegel <triegel@redhat.com>
9324
9325 * include/bits/basic_string.h (basic_string): Declare friends.
9326 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
9327 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
9328 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
9329 length_error, out_of_range, runtime_error, range_error,
9330 underflow_error, overflow_error): Declare members as transaction-safe.
9331 (logic_error, runtime_error): Declare friend functions.
9332 * libsupc++/exception (exception, bad_exception): Declare members as
9333 transaction-safe.
9334 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
9335 transaction-safe members of exceptions and helper functions.
9336 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
9337 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
9338 (CXXABI_1.3.10): New.
9339 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
9340 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
9341 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
9342 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
9343 * include/Makefile.in: Regenerate.
9344 * config.h.in: Regenerate.
9345 * configure: Regenerate.
9346 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
9347
cebeb718
SE
93482016-01-15 Steve Ellcey <sellcey@imgtec.com>
9349
9350 * include/ext/random.tcc: Use __builtin_isfinite instead of
9351 std::isfinite.
9352
3b07547d
JW
93532016-01-15 Jonathan Wakely <jwakely@redhat.com>
9354
9355 * include/bits/std_mutex.h: Fix Doxygen @file name.
9356
2be75957
ESR
93572016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
9358 Jonathan Wakely <jwakely@redhat.com>
9359 Florian Goth <CaptainSifff@gmx.de>
9360
9361 Implement TR29124 C++ special Math Functions.
9362 * include/Makefile.am: Add new headers.
9363 * include/Makefile.in: Regenerate.
9364 * include/bits/specfun.h: New.
9365 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
9366 * include/tr1/bessel_function.tcc: Ditto.
9367 * include/tr1/beta_function.tcc: Ditto.
9368 * include/tr1/cmath: Ditto.
9369 * include/tr1/ell_integral.tcc: Ditto.
9370 * include/tr1/exp_integral.tcc: Ditto.
9371 * include/tr1/gamma.tcc: Ditto.
9372 * include/tr1/hypergeometric.tcc: Ditto.
9373 * include/tr1/legendre_function.tcc: Ditto.
9374 * include/tr1/modified_bessel_func.tcc: Ditto.
9375 * include/tr1/poly_hermite.tcc: Ditto.
9376 * include/tr1/poly_laguerre.tcc: Ditto.
9377 * include/tr1/riemann_zeta.tcc: Ditto.
9378 * include/tr1/special_function_util.h: Ditto.
9379 * testsuite/ext/special_functions/conf_hyperg: New.
9380 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
9381 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
9382 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
9383 * testsuite/ext/special_functions/hyperg: New.
9384 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
9385 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
9386 * testsuite/ext/special_functions/hyperg/compile.cc: New.
9387 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
9388 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
9389 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
9390 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
9391 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
9392 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
9393 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
9394 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
9395 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
9396 * testsuite/special_functions/03_beta/check_nan.cc: New.
9397 * testsuite/special_functions/03_beta/check_value.cc: New.
9398 * testsuite/special_functions/03_beta/compile.cc: New.
9399 * testsuite/special_functions/03_beta/compile_2.cc: New.
9400 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
9401 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
9402 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
9403 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
9404 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
9405 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
9406 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
9407 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
9408 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
9409 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
9410 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
9411 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
9412 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
9413 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
9414 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
9415 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
9416 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
9417 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
9418 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
9419 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
9420 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
9421 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
9422 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
9423 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
9424 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
9425 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
9426 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
9427 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
9428 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
9429 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
9430 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
9431 * testsuite/special_functions/11_ellint_1/compile.cc: New.
9432 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
9433 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
9434 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
9435 * testsuite/special_functions/12_ellint_2/compile.cc: New.
9436 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
9437 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
9438 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
9439 * testsuite/special_functions/13_ellint_3/compile.cc: New.
9440 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
9441 * testsuite/special_functions/14_expint/check_nan.cc: New.
9442 * testsuite/special_functions/14_expint/check_value.cc: New.
9443 * testsuite/special_functions/14_expint/compile.cc: New.
9444 * testsuite/special_functions/14_expint/compile_2.cc: New.
9445 * testsuite/special_functions/15_hermite/check_nan.cc: New.
9446 * testsuite/special_functions/15_hermite/check_value.cc: New.
9447 * testsuite/special_functions/15_hermite/compile.cc: New.
9448 * testsuite/special_functions/15_hermite/compile_2.cc: New.
9449 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
9450 * testsuite/special_functions/16_laguerre/check_value.cc: New.
9451 * testsuite/special_functions/16_laguerre/compile.cc: New.
9452 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
9453 * testsuite/special_functions/17_legendre/check_nan.cc: New.
9454 * testsuite/special_functions/17_legendre/check_value.cc: New.
9455 * testsuite/special_functions/17_legendre/compile.cc: New.
9456 * testsuite/special_functions/17_legendre/compile_2.cc: New.
9457 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
9458 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
9459 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
9460 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
9461 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
9462 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
9463 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
9464 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
9465 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
9466 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
9467 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
9468 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
9469 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
9470 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
9471 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
9472 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
9473 * testsuite/util/specfun_testcase.h: New.
9474 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
9475 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
9476 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
9477 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
9478 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
9479 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
9480 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
9481
39a1d8c8
JW
94822016-01-13 Jonathan Wakely <jwakely@redhat.com>
9483
9484 PR libstdc++/48891
9485 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9486 and isnan functions.
9487 * config.h.in: Regenerate.
9488 * configure: Regenerate.
9489 * include/c_global/cmath (isinf(double), isnan(double))
9490 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
9491 * testsuite/26_numerics/headers/cmath/48891.cc: New.
9492
e862906c
RO
94932016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9494
9495 PR libstdc++/66006
9496 * configure.host (abi_baseline_pair): Use separate baseline for
9497 Solaris 11+ and Solaris 10 with gld.
9498 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
9499 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
9500 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
9501
26b5ace7
DK
95022016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
9503
9504 PR libstdc++/68877
9505 * include/std/type_traits: Following N4511, reimplement __is_swappable
9506 and __is_nothrow_swappable. Move __is_swappable to namespace std,
9507 adjust callers. Use __is_nothrow_swappable in swap.
9508 * include/bits/move.h: Use __is_nothrow_swappable in swap.
9509 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
9510 __is_swappable related tests.
9511 * testsuite/20_util/is_swappable/value.cc: New.
9512 * testsuite/20_util/is_swappable/requirements/
9513 explicit_instantiation.cc: New.
9514 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
9515 * testsuite/25_algorithms/swap/68877.cc: New.
9516
1c3c7c41
JW
95172016-01-12 Jonathan Wakely <jwakely@redhat.com>
9518
bd285a8b
JW
9519 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
9520
1c3c7c41
JW
9521 PR libstdc++/69005
9522 PR libstdc++/69222
9523 * include/std/functional (function::_Invoke): Remove, use result_of.
9524 (function::_Callable): Replace alias template with class template
9525 and use partial specialization instead of _NotSelf alias template.
9526 (function(_Functor)): Add "not self" constraint so that _Callable is
9527 not used while type is incomplete.
9528 * testsuite/20_util/function/69222.cc: New.
9529
1517bc30
JW
95302016-01-11 Jonathan Wakely <jwakely@redhat.com>
9531
9532 PR libstdc++/60976
9533 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
9534 Define partial specialization.
9535 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
9536 destroy members to std::allocator explicit specialization.
9537
e525d78c
JW
95382016-01-08 Jonathan Wakely <jwakely@redhat.com>
9539
8babc12b
JW
9540 * testsuite/26_numerics/headers/cmath/
9541 c99_classification_macros_c++.cc: Rename to ...
9542 * testsuite/26_numerics/headers/cmath/
9543 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
9544 * testsuite/26_numerics/headers/cmath/
9545 c99_classification_macros_c++0x.cc: Rename to ...
9546 * testsuite/26_numerics/headers/cmath/
9547 c99_classification_macros_c++11.cc: Here.
9548
32a8c97f 9549 PR libstdc++/69190
e525d78c
JW
9550 * include/bits/uses_allocator.h: Add missing include.
9551
f885fa89
JW
95522016-01-07 Jonathan Wakely <jwakely@redhat.com>
9553
9554 PR libstdc++/69105
9555 PR libstdc++/69106
9556 PR libstdc++/69114
9557 * include/bits/stl_iterator.h (back_insert_iterator,
9558 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
9559 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
9560 * include/std/future (__future::base::_State_baseV2::__setter):
9561 Likewise.
9562 * include/std/scoped_allocator (__outermost): Likewise.
9563 * testsuite/20_util/scoped_allocator/69114.cc: New.
9564 * testsuite/20_util/uses_allocator/69114.cc: New.
9565 * testsuite/30_threads/promise/69106.cc: New.
9566
0c3e5dd1
JW
95672016-01-06 Jonathan Wakely <jwakely@redhat.com>
9568
373a75fb
JW
9569 PR libstdc++/69092
9570 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
9571 Remove _GLIBCXX_NOEXCEPT.
9572 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
9573
0c3e5dd1
JW
9574 * include/Makefile.am: Adjust.
9575 * include/Makefile.in: Regenerate.
9576 * include/bits/mutex.h: Rename to bits/std_mutex.h.
9577 * include/std/condition_variable: Adjust include.
9578 * include/std/mutex: Likewise.
9579
818ab71a 95802016-01-04 Jakub Jelinek <jakub@redhat.com>
5624e564
JJ
9581
9582 Update copyright years.
b4df5e92 9583\f
818ab71a 9584Copyright (C) 2016 Free Software Foundation, Inc.
b4df5e92
JW
9585
9586Copying and distribution of this file, with or without modification,
9587are permitted in any medium without royalty provided the copyright
9588notice and this notice are preserved.