1 2016-10-14 Jonathan Wakely <jwakely@redhat.com>
3 * include/std/scoped_allocator (scoped_allocator_adaptor): Forward
4 piecewise construction arguments as tuples of references, to avoid
5 copies (related to LWG 2511).
6 * testsuite/20_util/scoped_allocator/construct_pair.cc: New test.
8 2016-10-14 Paolo Carlini <paolo.carlini@oracle.com>
10 * testsuite/26_numerics/accumulate/1.cc: Remove 'test' variables.
11 * testsuite/26_numerics/adjacent_difference/1.cc: Likewise.
12 * testsuite/26_numerics/complex/13450.cc: Likewise.
13 * testsuite/26_numerics/complex/50880.cc: Likewise.
14 * testsuite/26_numerics/complex/c99.cc: Likewise.
15 * testsuite/26_numerics/complex/cons/48760.cc: Likewise.
16 * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
17 * testsuite/26_numerics/complex/dr781_dr1137.cc: Likewise.
18 * testsuite/26_numerics/complex/dr844.cc: Likewise.
19 * testsuite/26_numerics/complex/inserters_extractors/char/1.cc:
21 * testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc:
23 * testsuite/26_numerics/complex/value_operations/1.cc: Likewise.
24 * testsuite/26_numerics/complex/value_operations/dr387.cc: Likewise.
25 * testsuite/26_numerics/headers/cmath/19322.cc: Likewise.
26 * testsuite/26_numerics/headers/cmath/
27 c99_classification_macros_c++11.c: Likewise.c
28 * testsuite/26_numerics/headers/cmath/
29 c99_classification_macros_c++98.cc: Likewise.
30 * testsuite/26_numerics/headers/cmath/c_math.cc: Likewise.
31 * testsuite/26_numerics/headers/cmath/dr550.cc: Likewise.
32 * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
33 * testsuite/26_numerics/headers/cmath/powi.cc: Likewise.
34 * testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise.
35 * testsuite/26_numerics/inner_product/1.cc: Likewise.
36 * testsuite/26_numerics/iota/1.cc: Likewise.
37 * testsuite/26_numerics/partial_sum/1.cc: Likewise.
38 * testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc:
40 * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
42 * testsuite/26_numerics/random/bernoulli_distribution/operators/
44 * testsuite/26_numerics/random/bernoulli_distribution/operators/
46 * testsuite/26_numerics/random/binomial_distribution/cons/default.cc:
48 * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
50 * testsuite/26_numerics/random/binomial_distribution/operators/
52 * testsuite/26_numerics/random/binomial_distribution/operators/
54 * testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
56 * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
58 * testsuite/26_numerics/random/cauchy_distribution/operators/equal.cc:
60 * testsuite/26_numerics/random/cauchy_distribution/operators/
62 * testsuite/26_numerics/random/chi_squared_distribution/cons/
64 * testsuite/26_numerics/random/chi_squared_distribution/cons/
66 * testsuite/26_numerics/random/chi_squared_distribution/operators/
68 * testsuite/26_numerics/random/chi_squared_distribution/operators/
70 * testsuite/26_numerics/random/default_random_engine.cc: Likewise.
71 * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
73 * testsuite/26_numerics/random/discard_block_engine/operators/equal.cc:
75 * testsuite/26_numerics/random/discard_block_engine/operators/
77 * testsuite/26_numerics/random/discard_block_engine/operators/
78 serialize.cc: Likewise.
79 * testsuite/26_numerics/random/discrete_distribution/cons/
81 * testsuite/26_numerics/random/discrete_distribution/cons/
82 initlist.cc: Likewise.
83 * testsuite/26_numerics/random/discrete_distribution/cons/
84 num_xbound_fun.cc: Likewise.
85 * testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
87 * testsuite/26_numerics/random/discrete_distribution/operators/
89 * testsuite/26_numerics/random/discrete_distribution/operators/
91 * testsuite/26_numerics/random/exponential_distribution/cons/
93 * testsuite/26_numerics/random/exponential_distribution/cons/
95 * testsuite/26_numerics/random/exponential_distribution/operators/
97 * testsuite/26_numerics/random/exponential_distribution/operators/
99 * testsuite/26_numerics/random/extreme_value_distribution/cons/
100 default.cc: Likewise.
101 * testsuite/26_numerics/random/extreme_value_distribution/cons/
103 * testsuite/26_numerics/random/extreme_value_distribution/operators/
105 * testsuite/26_numerics/random/extreme_value_distribution/operators/
106 inequal.cc: Likewise.
107 * testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc:
109 * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
111 * testsuite/26_numerics/random/fisher_f_distribution/operators/
113 * testsuite/26_numerics/random/fisher_f_distribution/operators/
114 inequal.cc: Likewise.
115 * testsuite/26_numerics/random/gamma_distribution/cons/default.cc:
117 * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
119 * testsuite/26_numerics/random/gamma_distribution/operators/equal.cc:
121 * testsuite/26_numerics/random/gamma_distribution/operators/
122 inequal.cc: Likewise.
123 * testsuite/26_numerics/random/geometric_distribution/cons/
124 default.cc: Likewise.
125 * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
127 * testsuite/26_numerics/random/geometric_distribution/operators/
129 * testsuite/26_numerics/random/geometric_distribution/operators/
130 inequal.cc: Likewise.
131 * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
133 * testsuite/26_numerics/random/independent_bits_engine/operators/
135 * testsuite/26_numerics/random/independent_bits_engine/operators/
136 inequal.cc: Likewise.
137 * testsuite/26_numerics/random/independent_bits_engine/operators/
138 serialize.cc: Likewise.
139 * testsuite/26_numerics/random/knuth_b.cc: Likewise.
140 * testsuite/26_numerics/random/linear_congruential_engine/cons/
142 * testsuite/26_numerics/random/linear_congruential_engine/cons/
143 default.cc: Likewise.
144 * testsuite/26_numerics/random/linear_congruential_engine/operators/
146 * testsuite/26_numerics/random/linear_congruential_engine/operators/
148 * testsuite/26_numerics/random/linear_congruential_engine/operators/
149 inequal.cc: Likewise.
150 * testsuite/26_numerics/random/linear_congruential_engine/operators/
151 serialize.cc: Likewise.
152 * testsuite/26_numerics/random/lognormal_distribution/cons/default.cc:
154 * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
156 * testsuite/26_numerics/random/lognormal_distribution/operators/
158 * testsuite/26_numerics/random/lognormal_distribution/operators/
159 inequal.cc: Likewise.
160 * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
162 * testsuite/26_numerics/random/mersenne_twister_engine/cons/
163 default.cc: Likewise.
164 * testsuite/26_numerics/random/mersenne_twister_engine/operators/
166 * testsuite/26_numerics/random/mersenne_twister_engine/operators/
167 inequal.cc: Likewise.
168 * testsuite/26_numerics/random/mersenne_twister_engine/operators/
169 serialize.cc: Likewise.
170 * testsuite/26_numerics/random/minstd_rand.cc: Likewise.
171 * testsuite/26_numerics/random/minstd_rand0.cc: Likewise.
172 * testsuite/26_numerics/random/mt19937.cc: Likewise.
173 * testsuite/26_numerics/random/mt19937_64.cc: Likewise.
174 * testsuite/26_numerics/random/negative_binomial_distribution/cons/
175 default.cc: Likewise.
176 * testsuite/26_numerics/random/negative_binomial_distribution/cons/
178 * testsuite/26_numerics/random/negative_binomial_distribution/
179 operators/equal.cc: Likewise.
180 * testsuite/26_numerics/random/negative_binomial_distribution/
181 operators/inequal.cc: Likewise.
182 * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
184 * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
186 * testsuite/26_numerics/random/normal_distribution/operators/
188 * testsuite/26_numerics/random/normal_distribution/operators/
189 inequal.cc: Likewise.
190 * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
191 default.cc: Likewise.
192 * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
193 initlist_fun.cc: Likewise.
194 * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
195 num_xbound_fun.cc: Likewise.
196 * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
198 * testsuite/26_numerics/random/piecewise_constant_distribution/
199 operators/equal.cc: Likewise.
200 * testsuite/26_numerics/random/piecewise_constant_distribution/
201 operators/inequal.cc: Likewise.
202 * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
203 default.cc: Likewise.
204 * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
205 initlist_fun.cc: Likewise.
206 * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
207 num_xbound_fun.cc: Likewise.
208 * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
210 * testsuite/26_numerics/random/piecewise_linear_distribution/
211 operators/equal.cc: Likewise.
212 * testsuite/26_numerics/random/piecewise_linear_distribution/
213 operators/inequal.cc: Likewise.
214 * testsuite/26_numerics/random/poisson_distribution/cons/default.cc:
216 * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
218 * testsuite/26_numerics/random/poisson_distribution/operators/
220 * testsuite/26_numerics/random/poisson_distribution/operators/
221 inequal.cc: Likewise.
222 * testsuite/26_numerics/random/random_device/cons/default.cc: Likewise.
223 * testsuite/26_numerics/random/random_device/cons/token.cc: Likewise.
224 * testsuite/26_numerics/random/ranlux24.cc: Likewise.
225 * testsuite/26_numerics/random/ranlux24_base.cc: Likewise.
226 * testsuite/26_numerics/random/ranlux48.cc: Likewise.
227 * testsuite/26_numerics/random/ranlux48_base.cc: Likewise.
228 * testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Likewise.
229 * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
231 * testsuite/26_numerics/random/shuffle_order_engine/operators/
233 * testsuite/26_numerics/random/shuffle_order_engine/operators/
234 inequal.cc: Likewise.
235 * testsuite/26_numerics/random/shuffle_order_engine/operators/
236 serialize.cc: Likewise.
237 * testsuite/26_numerics/random/student_t_distribution/cons/
238 default.cc: Likewise.
239 * testsuite/26_numerics/random/student_t_distribution/cons/
241 * testsuite/26_numerics/random/student_t_distribution/operators/
243 * testsuite/26_numerics/random/student_t_distribution/operators/
244 inequal.cc: Likewise.
245 * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
247 * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
248 default.cc: Likewise.
249 * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
251 * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
252 inequal.cc: Likewise.
253 * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
254 serialize.cc: Likewise.
255 * testsuite/26_numerics/random/uniform_int_distribution/cons/
256 default.cc: Likewise.
257 * testsuite/26_numerics/random/uniform_int_distribution/cons/
259 * testsuite/26_numerics/random/uniform_int_distribution/operators/
261 * testsuite/26_numerics/random/uniform_int_distribution/operators/
262 inequal.cc: Likewise.
263 * testsuite/26_numerics/random/uniform_real_distribution/cons/
264 default.cc: Likewise.
265 * testsuite/26_numerics/random/uniform_real_distribution/cons/
267 * testsuite/26_numerics/random/uniform_real_distribution/operators/
269 * testsuite/26_numerics/random/uniform_real_distribution/operators/
270 inequal.cc: Likewise.
271 * testsuite/26_numerics/random/weibull_distribution/cons/default.cc:
273 * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
275 * testsuite/26_numerics/random/weibull_distribution/operators/
277 * testsuite/26_numerics/random/weibull_distribution/operators/
278 inequal.cc: Likewise.
279 * testsuite/26_numerics/slice/1.cc: Likewise.
280 * testsuite/26_numerics/slice_array/array_assignment.cc: Likewise.
281 * testsuite/26_numerics/valarray/27867.cc: Likewise.
282 * testsuite/26_numerics/valarray/28277.cc: Likewise.
283 * testsuite/26_numerics/valarray/30416.cc: Likewise.
284 * testsuite/26_numerics/valarray/dr543.cc: Likewise.
285 * testsuite/26_numerics/valarray/dr630-1.cc: Likewise.
286 * testsuite/26_numerics/valarray/dr630-2.cc: Likewise.
287 * testsuite/26_numerics/valarray/dr630-3.C: Likewise.
288 * testsuite/26_numerics/valarray/init-list.cc: Likewise.
289 * testsuite/26_numerics/valarray/moveable.cc: Likewise.
290 * testsuite/26_numerics/valarray/operators.cc: Likewise.
291 * testsuite/26_numerics/valarray/swap.cc: Likewise.
292 * testsuite/experimental/deque/erasure.cc: Likewise.
293 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
295 * testsuite/experimental/filesystem/iterators/
296 recursive_directory_iterator.cc: Likewise.
297 * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
298 * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
299 * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
300 * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
301 * testsuite/experimental/filesystem/operations/create_directories.cc:
303 * testsuite/experimental/filesystem/operations/create_directory.cc:
305 * testsuite/experimental/filesystem/operations/current_path.cc:
307 * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
308 * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
309 * testsuite/experimental/filesystem/operations/last_write_time.cc:
311 * testsuite/experimental/filesystem/operations/permissions.cc: Likewise.
312 * testsuite/experimental/filesystem/operations/status.cc: Likewise.
313 * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
315 * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
316 * testsuite/experimental/forward_list/erasure.cc: Likewise.
317 * testsuite/experimental/list/erasure.cc: Likewise.
318 * testsuite/experimental/map/erasure.cc: Likewise.
319 * testsuite/experimental/memory/shared_ptr/assign/assign.cc: Likewise.
320 * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
322 * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: Likewise.
323 * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: Likewise.
324 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: Likewise.
325 * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc:
327 * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: Likewise.
328 * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
330 * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
332 * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
334 * testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise.
335 * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Likewise.
336 * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: Likewise.
337 * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
339 * testsuite/experimental/memory/shared_ptr/observers/operators.cc:
341 * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
343 * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
345 * testsuite/experimental/memory_resource/1.cc: Likewise.
346 * testsuite/experimental/memory_resource/null_memory_resource.cc:
348 * testsuite/experimental/memory_resource/resource_adaptor.cc: Likewise.
349 * testsuite/experimental/set/erasure.cc: Likewise.
350 * testsuite/experimental/string/erasure.cc: Likewise.
351 * testsuite/experimental/string_view/capacity/1.cc: Likewise.
352 * testsuite/experimental/string_view/cons/char/1.cc: Likewise.
353 * testsuite/experimental/string_view/cons/char/2.cc: Likewise.
354 * testsuite/experimental/string_view/cons/char/3.cc: Likewise.
355 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
356 * testsuite/experimental/string_view/cons/wchar_t/2.cc: Likewise.
357 * testsuite/experimental/string_view/cons/wchar_t/3.cc: Likewise.
358 * testsuite/experimental/string_view/element_access/char/1.cc: Likewise.
359 * testsuite/experimental/string_view/element_access/char/empty.cc:
361 * testsuite/experimental/string_view/element_access/char/
362 front_back.cc: Likewise.
363 * testsuite/experimental/string_view/element_access/wchar_t/1.cc:
365 * testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
367 * testsuite/experimental/string_view/element_access/wchar_t/
368 front_back.cc: Likewise.
369 * testsuite/experimental/string_view/inserters/char/1.cc: Likewise.
370 * testsuite/experimental/string_view/inserters/char/2.cc: Likewise.
371 * testsuite/experimental/string_view/inserters/char/3.cc: Likewise.
372 * testsuite/experimental/string_view/inserters/pod/10081-out.cc:
374 * testsuite/experimental/string_view/inserters/wchar_t/1.cc: Likewise.
375 * testsuite/experimental/string_view/inserters/wchar_t/2.cc: Likewise.
376 * testsuite/experimental/string_view/inserters/wchar_t/3.cc: Likewise.
377 * testsuite/experimental/string_view/modifiers/remove_prefix/char/
379 * testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
381 * testsuite/experimental/string_view/modifiers/remove_suffix/char/
383 * testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
385 * testsuite/experimental/string_view/operations/compare/char/1.cc:
387 * testsuite/experimental/string_view/operations/compare/char/
389 * testsuite/experimental/string_view/operations/compare/wchar_t/
391 * testsuite/experimental/string_view/operations/compare/wchar_t/
393 * testsuite/experimental/string_view/operations/copy/char/1.cc:
395 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
397 * testsuite/experimental/string_view/operations/data/char/1.cc:
399 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
401 * testsuite/experimental/string_view/operations/find/char/1.cc:
403 * testsuite/experimental/string_view/operations/find/char/2.cc:
405 * testsuite/experimental/string_view/operations/find/char/3.cc:
407 * testsuite/experimental/string_view/operations/find/char/4.cc:
409 * testsuite/experimental/string_view/operations/find/wchar_t/1.cc:
411 * testsuite/experimental/string_view/operations/find/wchar_t/2.cc:
413 * testsuite/experimental/string_view/operations/find/wchar_t/3.cc:
415 * testsuite/experimental/string_view/operations/find/wchar_t/4.cc:
417 * testsuite/experimental/string_view/operations/rfind/char/1.cc:
419 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
421 * testsuite/experimental/string_view/operations/rfind/char/3.cc:
423 * testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc:
425 * testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc:
427 * testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc:
429 * testsuite/experimental/string_view/operations/substr/char/1.cc:
431 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
433 * testsuite/experimental/string_view/operations/to_string/1.cc:
435 * testsuite/experimental/string_view/operators/char/2.cc: Likewise.
436 * testsuite/experimental/string_view/operators/wchar_t/2.cc: Likewise.
437 * testsuite/experimental/unordered_map/erasure.cc: Likewise.
438 * testsuite/experimental/unordered_set/erasure.cc: Likewise.
439 * testsuite/experimental/vector/erasure.cc: Likewise.
440 * testsuite/ext/array_allocator/1.cc: Likewise.
441 * testsuite/ext/array_allocator/2.cc: Likewise.
442 * testsuite/ext/array_allocator/3.cc: Likewise.
443 * testsuite/ext/array_allocator/variadic_construct.cc: Likewise.
444 * testsuite/ext/bitmap_allocator/variadic_construct.cc: Likewise.
445 * testsuite/ext/codecvt/1.cc: Likewise.
446 * testsuite/ext/codecvt/char-1.cc: Likewise.
447 * testsuite/ext/codecvt/char-2.cc: Likewise.
448 * testsuite/ext/codecvt/wchar_t.cc: Likewise.
449 * testsuite/ext/enc_filebuf/char/13189.cc: Likewise.
450 * testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
451 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
452 * testsuite/ext/ext_pointer/1.cc: Likewise.
453 * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
454 * testsuite/ext/malloc_allocator/variadic_construct.cc: Likewise.
455 * testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: Likewise.
456 * testsuite/ext/mt_allocator/tune-1.cc: Likewise.
457 * testsuite/ext/mt_allocator/tune-2.cc: Likewise.
458 * testsuite/ext/mt_allocator/tune-3.cc: Likewise.
459 * testsuite/ext/mt_allocator/tune-4.cc: Likewise.
460 * testsuite/ext/mt_allocator/variadic_construct.cc: Likewise.
461 * testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
462 * testsuite/ext/pod_char_traits.cc: Likewise.
463 * testsuite/ext/pool_allocator/variadic_construct.cc: Likewise.
464 * testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise.
465 * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
466 * testsuite/ext/random/arcsine_distribution/operators/equal.cc:
468 * testsuite/ext/random/arcsine_distribution/operators/inequal.cc:
470 * testsuite/ext/random/arcsine_distribution/operators/serialize.cc:
472 * testsuite/ext/random/beta_distribution/cons/default.cc: Likewise.
473 * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
474 * testsuite/ext/random/beta_distribution/operators/equal.cc: Likewise.
475 * testsuite/ext/random/beta_distribution/operators/inequal.cc: Likewise.
476 * testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise.
477 * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
478 * testsuite/ext/random/hoyt_distribution/operators/equal.cc: Likewise.
479 * testsuite/ext/random/hoyt_distribution/operators/inequal.cc: Likewise.
480 * testsuite/ext/random/hoyt_distribution/operators/serialize.cc:
482 * testsuite/ext/random/hypergeometric_distribution/cons/default.cc:
484 * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
486 * testsuite/ext/random/hypergeometric_distribution/operators/
488 * testsuite/ext/random/hypergeometric_distribution/operators/
489 inequal.cc: Likewise.
490 * testsuite/ext/random/hypergeometric_distribution/operators/
491 serialize.cc: Likewise.
492 * testsuite/ext/random/k_distribution/cons/default.cc: Likewise.
493 * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
494 * testsuite/ext/random/k_distribution/operators/equal.cc: Likewise.
495 * testsuite/ext/random/k_distribution/operators/inequal.cc: Likewise.
496 * testsuite/ext/random/k_distribution/operators/serialize.cc: Likewise.
497 * testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise.
498 * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
499 * testsuite/ext/random/logistic_distribution/operators/equal.cc:
501 * testsuite/ext/random/logistic_distribution/operators/inequal.cc:
503 * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
505 * testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise.
506 * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
507 * testsuite/ext/random/nakagami_distribution/operators/equal.cc:
509 * testsuite/ext/random/nakagami_distribution/operators/inequal.cc:
511 * testsuite/ext/random/nakagami_distribution/operators/serialize.cc:
513 * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
514 * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
515 * testsuite/ext/random/normal_mv_distribution/operators/equal.cc:
517 * testsuite/ext/random/normal_mv_distribution/operators/inequal.cc:
519 * testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise.
520 * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
521 * testsuite/ext/random/pareto_distribution/operators/equal.cc: Likewise.
522 * testsuite/ext/random/pareto_distribution/operators/inequal.cc:
524 * testsuite/ext/random/pareto_distribution/operators/serialize.cc:
526 * testsuite/ext/random/rice_distribution/cons/default.cc: Likewise.
527 * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
528 * testsuite/ext/random/rice_distribution/operators/equal.cc: Likewise.
529 * testsuite/ext/random/rice_distribution/operators/inequal.cc: Likewise.
530 * testsuite/ext/random/rice_distribution/operators/serialize.cc:
532 * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/
533 default.cc: Likewise.
534 * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
536 * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
537 inequal.cc: Likewise.
538 * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
539 serialize.cc: Likewise.
540 * testsuite/ext/random/triangular_distribution/cons/default.cc:
542 * testsuite/ext/random/triangular_distribution/cons/parms.cc: Likewise.
543 * testsuite/ext/random/triangular_distribution/operators/equal.cc:
545 * testsuite/ext/random/triangular_distribution/operators/inequal.cc:
547 * testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc:
549 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
551 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
552 generate.cc: Likewise.
553 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
554 inequal.cc: Likewise.
555 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
556 serialize.cc: Likewise.
557 * testsuite/ext/random/von_mises_distribution/cons/default.cc: Likewise.
558 * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
559 * testsuite/ext/random/von_mises_distribution/operators/equal.cc:
561 * testsuite/ext/random/von_mises_distribution/operators/inequal.cc:
563 * testsuite/ext/rope/2.cc: Likewise.
564 * testsuite/ext/rope/3.cc: Likewise.
565 * testsuite/ext/rope/4.cc: Likewise.
566 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
567 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
568 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: Likewise.
569 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
570 * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
571 * testsuite/ext/stdio_filebuf/char/10063-1.cc: Likewise.
572 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
573 * testsuite/ext/stdio_filebuf/char/10063-3.cc: Likewise.
574 * testsuite/ext/stdio_filebuf/char/2.cc: Likewise.
575 * testsuite/ext/stdio_sync_filebuf/char/1.cc: Likewise.
576 * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Likewise.
577 * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Likewise.
578 * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Likewise.
579 * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Likewise.
580 * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise.
581 * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
582 * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Likewise.
583 * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Likewise.
584 * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Likewise.
585 * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Likewise.
586 * testsuite/ext/throw_allocator/variadic_construct.cc: Likewise.
587 * testsuite/ext/type_traits/add_unsigned.cc: Likewise.
588 * testsuite/ext/type_traits/remove_unsigned.cc: Likewise.
589 * testsuite/ext/vstring/capacity/29134.cc: Likewise.
590 * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
591 * testsuite/ext/vstring/cons/58415-1.cc: Likewise.
592 * testsuite/ext/vstring/cons/moveable.cc: Likewise.
593 * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
594 * testsuite/ext/vstring/element_access/char/front_back.cc: Likewise.
595 * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
596 * testsuite/ext/vstring/element_access/wchar_t/front_back.cc: Likewise.
597 * testsuite/ext/vstring/hash/char/1.cc: Likewise.
598 * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
599 * testsuite/ext/vstring/init-list.cc: Likewise.
600 * testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.
601 * testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: Likewise.
602 * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Likewise.
603 * testsuite/ext/vstring/modifiers/pop_back/char/1.cc: Likewise.
604 * testsuite/ext/vstring/modifiers/pop_back/wchar_t/1.cc: Likewise.
605 * testsuite/ext/vstring/operators/1.cc: Likewise.
606 * testsuite/ext/vstring/operators/2.cc: Likewise.
608 2016-10-14 Jonathan Wakely <jwakely@redhat.com>
611 * include/ext/malloc_allocator.h (malloc_allocator::allocate): Use
612 aligned_alloc for types with extended alignment if available,
613 otherwise throw bad_alloc if malloc doesn't return a suitable value.
614 * include/ext/bitmap_allocator.h (bitmap_allocator::allocate)
615 (bitmap_allocator::deallocate): Use aligned new/delete for types with
617 * include/ext/mt_allocator.h (__mt_alloc::allocate)
618 (__mt_alloc::deallocate): Likewise.
619 * include/ext/new_allocator.h (new_allocator::allocate)
620 (new_allocator::deallocate): Likewise.
621 * include/ext/pool_allocator.h (__pool_alloc::allocate)
622 (__pool_alloc::deallocate): Likewise.
623 * testsuite/20_util/allocator/overaligned.cc: New test.
624 * testsuite/ext/bitmap_allocator/overaligned.cc: New test.
625 * testsuite/ext/malloc_allocator/overaligned.cc: New test.
626 * testsuite/ext/mt_allocator/overaligned.cc: New test.
627 * testsuite/ext/new_allocator/overaligned.cc: New test.
628 * testsuite/ext/pool_allocator/overaligned.cc: New test.
630 2016-10-14 Tim Shen <timshen@google.com>
633 * include/std/variant: Include <bits/funcexcept.h> for __try and
636 2016-10-14 Jonathan Wakely <jwakely@redhat.com>
638 * include/std/functional (_Reference_wrapper_base_impl): Remove.
639 (_Refwrap_base_arg1, _Refwrap_base_arg2): New helpers using __void_t.
640 (_Reference_wrapper_base): Inherit from new helpers.
642 2016-10-13 Paolo Carlini <paolo.carlini@oracle.com>
644 * testsuite/24_iterators/container_access.cc: Remove 'test' variables.
645 * testsuite/24_iterators/istream_iterator/2.cc: Likewise.
646 * testsuite/24_iterators/istreambuf_iterator/2.cc: Likewise.
647 * testsuite/24_iterators/istreambuf_iterator/2627.cc: Likewise.
648 * testsuite/24_iterators/operations/next.cc: Likewise.
649 * testsuite/24_iterators/operations/prev.cc: Likewise.
650 * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
651 * testsuite/24_iterators/random_access_iterator/26020.cc: Likewise.
652 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
653 * testsuite/24_iterators/reverse_iterator/11729.cc: Likewise.
654 * testsuite/24_iterators/reverse_iterator/3.cc: Likewise.
655 * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
656 * testsuite/25_algorithms/all_of/1.cc: Likewise.
657 * testsuite/25_algorithms/any_of/1.cc: Likewise.
658 * testsuite/25_algorithms/binary_search/2.cc: Likewise.
659 * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
660 * testsuite/25_algorithms/clamp/1.cc: Likewise.
661 * testsuite/25_algorithms/clamp/2.cc: Likewise.
662 * testsuite/25_algorithms/copy/1.cc: Likewise.
663 * testsuite/25_algorithms/copy/2.cc: Likewise.
664 * testsuite/25_algorithms/copy/3.cc: Likewise.
665 * testsuite/25_algorithms/copy/34595.cc: Likewise.
666 * testsuite/25_algorithms/copy/4.cc: Likewise.
667 * testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
668 * testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
669 * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
670 * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
671 * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
672 * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
673 * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
675 * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
677 * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
679 * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
681 * testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
682 * testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
683 * testsuite/25_algorithms/copy_n/1.cc: Likewise.
684 * testsuite/25_algorithms/copy_n/2.cc: Likewise.
685 * testsuite/25_algorithms/copy_n/3.cc: Likewise.
686 * testsuite/25_algorithms/copy_n/4.cc: Likewise.
687 * testsuite/25_algorithms/copy_n/50119.cc: Likewise.
688 * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
689 * testsuite/25_algorithms/equal_range/2.cc: Likewise.
690 * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
691 * testsuite/25_algorithms/fill/1.cc: Likewise.
692 * testsuite/25_algorithms/fill/2.cc: Likewise.
693 * testsuite/25_algorithms/fill/3.cc: Likewise.
694 * testsuite/25_algorithms/fill/4.cc: Likewise.
695 * testsuite/25_algorithms/fill_n/1.cc: Likewise.
696 * testsuite/25_algorithms/find/39546.cc: Likewise.
697 * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: Likewise.
698 * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Likewise.
699 * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
701 * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
703 * testsuite/25_algorithms/find_if/1.cc: Likewise.
704 * testsuite/25_algorithms/find_if_not/1.cc: Likewise.
705 * testsuite/25_algorithms/for_each/1.cc: Likewise.
706 * testsuite/25_algorithms/heap/1.cc: Likewise.
707 * testsuite/25_algorithms/heap/moveable.cc: Likewise.
708 * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
709 * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
710 * testsuite/25_algorithms/includes/1.cc: Likewise.
711 * testsuite/25_algorithms/inplace_merge/1.cc: Likewise.
712 * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
713 * testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise.
714 * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
715 * testsuite/25_algorithms/is_heap/1.cc: Likewise.
716 * testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
717 * testsuite/25_algorithms/is_partitioned/1.cc: Likewise.
718 * testsuite/25_algorithms/is_permutation/1.cc: Likewise.
719 * testsuite/25_algorithms/is_permutation/2.cc: Likewise.
720 * testsuite/25_algorithms/is_permutation/vectorbool.cc: Likewise.
721 * testsuite/25_algorithms/is_sorted/1.cc: Likewise.
722 * testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
723 * testsuite/25_algorithms/iter_swap/20577.cc: Likewise.
724 * testsuite/25_algorithms/lower_bound/2.cc: Likewise.
725 * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
726 * testsuite/25_algorithms/make_heap/complexity.cc: Likewise.
727 * testsuite/25_algorithms/max/1.cc: Likewise.
728 * testsuite/25_algorithms/max/2.cc: Likewise.
729 * testsuite/25_algorithms/max/3.cc: Likewise.
730 * testsuite/25_algorithms/max/37547.cc: Likewise.
731 * testsuite/25_algorithms/max/4.cc: Likewise.
732 * testsuite/25_algorithms/min/1.cc: Likewise.
733 * testsuite/25_algorithms/min/2.cc: Likewise.
734 * testsuite/25_algorithms/min/3.cc: Likewise.
735 * testsuite/25_algorithms/min/37547.cc: Likewise.
736 * testsuite/25_algorithms/min/4.cc: Likewise.
737 * testsuite/25_algorithms/minmax/1.cc: Likewise.
738 * testsuite/25_algorithms/minmax/2.cc: Likewise.
739 * testsuite/25_algorithms/minmax/3.cc: Likewise.
740 * testsuite/25_algorithms/minmax/37547.cc: Likewise.
741 * testsuite/25_algorithms/minmax_element/1.cc: Likewise.
742 * testsuite/25_algorithms/move/1.cc: Likewise.
743 * testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
744 * testsuite/25_algorithms/move_backward/1.cc: Likewise.
745 * testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
746 * testsuite/25_algorithms/next_permutation/moveable.cc: Likewise.
747 * testsuite/25_algorithms/none_of/1.cc: Likewise.
748 * testsuite/25_algorithms/nth_element/1.cc: Likewise.
749 * testsuite/25_algorithms/nth_element/2.cc: Likewise.
750 * testsuite/25_algorithms/nth_element/3.cc: Likewise.
751 * testsuite/25_algorithms/nth_element/moveable.cc: Likewise.
752 * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
753 * testsuite/25_algorithms/partial_sort/2.cc: Likewise.
754 * testsuite/25_algorithms/partial_sort/check_compare_by_value.cc:
756 * testsuite/25_algorithms/partial_sort/moveable.cc: Likewise.
757 * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
758 * testsuite/25_algorithms/partial_sort_copy/2.cc: Likewise.
759 * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
760 * testsuite/25_algorithms/partition/1.cc: Likewise.
761 * testsuite/25_algorithms/partition/moveable.cc: Likewise.
762 * testsuite/25_algorithms/partition_copy/1.cc: Likewise.
763 * testsuite/25_algorithms/partition_point/1.cc: Likewise.
764 * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
765 * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
766 * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
767 * testsuite/25_algorithms/random_shuffle/1.cc: Likewise.
768 * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
769 * testsuite/25_algorithms/rotate/1.cc: Likewise.
770 * testsuite/25_algorithms/rotate/moveable.cc: Likewise.
771 * testsuite/25_algorithms/rotate/moveable2.cc: Likewise.
772 * testsuite/25_algorithms/rotate/rotate.cc: Likewise.
773 * testsuite/25_algorithms/search/1.cc: Likewise.
774 * testsuite/25_algorithms/search_n/58358.cc: Likewise.
775 * testsuite/25_algorithms/shuffle/1.cc: Likewise.
776 * testsuite/25_algorithms/sort/1.cc: Likewise.
777 * testsuite/25_algorithms/sort/check_compare_by_value.cc: Likewise.
778 * testsuite/25_algorithms/sort/moveable.cc: Likewise.
779 * testsuite/25_algorithms/sort/random_test.cc: Likewise.
780 * testsuite/25_algorithms/sort/vectorbool.cc: Likewise.
781 * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc: Likewise.
782 * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
783 * testsuite/25_algorithms/stable_partition/1.cc: Likewise.
784 * testsuite/25_algorithms/stable_partition/mem_check.cc: Likewise.
785 * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
786 * testsuite/25_algorithms/stable_sort/2.cc: Likewise.
787 * testsuite/25_algorithms/stable_sort/3.cc: Likewise.
788 * testsuite/25_algorithms/stable_sort/49559.cc: Likewise.
789 * testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
791 * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
792 * testsuite/25_algorithms/stable_sort/moveable.cc: Likewise.
793 * testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise.
794 * testsuite/25_algorithms/swap_ranges/1.cc: Likewise.
795 * testsuite/25_algorithms/unique/11480.cc: Likewise.
796 * testsuite/25_algorithms/unique/2.cc: Likewise.
797 * testsuite/25_algorithms/unique/moveable.cc: Likewise.
798 * testsuite/25_algorithms/unique_copy/1.cc: Likewise.
799 * testsuite/25_algorithms/unique_copy/2.cc: Likewise.
800 * testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
801 * testsuite/25_algorithms/upper_bound/2.cc: Likewise.
802 * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
803 * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Likewise.
804 * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc:
806 * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc:
808 * testsuite/28_regex/algorithms/regex_match/basic/
809 string_range_00_03.cc: Likewise.
810 * testsuite/28_regex/algorithms/regex_match/basic/
811 string_range_01_03.cc: Likewise.
812 * testsuite/28_regex/algorithms/regex_match/basic/
813 string_range_02_03.cc: Likewise.
814 * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
816 * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
818 * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
820 * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc:
822 * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
824 * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
826 * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc:
828 * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
830 * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
832 * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Likewise.
833 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
835 * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc:
837 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
839 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/
840 anymatcher.cc: Likewise.
841 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
843 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc:
845 * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
847 * testsuite/28_regex/algorithms/regex_match/extended/
848 cstring_questionmark.cc: Likewise.
849 * testsuite/28_regex/algorithms/regex_match/extended/
850 cstring_range.cc: Likewise.
851 * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
853 * testsuite/28_regex/algorithms/regex_match/extended/
854 string_range_00_03.cc: Likewise.
855 * testsuite/28_regex/algorithms/regex_match/extended/
856 string_range_01_03.cc: Likewise.
857 * testsuite/28_regex/algorithms/regex_match/extended/
858 string_range_02_03.cc: Likewise.
859 * testsuite/28_regex/algorithms/regex_match/extended/
860 wstring_locale.cc: Likewise.
861 * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
863 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc: Likewise.
864 * testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise.
865 * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
867 * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
869 * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Likewise.
870 * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Likewise.
871 * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
873 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
874 * testsuite/28_regex/basic_regex/assign/char/cstring_op.cc: Likewise.
875 * testsuite/28_regex/basic_regex/assign/char/moveable.cc: Likewise.
876 * testsuite/28_regex/basic_regex/assign/char/pstring.cc: Likewise.
877 * testsuite/28_regex/basic_regex/assign/char/range.cc: Likewise.
878 * testsuite/28_regex/basic_regex/assign/char/string.cc: Likewise.
879 * testsuite/28_regex/basic_regex/assign/char/string_op.cc: Likewise.
880 * testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc: Likewise.
881 * testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc: Likewise.
882 * testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc: Likewise.
883 * testsuite/28_regex/basic_regex/assign/wchar_t/range.cc: Likewise.
884 * testsuite/28_regex/basic_regex/assign/wchar_t/string.cc: Likewise.
885 * testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc: Likewise.
886 * testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc:
888 * testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
890 * testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
891 * testsuite/28_regex/basic_regex/ctors/extended/
892 string_range_01_02_03.cc: Likewise.
893 * testsuite/28_regex/basic_regex/ctors/move_char.cc: Likewise.
894 * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
895 * testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc: Likewise.
896 * testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc: Likewise.
897 * testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc: Likewise.
898 * testsuite/28_regex/basic_regex/imbue/string.cc: Likewise.
899 * testsuite/28_regex/constants/error_type.cc: Likewise.
900 * testsuite/28_regex/constants/match_flag_type.cc: Likewise.
901 * testsuite/28_regex/init-list.cc: Likewise.
902 * testsuite/28_regex/iterators/regex_iterator/char/64140.cc: Likewise.
903 * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
905 * testsuite/28_regex/iterators/regex_iterator/char/
906 string_position_01.cc
907 * testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc:
909 * testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/
910 default.cc: Likewise.
911 * testsuite/28_regex/iterators/regex_iterator/typedefs.cc: Likewise.
912 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
914 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
916 * testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Likewise.
917 * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
919 * testsuite/28_regex/iterators/regex_token_iterator/ctors/char/
920 default.cc: Likewise.
921 * testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/
922 default.cc: Likewise.
923 * testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc:
925 * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
926 string_01.cc: Likewise.
927 * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
928 wstring_02.cc: Likewise.
929 * testsuite/28_regex/match_results/ctors/char/default.cc: Likewise.
930 * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
931 * testsuite/28_regex/match_results/format.cc: Likewise.
932 * testsuite/28_regex/match_results/out_of_range_submatches.cc: Likewise.
933 * testsuite/28_regex/match_results/swap.cc: Likewise.
934 * testsuite/28_regex/match_results/typedefs.cc: Likewise.
935 * testsuite/28_regex/regex_error/regex_error.cc: Likewise.
936 * testsuite/28_regex/regression.cc: Likewise.
937 * testsuite/28_regex/sub_match/cast_char.cc: Likewise.
938 * testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
939 * testsuite/28_regex/sub_match/embedded_zeros_cmp.cc: Likewise.
940 * testsuite/28_regex/sub_match/length.cc: Likewise.
941 * testsuite/28_regex/traits/char/ctor.cc: Likewise.
942 * testsuite/28_regex/traits/char/isctype.cc: Likewise.
943 * testsuite/28_regex/traits/char/length.cc: Likewise.
944 * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
945 * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
946 * testsuite/28_regex/traits/char/transform.cc: Likewise.
947 * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
948 * testsuite/28_regex/traits/char/translate.cc: Likewise.
949 * testsuite/28_regex/traits/char/translate_nocase.cc: Likewise.
950 * testsuite/28_regex/traits/char/user_defined.cc: Likewise.
951 * testsuite/28_regex/traits/char/value.cc: Likewise.
952 * testsuite/28_regex/traits/wchar_t/ctor.cc: Likewise.
953 * testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise.
954 * testsuite/28_regex/traits/wchar_t/length.cc: Likewise.
955 * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: Likewise.
956 * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
957 * testsuite/28_regex/traits/wchar_t/transform.cc: Likewise.
958 * testsuite/28_regex/traits/wchar_t/transform_primary.cc: Likewise.
959 * testsuite/28_regex/traits/wchar_t/translate.cc: Likewise.
960 * testsuite/28_regex/traits/wchar_t/translate_nocase.cc: Likewise.
961 * testsuite/28_regex/traits/wchar_t/user_defined.cc: Likewise.
962 * testsuite/28_regex/traits/wchar_t/value.cc: Likewise.
963 * testsuite/29_atomics/atomic/60658.cc: Likewise.
964 * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
965 * testsuite/29_atomics/atomic_flag/clear/1.cc: Likewise.
966 * testsuite/backward/11460.cc: Likewise.
967 * testsuite/backward/hash_map/1.cc: Likewise.
968 * testsuite/backward/hash_map/25896.cc: Likewise.
969 * testsuite/backward/hash_set/1.cc: Likewise.
970 * testsuite/backward/hash_set/25896.cc: Likewise.
971 * testsuite/decimal/binary-arith.cc: Likewise.
972 * testsuite/decimal/comparison.cc: Likewise.
973 * testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
974 * testsuite/decimal/compound-assignment.cc: Likewise.
975 * testsuite/decimal/conversion-from-float.cc: Likewise.
976 * testsuite/decimal/conversion-from-integral.cc: Likewise.
977 * testsuite/decimal/conversion-to-generic-float.cc: Likewise.
978 * testsuite/decimal/conversion-to-integral.cc: Likewise.
979 * testsuite/decimal/ctor.cc: Likewise.
980 * testsuite/decimal/incdec-memfunc.cc: Likewise.
981 * testsuite/decimal/incdec.cc: Likewise.
982 * testsuite/decimal/make-decimal.cc: Likewise.
983 * testsuite/decimal/pr54036-1.cc: Likewise.
984 * testsuite/decimal/pr54036-2.cc: Likewise.
985 * testsuite/decimal/pr54036-3.cc: Likewise.
986 * testsuite/decimal/unary-arith.cc: Likewise.
987 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise.
988 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
990 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise.
991 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
993 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
994 * testsuite/special_functions/03_beta/check_value.cc: Likewise.
995 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
996 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: Likewise.
997 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
998 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: Likewise.
999 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
1000 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Likewise.
1001 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
1002 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Likewise.
1003 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
1004 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
1005 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Likewise.
1006 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
1007 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Likewise.
1008 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
1009 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
1010 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
1011 * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
1012 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
1013 * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
1014 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
1015 * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
1016 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
1017 * testsuite/special_functions/14_expint/check_value.cc: Likewise.
1018 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
1019 * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
1020 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
1021 * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
1022 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
1023 * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
1024 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
1025 * testsuite/special_functions/18_riemann_zeta/check_value.cc: Likewise.
1026 * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
1027 * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
1028 * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
1029 * testsuite/special_functions/20_sph_legendre/check_value.cc: Likewise.
1030 * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
1031 * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
1032 * testsuite/tr2/bases/value.cc: Likewise.
1033 * testsuite/tr2/direct_bases/value.cc: Likewise.
1034 * testsuite/util/debug/checks.h: Likewise.
1035 * testsuite/util/debug/unordered_checks.h: Likewise.
1036 * testsuite/util/testsuite_allocator.h: Likewise.
1037 * testsuite/util/testsuite_api.h: Likewise.
1038 * testsuite/util/testsuite_common_types.h: Likewise.
1039 * testsuite/util/testsuite_random.h: Likewise.
1040 * testsuite/util/testsuite_rvalref.h: Likewise.
1042 2016-10-13 Jonathan Wakely <jwakely@redhat.com>
1044 * include/bits/shared_ptr_base.h: Include <functional>.
1045 [!__cpp_rtti]: Do not include <typeinfo>.
1046 * include/experimental/array: Do not include <functional>.
1047 * include/experimental/memory: Include <bits/functional_hash.h>
1048 instead of <functional>.
1049 * include/experimental/propagate_const: Include <bits/stl_function.h>,
1050 <bits/functional_hash.h>, and <bits/move.h> instead of <functional>.
1051 * include/experimental/tuple: Do not include <functional>.
1052 * include/std/future: Include <functional>.
1053 * include/std/memory: Do not include <functional>.
1054 * include/std/mutex: [_GLIBCXX_HAVE_TLS]: Likewise.
1055 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
1057 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
1058 * testsuite/20_util/specialized_algorithms/memory_management_tools/
1060 * testsuite/30_threads/call_once/60497.cc: Likewise.
1061 * testsuite/30_threads/lock/2.cc: Likewise.
1062 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
1063 * testsuite/experimental/algorithm/sample.cc: Likewise.
1064 * testsuite/experimental/array/make_array.cc: Likewise.
1065 * testsuite/experimental/array/neg.cc: Likewise. Adjust dg-error line.
1066 * testsuite/experimental/propagate_const/assignment/move_neg.cc:
1067 Adjust dg-error lines.
1068 * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
1069 * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
1070 * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
1071 * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
1072 * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
1074 * testsuite/experimental/algorithm/sample.cc: Add missing header.
1076 * include/experimental/propagate_const (element_type): Qualify
1079 * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
1082 * include/experiumental/functional (boyer_moore_searcher)
1083 (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
1084 with _GLIBCXX_STD_C.
1085 * include/std/functional: Likewise.
1087 * include/std/chrono (floor): Replace non-constexpr operation.
1088 * testsuite/20_util/duration_cast/rounding.cc: Test conversion to
1089 durations with floating pointer representations.
1091 * src/c++11/compatibility-thread-c++0x.cc (_Bind_simple)
1092 (_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols.
1094 * include/std/functional (_Bind_simple, _Bind_simple_helper)
1095 (__bind_simple): Remove.
1096 * include/std/future: Include <bits/invoke.h> instead of <functional>.
1097 (__future_base::_Task_state::_M_run)
1098 (__future_base::_Task_state::_M_run_delayed): Use lambda expressions
1099 instead of __bind_simple.
1100 (__future_base::_Task_state::_S_maybe_wrap_ref): Remove.
1101 (async): Use thread::__make_invoker instead of __bind_simple.
1102 * include/std/thread: Include <tuple> and <bits/invoke.h> instead of
1104 (thread::_Invoker, thread::__make_invoker): Define helpers to do
1105 INVOKE(DECAY_COPY(f), DECAY_COPY(args)...).
1107 * include/std/functional (_Not_fn): Make exception specifications
1108 depend on whether negating the result can throw.
1109 * testsuite/20_util/not_fn/1.cc: Move to ...
1110 * testsuite/20_util/function_objects/not_fn/1.cc: ... here. Add tests
1111 for types that can throw when negated and that cannot be negated.
1113 * include/bits/invoke.h (__invoke): Fix exception-specification.
1114 * include/std/functional (invoke): Likewise.
1115 * testsuite/20_util/function_objects/invoke/1.cc: New test.
1117 2016-10-12 Paolo Carlini <paolo.carlini@oracle.com>
1119 * testsuite/util/testsuite_hooks.h: Rewrite VERIFY in terms of
1120 __builtin_printf and __builtin_abort.
1121 * testsuite/lib/libstdc++.exp: Remove _GLIBCXX_ASSERT use.
1122 * scripts/testsuite_flags.in: Likewise.
1123 * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
1124 * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
1125 * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
1126 * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
1127 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise, adjust.
1128 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
1129 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
1130 * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
1131 * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
1132 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1133 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1135 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
1137 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1139 * testsuite/27_io/objects/char/7.cc: Likewise.
1140 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
1141 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
1142 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
1143 * testsuite/18_support/50594.cc: Remove 'test' variable, adjust.
1144 * testsuite/18_support/bad_alloc/what.cc: Likewise.
1145 * testsuite/18_support/bad_cast/what.cc: Likewise.
1146 * testsuite/18_support/bad_exception/what.cc: Likewise.
1147 * testsuite/18_support/bad_typeid/what.cc: Likewise.
1148 * testsuite/18_support/exception/38732.cc: Likewise.
1149 * testsuite/18_support/exception/what.cc: Likewise.
1150 * testsuite/18_support/exception_ptr/64241.cc: Likewise.
1151 * testsuite/18_support/exception_ptr/current_exception.cc: Likewise.
1152 * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
1153 * testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise.
1154 * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
1155 * testsuite/18_support/nested_exception/cons.cc: Likewise.
1156 * testsuite/18_support/nested_exception/nested_ptr.cc: Likewise.
1157 * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise.
1158 * testsuite/18_support/nested_exception/rethrow_nested.cc: Likewise.
1159 * testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise.
1160 * testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise.
1161 * testsuite/18_support/numeric_limits/digits10.cc: Likewise.
1162 * testsuite/18_support/numeric_limits/dr559.cc: Likewise.
1163 * testsuite/18_support/numeric_limits/epsilon.cc: Likewise.
1164 * testsuite/18_support/numeric_limits/is_iec559.cc: Likewise.
1165 * testsuite/18_support/numeric_limits/is_signed.cc: Likewise.
1166 * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
1167 * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
1168 * testsuite/18_support/numeric_limits/min_max.cc: Likewise.
1169 * testsuite/18_support/numeric_limits/specialization_default_values.cc:
1171 * testsuite/18_support/type_info/hash_code.cc: Likewise.
1172 * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
1173 * testsuite/19_diagnostics/error_category/cons/default.cc: Likewise.
1174 * testsuite/19_diagnostics/error_category/operators/equal.cc: Likewise.
1175 * testsuite/19_diagnostics/error_category/operators/
1176 not_equal.cc: Likewise.
1177 * testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
1178 * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
1179 * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
1180 * testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
1181 * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
1182 * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
1183 * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise.
1184 * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
1185 * testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
1187 * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
1188 * testsuite/19_diagnostics/error_condition/operators/equal.cc:
1190 * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
1192 * testsuite/19_diagnostics/logic_error/what-1.cc: Likewise.
1193 * testsuite/19_diagnostics/logic_error/what-2.cc: Likewise.
1194 * testsuite/19_diagnostics/logic_error/what-3.cc: Likewise.
1195 * testsuite/19_diagnostics/logic_error/what-big.cc: Likewise.
1196 * testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise.
1197 * testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise.
1198 * testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
1199 * testsuite/19_diagnostics/runtime_error/what-big.cc: Likewise.
1200 * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
1201 * testsuite/19_diagnostics/system_error/what-1.cc: Likewise.
1202 * testsuite/19_diagnostics/system_error/what-2.cc: Likewise.
1203 * testsuite/19_diagnostics/system_error/what-3.cc: Likewise.
1204 * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
1205 * testsuite/19_diagnostics/system_error/what-big.cc: Likewise.
1206 * testsuite/20_util/addressof/1.cc: Likewise.
1207 * testsuite/20_util/align/1.cc: Likewise.
1208 * testsuite/20_util/align/2.cc: Likewise.
1209 * testsuite/20_util/allocator/1.cc: Likewise.
1210 * testsuite/20_util/allocator/10378.cc: Likewise.
1211 * testsuite/20_util/allocator/8230.cc: Likewise.
1212 * testsuite/20_util/allocator_traits/members/allocate_hint.cc:
1214 * testsuite/20_util/allocator_traits/members/construct.cc: Likewise.
1215 * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
1216 * testsuite/20_util/allocator_traits/members/max_size.cc: Likewise.
1217 * testsuite/20_util/any/assign/exception.cc: Likewise.
1218 * testsuite/20_util/auto_ptr/1.cc: Likewise.
1219 * testsuite/20_util/auto_ptr/2.cc: Likewise.
1220 * testsuite/20_util/auto_ptr/3.cc: Likewise.
1221 * testsuite/20_util/auto_ptr/4.cc: Likewise.
1222 * testsuite/20_util/auto_ptr/5.cc: Likewise.
1223 * testsuite/20_util/auto_ptr/6.cc: Likewise.
1224 * testsuite/20_util/auto_ptr/7.cc: Likewise.
1225 * testsuite/20_util/bind/all_bound.cc: Likewise.
1226 * testsuite/20_util/bind/conv_result.cc: Likewise.
1227 * testsuite/20_util/bind/cv_quals.cc: Likewise.
1228 * testsuite/20_util/bind/cv_quals_2.cc
1229 * testsuite/20_util/bind/nested.cc: Likewise.
1230 * testsuite/20_util/bind/placeholders.cc: Likewise.
1231 * testsuite/20_util/bind/ref.cc: Likewise.
1232 * testsuite/20_util/bind/ref2.cc: Likewise.
1233 * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
1234 * testsuite/20_util/duration/arithmetic/1.cc: Likewise.
1235 * testsuite/20_util/duration/arithmetic/2.cc: Likewise.
1236 * testsuite/20_util/duration/arithmetic/58850.cc: Likewise.
1237 * testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise.
1238 * testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise.
1239 * testsuite/20_util/duration/comparison_operators/1.cc: Likewise.
1240 * testsuite/20_util/duration/cons/1.cc: Likewise.
1241 * testsuite/20_util/duration/cons/2.cc: Likewise.
1242 * testsuite/20_util/enable_if/requirements/typedefs.cc: Likewise.
1243 * testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Likewise.
1244 * testsuite/20_util/enable_shared_from_this/members/assign.cc:
1246 * testsuite/20_util/exchange/1.cc: Likewise.
1247 * testsuite/20_util/forward/a.cc: Likewise.
1248 * testsuite/20_util/forward/b.cc: Likewise.
1249 * testsuite/20_util/forward/d.cc: Likewise.
1250 * testsuite/20_util/function/1.cc: Likewise.
1251 * testsuite/20_util/function/2.cc: Likewise.
1252 * testsuite/20_util/function/3.cc: Likewise.
1253 * testsuite/20_util/function/4.cc: Likewise.
1254 * testsuite/20_util/function/43397.cc: Likewise.
1255 * testsuite/20_util/function/5.cc: Likewise.
1256 * testsuite/20_util/function/6.cc: Likewise.
1257 * testsuite/20_util/function/7.cc: Likewise.
1258 * testsuite/20_util/function/8.cc: Likewise.
1259 * testsuite/20_util/function/9.cc: Likewise.
1260 * testsuite/20_util/function/assign/move.cc: Likewise.
1261 * testsuite/20_util/function/cons/move.cc: Likewise.
1262 * testsuite/20_util/function_objects/dr660.cc: Likewise.
1263 * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Likewise.
1264 * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
1265 * testsuite/20_util/hash/chi2_q_document_words.cc: Likewise.
1266 * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
1267 * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
1268 * testsuite/20_util/hash/operators/size_t.cc: Likewise.
1269 * testsuite/20_util/hash/quality.cc: Likewise.
1270 * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
1271 * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
1272 * testsuite/20_util/is_function/24808.cc: Likewise.
1273 * testsuite/20_util/is_object/24808.cc: Likewise.
1274 * testsuite/20_util/move_if_noexcept/1.cc: Likewise.
1275 * testsuite/20_util/move_if_noexcept/constexpr.cc: Likewise.
1276 * testsuite/20_util/owner_less/cmp.cc: Likewise.
1277 * testsuite/20_util/pair/1.cc: Likewise.
1278 * testsuite/20_util/pair/2.cc: Likewise.
1279 * testsuite/20_util/pair/3.cc: Likewise.
1280 * testsuite/20_util/pair/4.cc: Likewise.
1281 * testsuite/20_util/pair/make_pair/constexpr.cc: Likewise.
1282 * testsuite/20_util/pair/moveable.cc: Likewise.
1283 * testsuite/20_util/pair/piecewise.cc: Likewise.
1284 * testsuite/20_util/pair/swap.cc: Likewise.
1285 * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
1286 * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.
1287 * testsuite/20_util/ratio/comparisons/comp3.cc: Likewise.
1288 * testsuite/20_util/ratio/cons/cons1.cc: Likewise.
1289 * testsuite/20_util/ratio/operations/45866.cc: Likewise.
1290 * testsuite/20_util/ratio/operations/47913.cc: Likewise.
1291 * testsuite/20_util/ratio/operations/ops1.cc: Likewise.
1292 * testsuite/20_util/ratio/operations/ops2.cc: Likewise.
1293 * testsuite/20_util/ratio/operations/ops3.cc: Likewise.
1294 * testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
1295 * testsuite/20_util/scoped_allocator/1.cc: Likewise.
1296 * testsuite/20_util/scoped_allocator/2.cc: Likewise.
1297 * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise.
1298 * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
1299 * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
1300 * testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
1301 * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
1302 * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
1304 * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
1305 * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise.
1306 * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise.
1307 * testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
1308 * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
1309 * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
1310 * testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
1311 * testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
1312 * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise.
1313 * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
1314 * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
1315 * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Likewise.
1316 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Likewise.
1317 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc:
1319 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
1321 * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
1322 * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
1323 * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
1324 * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
1325 * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
1326 * testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
1327 * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
1328 * testsuite/20_util/shared_ptr/hash/1.cc: Likewise.
1329 * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
1330 * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise.
1331 * testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
1332 * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
1333 * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
1334 * testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
1335 * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
1336 * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
1337 * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
1338 * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
1339 * testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
1340 * testsuite/20_util/shared_ptr/observers/owner_before.cc: Likewise.
1341 * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
1342 * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
1343 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
1345 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
1346 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
1347 move_iterators/1.cc: Likewise.
1348 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
1349 move_iterators/1.cc: Likewise.
1350 * testsuite/20_util/temporary_buffer.cc: Likewise.
1351 * testsuite/20_util/time_point/1.cc: Likewise.
1352 * testsuite/20_util/time_point/2.cc: Likewise.
1353 * testsuite/20_util/time_point/3.cc: Likewise.
1354 * testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise.
1355 * testsuite/20_util/tuple/48476.cc: Likewise.
1356 * testsuite/20_util/tuple/comparison_operators/comparisons.cc:
1358 * testsuite/20_util/tuple/cons/allocators.cc: Likewise.
1359 * testsuite/20_util/tuple/cons/assignment.cc: Likewise.
1360 * testsuite/20_util/tuple/cons/big_tuples.cc: Likewise.
1361 * testsuite/20_util/tuple/cons/constructor.cc: Likewise.
1362 * testsuite/20_util/tuple/creation_functions/23978.cc: Likewise.
1363 * testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.
1364 * testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise.
1365 * testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc:
1367 * testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise.
1368 * testsuite/20_util/tuple/creation_functions/tie.cc: Likewise.
1369 * testsuite/20_util/tuple/creation_functions/tie2.cc: Likewise.
1370 * testsuite/20_util/tuple/cv_tuple_size.cc: Likewise.
1371 * testsuite/20_util/tuple/element_access/get.cc: Likewise.
1372 * testsuite/20_util/tuple/element_access/get_by_type.cc: Likewise.
1373 * testsuite/20_util/tuple/moveable.cc: Likewise.
1374 * testsuite/20_util/tuple/swap.cc: Likewise.
1375 * testsuite/20_util/tuple/tuple_size.cc: Likewise.
1376 * testsuite/20_util/typeindex/comparison_operators.cc: Likewise.
1377 * testsuite/20_util/typeindex/hash.cc: Likewise.
1378 * testsuite/20_util/typeindex/hash_code.cc: Likewise.
1379 * testsuite/20_util/typeindex/name.cc: Likewise.
1380 * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
1381 * testsuite/20_util/unique_ptr/assign/move.cc: Likewise.
1382 * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise.
1383 * testsuite/20_util/unique_ptr/assign/nullptr.cc: Likewise.
1384 * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise.
1385 * testsuite/20_util/unique_ptr/cons/nullptr.cc: Likewise.
1386 * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise.
1387 * testsuite/20_util/unique_ptr/cons/pointer_array.cc: Likewise.
1388 * testsuite/20_util/unique_ptr/cons/ptr_deleter.cc: Likewise.
1389 * testsuite/20_util/unique_ptr/creation/array.cc: Likewise.
1390 * testsuite/20_util/unique_ptr/creation/single.cc: Likewise.
1391 * testsuite/20_util/unique_ptr/hash/1.cc: Likewise.
1392 * testsuite/20_util/unique_ptr/modifiers/43183.cc: Likewise.
1393 * testsuite/20_util/unique_ptr/specialized_algorithms/
1394 comparisons.cc: Likewise.
1395 * testsuite/20_util/unique_ptr/specialized_algorithms/
1396 comparisons_array.cc: Likewise.
1397 * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc:
1399 * testsuite/20_util/uses_allocator/construction.cc: Likewise.
1400 * testsuite/20_util/uses_allocator/value.cc: Likewise.
1401 * testsuite/20_util/variant/run.cc: Likewise.
1402 * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
1403 * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
1404 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
1406 * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
1407 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
1409 * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
1410 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
1412 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
1414 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
1416 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
1418 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
1420 * testsuite/21_strings/basic_string/capacity/1.cc: Likewise.
1421 * testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise.
1422 * testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise.
1423 * testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise.
1424 * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
1426 * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise.
1427 * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
1429 * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Likewise.
1430 * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
1432 * testsuite/21_strings/basic_string/cons/char/1.cc: Likewise.
1433 * testsuite/21_strings/basic_string/cons/char/2.cc: Likewise.
1434 * testsuite/21_strings/basic_string/cons/char/3.cc: Likewise.
1435 * testsuite/21_strings/basic_string/cons/char/4.cc: Likewise.
1436 * testsuite/21_strings/basic_string/cons/char/42261.cc: Likewise.
1437 * testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
1438 * testsuite/21_strings/basic_string/cons/char/6.cc: Likewise.
1439 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
1440 * testsuite/21_strings/basic_string/cons/char/8.cc: Likewise.
1441 * testsuite/21_strings/basic_string/cons/char/moveable.cc: Likewise.
1442 * testsuite/21_strings/basic_string/cons/char/moveable2.cc: Likewise.
1443 * testsuite/21_strings/basic_string/cons/wchar_t/1.cc: Likewise.
1444 * testsuite/21_strings/basic_string/cons/wchar_t/2.cc: Likewise.
1445 * testsuite/21_strings/basic_string/cons/wchar_t/3.cc: Likewise.
1446 * testsuite/21_strings/basic_string/cons/wchar_t/4.cc: Likewise.
1447 * testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.
1448 * testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
1449 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Likewise.
1450 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
1451 * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
1452 * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
1453 * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
1455 * testsuite/21_strings/basic_string/element_access/char/1.cc: Likewise.
1456 * testsuite/21_strings/basic_string/element_access/char/2.cc: Likewise.
1457 * testsuite/21_strings/basic_string/element_access/char/3.cc: Likewise.
1458 * testsuite/21_strings/basic_string/element_access/char/4.cc: Likewise.
1459 * testsuite/21_strings/basic_string/element_access/char/58163.cc:
1461 * testsuite/21_strings/basic_string/element_access/char/empty.cc:
1463 * testsuite/21_strings/basic_string/element_access/char/front_back.cc:
1465 * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc:
1467 * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc:
1469 * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc:
1471 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
1473 * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
1475 * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
1477 * testsuite/21_strings/basic_string/element_access/wchar_t/
1478 front_back.cc: Likewise.
1479 * testsuite/21_strings/basic_string/init-list.cc: Likewise.
1480 * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
1482 * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
1484 * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
1486 * testsuite/21_strings/basic_string/inserters_extractors/char/
1488 * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
1490 * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
1492 * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
1494 * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
1496 * testsuite/21_strings/basic_string/inserters_extractors/char/8.cc:
1498 * testsuite/21_strings/basic_string/inserters_extractors/char/9.cc:
1500 * testsuite/21_strings/basic_string/inserters_extractors/pod/
1501 10081-in.cc: Likewise.
1502 * testsuite/21_strings/basic_string/inserters_extractors/pod/
1503 10081-out.cc: Likewise.
1504 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
1506 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
1508 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
1510 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
1512 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
1514 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
1516 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
1518 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
1520 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc:
1522 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc:
1524 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc:
1526 * testsuite/21_strings/basic_string/modifiers/append/char/2.cc:
1528 * testsuite/21_strings/basic_string/modifiers/append/char/3.cc:
1530 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
1532 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
1534 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc:
1536 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc:
1538 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
1540 * testsuite/21_strings/basic_string/modifiers/assign/char/1.cc:
1542 * testsuite/21_strings/basic_string/modifiers/assign/char/2.cc:
1544 * testsuite/21_strings/basic_string/modifiers/assign/char/3.cc:
1546 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
1548 * testsuite/21_strings/basic_string/modifiers/assign/char/
1549 move_assign.cc: Likewise.
1550 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc:
1552 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc:
1554 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc:
1556 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
1558 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
1559 move_assign.cc: Likewise.
1560 * testsuite/21_strings/basic_string/modifiers/insert/char/1.cc:
1562 * testsuite/21_strings/basic_string/modifiers/insert/char/2.cc:
1564 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
1566 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc:
1568 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc:
1570 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
1572 * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc:
1574 * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc:
1576 * testsuite/21_strings/basic_string/modifiers/replace/char/1.cc:
1578 * testsuite/21_strings/basic_string/modifiers/replace/char/2.cc:
1580 * testsuite/21_strings/basic_string/modifiers/replace/char/3.cc:
1582 * testsuite/21_strings/basic_string/modifiers/replace/char/4.cc:
1584 * testsuite/21_strings/basic_string/modifiers/replace/char/5.cc:
1586 * testsuite/21_strings/basic_string/modifiers/replace/char/6.cc:
1588 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
1590 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc:
1592 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc:
1594 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc:
1596 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc:
1598 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc:
1600 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc:
1602 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
1604 * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
1606 * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
1608 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
1610 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
1612 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
1614 * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
1616 * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
1618 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
1620 * testsuite/21_strings/basic_string/numeric_conversions/char/
1621 stoull.cc: Likewise.
1622 * testsuite/21_strings/basic_string/numeric_conversions/char/
1623 to_string.cc: Likewise.
1624 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1625 dr1261.cc: Likewise.
1626 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1628 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1630 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1632 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1634 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1636 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1638 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1640 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1641 stoull.cc: Likewise.
1642 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1643 to_wstring.cc: Likewise.
1644 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
1646 * testsuite/21_strings/basic_string/operations/compare/char/13650.cc:
1648 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
1650 * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
1652 * testsuite/21_strings/basic_string/operations/compare/wchar_t/
1654 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
1656 * testsuite/21_strings/basic_string/operations/data/char/1.cc:
1658 * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc:
1660 * testsuite/21_strings/basic_string/operations/find/char/1.cc:
1662 * testsuite/21_strings/basic_string/operations/find/char/2.cc:
1664 * testsuite/21_strings/basic_string/operations/find/char/3.cc:
1666 * testsuite/21_strings/basic_string/operations/find/char/4.cc:
1668 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
1670 * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc:
1672 * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc:
1674 * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc:
1676 * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc:
1678 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
1680 * testsuite/21_strings/basic_string/operations/rfind/char/1.cc:
1682 * testsuite/21_strings/basic_string/operations/rfind/char/2.cc:
1684 * testsuite/21_strings/basic_string/operations/rfind/char/3.cc:
1686 * testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc:
1688 * testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc:
1690 * testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc:
1692 * testsuite/21_strings/basic_string/operations/substr/char/1.cc:
1694 * testsuite/21_strings/basic_string/operations/substr/wchar_t/
1696 * testsuite/21_strings/basic_string/operators/char/1.cc: Likewise.
1697 * testsuite/21_strings/basic_string/operators/char/2.cc: Likewise.
1698 * testsuite/21_strings/basic_string/operators/char/3.cc: Likewise.
1699 * testsuite/21_strings/basic_string/operators/char/4.cc: Likewise.
1700 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
1701 * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Likewise.
1702 * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Likewise.
1703 * testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise.
1704 * testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise.
1705 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
1706 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
1707 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
1708 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
1709 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
1710 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
1711 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
1712 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
1713 * testsuite/21_strings/basic_string_view/element_access/char/
1715 * testsuite/21_strings/basic_string_view/element_access/char/
1717 * testsuite/21_strings/basic_string_view/element_access/char/
1718 front_back.cc: Likewise.
1719 * testsuite/21_strings/basic_string_view/element_access/wchar_t/
1721 * testsuite/21_strings/basic_string_view/element_access/wchar_t/
1723 * testsuite/21_strings/basic_string_view/element_access/wchar_t/
1724 front_back.cc: Likewise.
1725 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
1726 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
1727 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
1728 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
1730 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
1732 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
1734 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
1736 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
1737 char/1.cc: Likewise.
1738 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
1739 wchar_t/1.cc: Likewise.
1740 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
1741 char/1.cc: Likewise.
1742 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
1743 wchar_t/1.cc: Likewise.
1744 * testsuite/21_strings/basic_string_view/operations/compare/char/
1746 * testsuite/21_strings/basic_string_view/operations/compare/char/
1748 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
1750 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
1752 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
1754 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
1756 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
1758 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
1760 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
1762 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
1764 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
1766 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
1768 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
1770 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
1772 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
1774 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
1776 * testsuite/21_strings/basic_string_view/operations/rfind/char/
1778 * testsuite/21_strings/basic_string_view/operations/rfind/char/
1780 * testsuite/21_strings/basic_string_view/operations/rfind/char/
1782 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
1784 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
1786 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
1788 * testsuite/21_strings/basic_string_view/operations/string_conversion/
1790 * testsuite/21_strings/basic_string_view/operations/substr/char/
1792 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
1794 * testsuite/21_strings/basic_string_view/operators/char/2.cc:
1796 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
1798 * testsuite/21_strings/c_strings/char/1.cc: Likewise.
1799 * testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise.
1800 * testsuite/21_strings/char_traits/requirements/char/1.cc: Likewise.
1801 * testsuite/21_strings/char_traits/requirements/char/57704.cc:
1803 * testsuite/21_strings/char_traits/requirements/short/1.cc: Likewise.
1804 * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Likewise.
1806 * doc/xml/manual/test.xml: Fix typo.
1808 2016-10-12 Jonathan Wakely <jwakely@redhat.com>
1810 * doc/xml/manual/status_cxx2017.xml: Add std::sample status.
1811 * doc/html/*: Regenerate.
1812 * include/experimental/algorithm (__sample): Move to bits/stl_algo.h
1813 and into namespace std.
1814 * include/bits/stl_algo.h (__sample): Define here. Fix invalid use
1815 of input iterator. Defend against overloaded comma operator.
1816 (sample): Define for C++17.
1817 * testsuite/25_algorithms/sample/1.cc: New test.
1819 * testsuite/util/testsuite_common_types.h
1820 (bitwise_assignment_operators): Use direct-initialization for C++11
1821 and later, to avoid CopyConstructible requirement.
1822 * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
1824 * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
1825 * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
1826 * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
1827 * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
1828 Adjust expected errors and line numbers.
1830 * include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove.
1831 (call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call.
1833 * include/bits/stl_uninitialized.h
1834 (__uninitialized_default_novalue_n_1<true>): Add missing return.
1835 * testsuite/20_util/specialized_algorithms/memory_management_tools/
1836 1.cc: Check return values of uninitialized_xxx_n algorithms.
1838 * libsupc++/nested_exception.h (throw_with_nested): Remove return.
1840 * doc/xml/manual/intro.xml: Document LWG 2442 status.
1841 * include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
1842 [_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define
1843 partial specialization to unpack args and forward to std::invoke.
1844 (call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call
1845 instead of __bind_simple and __once_call_impl.
1846 (call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of
1848 * testsuite/30_threads/call_once/dr2442.cc: New test.
1850 2016-10-11 Jonathan Wakely <jwakely@redhat.com>
1852 * include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
1853 _M_assign_dispatch directly with correct tag.
1855 * doc/xml/manual/intro.xml: Document LWG 2484 status.
1856 * libsupc++/nested_exception.h (_Throw_with_nested_impl)
1857 (_Throw_with_nested_helper): Remove.
1858 (__throw_with_nested_impl): New overloaded functions to implement
1859 throw_with_nested logic.
1860 (throw_with_nested): Call __throw_with_nested_impl.
1861 (_Rethrow_if_nested_impl): Remove
1862 (__rethrow_if_nested_impl): New overloaded functions to implement
1863 rethrow_if_nested logic.
1864 (rethrow_if_nested): Call __rethrow_if_nested_impl.
1865 * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
1866 problem cases from LWG 2484.
1868 * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
1869 Register printer for std::__cxx11::list.
1870 * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
1871 std::__cxx11::list as well as std::list.
1873 * include/experimental/string_view (basic_string_view::_S_compare):
1874 Remove redundant const from return type.
1875 * include/std/string_view (basic_string_view:_S_compare): Likewise.
1877 * include/bits/std_mutex.h (mutex::native_handle)
1878 (lock_guard(mutex_type&, adopt_lock_t)
1879 (unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
1880 * include/std/mutex (recursive_mutex, timed_mutex)
1881 (recursive_timed_mutex): Likewise.
1883 2016-10-10 Jonathan Wakely <jwakely@redhat.com>
1885 * doc/xml/manual/appendix_contributing.xml (contrib.organization):
1886 Replace <literallayout> with nested <variablelist> elements. Update
1887 some more outdated text.
1888 * doc/html/*: Regenerate.
1890 2016-10-10 Ville Voutilainen <ville.voutilainen@gmail.com>
1892 Make any's copy assignment operator exception-safe,
1893 don't copy the underlying value when any is moved,
1894 make in_place constructors explicit.
1895 * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)):
1897 (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
1899 (operator=(const any&)): Make strongly exception-safe.
1900 (operator=(any&&)): reset() unconditionally in the case where
1902 (operator=(_ValueType&&)): Indent the return type.
1903 (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
1904 * testsuite/20_util/any/assign/2.cc: Adjust.
1905 * testsuite/20_util/any/assign/exception.cc: New.
1906 * testsuite/20_util/any/cons/2.cc: Adjust.
1907 * testsuite/20_util/any/cons/explicit.cc: New.
1908 * testsuite/20_util/any/misc/any_cast_neg.cc: Ajust.
1910 2016-10-10 Jonathan Wakely <jwakely@redhat.com>
1912 * doc/xml/manual/appendix_contributing.xml (contrib.organization):
1913 Describe other subdirectories and add markup. Remove outdated
1914 reference to check-script target.
1915 * doc/html/*: Regenerate.
1917 * doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
1919 * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
1922 * include/std/functional (_Bind_result::__enable_if_void): Use alias
1923 template instead of class template.
1924 (_Bind_result::__disable_if_void): Likewise.
1925 (_Bind_result::__call): Adjust uses of __enable_if_void and
1928 * doc/xml/manual/intro.xml: Document DR 2296 status.
1929 * doc/xml/manual/status_cxx2017.xml: Update status.
1930 * include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and
1931 call __builtin_addressof.
1932 (addressof): Add _GLIBCXX17_CONSTEXPR.
1933 * testsuite/20_util/addressof/requirements/constexpr.cc: New test.
1934 * testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno.
1935 * testsuite/20_util/forward/f_neg.cc: Likewise.
1937 * include/bits/allocator.h (allocator<T>::is_always_equal): Define.
1938 * testsuite/20_util/allocator/requirements/typedefs.cc: Test for
1940 * testsuite/util/testsuite_allocator.h
1941 (uneq_allocator::is_always_equal): Define as false_type.
1943 * include/experimental/numeric (gcd, lcm): Make bool arguments
1945 * include/std/numeric (gcd, lcm): Likewise.
1946 * testsuite/26_numerics/gcd/gcd_neg.cc: New test.
1947 * testsuite/26_numerics/lcm/lcm_neg.cc: New test.
1949 * include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this):
1951 * include/bits/shared_ptr_base.h
1952 (__enable_shared_from_this::weak_from_this): Likewise.
1953 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
1954 Test exception-specification of weak_from_this.
1956 2016-10-07 Jonathan Wakely <jwakely@redhat.com>
1958 * doc/xml/manual/status_cxx1998.xml: Improve documentation of
1959 implementation-defined properties.
1960 * doc/xml/manual/status_cxx2011.xml: Likewise.
1961 * doc/xml/manual/status_cxx2017.xml: Likewise.
1963 * doc/xml/manual/status_cxx2017.xml: Update status.
1964 * include/std/type_traits (has_unique_object_representations): Define.
1965 * testsuite/20_util/has_unique_object_representations/value.cc: New.
1966 * testsuite/20_util/has_unique_object_representations/requirements/
1967 explicit_instantiation.cc: New.
1968 * testsuite/20_util/has_unique_object_representations/requirements/
1971 2016-10-06 Jonathan Wakely <jwakely@redhat.com>
1973 * doc/xml/manual/status_cxx2011.xml: Update status.
1974 * include/std/scoped_allocator (__outer_allocator_t, __outermost_type):
1975 New helpers for recursive OUTERMOST.
1976 (__outermost): Use __outermost_type::_S_outermost.
1977 (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove.
1978 (scoped_allocator_adaptor::__outermost_alloc_traits): Use new
1979 __outermost_type helper.
1980 (scoped_allocator_adaptor::_Constructible): New alias template.
1981 (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>):
1982 Constrain template constructors.
1983 * testsuite/20_util/scoped_allocator/3.cc: New test.
1984 * testsuite/20_util/scoped_allocator/outermost.cc: New test.
1986 2016-10-05 Jonathan Wakely <jwakely@redhat.com>
1989 * testsuite/20_util/not_fn/1.cc: Fix test.
1990 * testsuite/experimental/functional/not_fn.cc: Likewise.
1993 * include/bits/stl_queue.h (priority_queue): Fix allocator-extended
1995 * testsuite/23_containers/priority_queue/allocator.cc: New test.
1998 * include/bits/stl_map.h (map::map()): Use nothrow constructibility
1999 of comparison function in conditional noexcept.
2000 * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
2001 * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
2002 * include/bits/stl_set.h (set::set()): Likewise.
2003 * testsuite/23_containers/map/cons/noexcept_default_construct.cc:
2005 * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
2007 * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
2009 * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
2012 * include/bits/node_handle.h (_Node_handle): Remove invalid and unused
2016 * include/experimental/functional (_Not_fn): Remove.
2017 (not_fn): Use std::_Not_fn.
2018 * include/std/functional (_Not_fn): Add second parameter to
2019 disambiguate copying from initialization by not_fn. Define for C++14.
2020 (not_fn): Add second argument to initialization.
2021 * testsuite/20_util/not_fn/1.cc: Copy call wrapper using
2022 direct-initialization.
2024 2016-10-03 François Dumont <fdumont@gcc.gnu.org>
2026 * src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move
2028 * src/c++11/mutex_pool.h: ... here. New.
2029 * src/c++11/debug.cc: Use latter.
2031 2016-10-03 Jonathan Wakely <jwakely@redhat.com>
2033 * doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status.
2034 * doc/html/*: Regenerate.
2035 * include/experimental/numeric (__abs): Move to <numeric>.
2036 (gcd, lcm): Use __detail::gcd and __detail::lcm.
2037 * include/std/numeric (__detail::__abs_integral)
2038 (__detail::__gcd, __detail::__lcm): Define.
2039 (gcd, lcm): Define for C++17.
2040 * testsuite/26_numerics/gcd/1.cc: New test.
2041 * testsuite/26_numerics/lcm/1.cc: New test.
2042 * testsuite/experimental/numeric/gcd.cc: Swap contents with ...
2043 * testsuite/experimental/numeric/lcd.cc: ... this.
2047 * config/abi/pre/gnu-versioned-namespace.ver: Add exports for
2048 __cxa_thread_atexit and __gnu_cxx::__freeres.
2049 * include/Makefile.am: Add <experimental/bits/lfts_config.h>
2050 * include/Makefile.in: Regenerate.
2051 * include.bits/basic_string.h: Fix nesting of versioned namespaces.
2052 * include/bits/c++config: Declare versioned namespaces for literals.
2053 * include/bits/regex.h (basic_regex, match_results): Add workarounds
2055 * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
2056 * include/std/chrono: Likewise.
2057 * include/std/complex: Likewise.
2058 * include/std/string_view: Likewise.
2059 * include/std/variant: Likewise. Add workaround for PR c++/59256.
2060 * include/experimental/bits/fs_fwd.h: Declare versioned namespace.
2061 * include/experimental/bits/lfts_config.h: Declare versioned
2063 * include/experimental/algorithm: Include
2064 <experimental/bits/lfts_config.h>.
2065 * include/experimental/any: Likewise.
2066 * include/experimental/bits/erase_if.h: Likewise.
2067 * include/experimental/chrono: Likewise.
2068 * include/experimental/functional: Likewise.
2069 * include/experimental/memory_resource: Likewise.
2070 * include/experimental/optional: Likewise.
2071 * include/experimental/propagate_const: Likewise.
2072 * include/experimental/random: Likewise.
2073 * include/experimental/ratio: Likewise.
2074 * include/experimental/system_error: Likewise.
2075 * include/experimental/tuple: Likewise.
2076 * include/experimental/type_traits: Likewise.
2077 * include/experimental/utility: Likewise.
2078 * include/experimental/string_view: Likewise. Fix nesting of
2079 versioned namespaces.
2080 * include/experimental/bits/string_view.tcc: Reopen inline namespace
2081 for non-inline function definitions.
2082 * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
2083 * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
2084 * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
2085 * testsuite/experimental/propagate_const/assignment/move_neg.cc:
2087 * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
2088 * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
2089 * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
2090 * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
2091 * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
2092 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
2095 * include/bits/std_abs.h: Use "C++" language linkage.
2096 * testsuite/17_intro/headers/c++2011/linkage.cc: Move <complex.h> to
2097 the end. Add <stdalign.h>.
2099 2016-10-03 Ville Voutilainen <ville.voutilainen@gmail.com>
2102 * testsuite/20_util/tuple/77802.cc: New.
2105 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
2106 Implement LWG 2729 for tuple.
2107 * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
2108 Suppress conditionally.
2109 (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
2110 (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
2111 (_Tuple_impl(const _Head&)): Constrain.
2112 (_Tuple_impl(_UHead&&)): Likewise.
2113 (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
2114 (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
2115 (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
2116 (operator=(const tuple&)): Enable conditionally.
2117 (operator=(tuple&&)): Suppress conditionally.
2118 (operator=(const tuple<_UElements...>&)): Constrain.
2119 (operator=(tuple<_UElements...>&&)): Likewise.
2120 (operator=(const tuple&)): Enable conditionally (2-param tuple).
2121 (operator=(tuple&&)): Suppress conditionally (2-param tuple).
2122 (operator=(const tuple<_U1, _U2>&)): Constrain.
2123 (operator=(tuple<_U1, _U2>&&)): Likewise.
2124 (operator=(const pair<_U1, _U2>&)): Likewise.
2125 (operator=(pair<_U1, _U2>&&)): Likewise.
2126 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
2127 * testsuite/20_util/tuple/tuple_traits.cc: New.
2129 2016-09-30 Jonathan Wakely <jwakely@redhat.com>
2132 * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check
2134 * config.h.in: Regenerate.
2135 * configure: Regenerate.
2136 * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare
2137 for C++98 and C++11.
2138 * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise.
2139 * testsuite/27_io/headers/cstdio/functions_neg.cc: New test.
2141 * doc/xml/manual/intro.xml: Document LWG 2192 changes.
2142 * doc/html/*: Regenerate.
2143 * include/Makefile.am: Add bits/std_abs.h.
2144 * include/Makefile.in: Regenerate.
2145 * include/bits/std_abs.h: New header defining all required overloads
2146 of std::abs in one place (LWG 2294).
2147 * include/c_global/cmath (abs(double), abs(float), abs(long double)):
2148 Move to bits/std_abs.h.
2149 (abs<_Tp>(_Tp)): Remove.
2150 * include/c_global/cstdlib (abs(long), abs(long long), abs(__int<N>)):
2151 Move to bits/std_abs.h.
2152 * testsuite/26_numerics/headers/cmath/dr2192.cc: New test.
2153 * testsuite/26_numerics/headers/cmath/dr2192_neg.cc: New test.
2154 * testsuite/26_numerics/headers/cstdlib/dr2192.cc: New test.
2155 * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: New test.
2158 * include/experimental/numeric: Include <numeric>.
2160 (gcd, lcm): Use __abs instead of std::abs.
2161 * testsuite/experimental/numeric/77801.cc: New test.
2162 * testsuite/experimental/numeric/gcd.cc: Test unsigned inputs.
2163 * testsuite/experimental/numeric/lcm.cc: Likewise.
2165 2016-09-29 Ville Voutilainen <ville.voutilainen@gmail.com>
2167 Make optional::reset noexcept, make optional::value
2168 work in constant expressions.
2169 * include/std/optional (_M_get): Make constexpr.
2170 (reset): Make noexcept.
2171 * testsuite/20_util/optional/assignment/7.cc: New.
2172 * testsuite/20_util/optional/observers/6.cc: New.
2174 2016-09-29 Jonathan Wakely <jwakely@redhat.com>
2176 * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads
2177 outside _GLIBCXX_USE_C99_MATH_TR1 condition.
2179 2016-09-29 Alan Modra <amodra@gmail.com>
2181 * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST.
2182 * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo):
2183 Use LONG_DOUBLE_COMPAT_FLAGS.
2184 * Makefile.in: Regenerate.
2185 * configure: Regenerate.
2186 * doc/Makefile.in: Regenerate.
2187 * include/Makefile.in: Regenerate.
2188 * libsupc++/Makefile.in: Regenerate.
2189 * po/Makefile.in: Regenerate.
2190 * python/Makefile.in: Regenerate.
2191 * src/Makefile.in: Regenerate.
2192 * src/c++11/Makefile.in: Regenerate.
2193 * src/c++98/Makefile.in: Regenerate.
2194 * src/filesystem/Makefile.in: Regenerate.
2195 * testsuite/Makefile.in: Regenerate.
2197 2016-09-28 Jonathan Wakely <jwakely@redhat.com>
2199 * include/std/chrono (system_clock): Fix typo in comment.
2201 * include/experimental/bits/fs_fwd.h (file_time_type): Simplify
2203 * src/filesystem/ops.cc (file_time): Take error_code parameter and
2205 (do_copy_file, last_write_time): Pass error_code in file_time calls.
2206 * testsuite/experimental/filesystem/operations/last_write_time.cc:
2208 * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper.
2211 * include/std/functional (_Any_data): Add may_alias attribute.
2213 2016-09-27 Jonathan Wakely <jwakely@redhat.com>
2215 * doc/xml/manual/status_cxx2017.xml: Update status.
2216 * doc/html/*: Regenerate.
2217 * include/std/functional (__cpp_lib_boyer_moore_searcher): Define.
2218 * testsuite/20_util/function_objects/searchers.cc: Test feature macro.
2220 * doc/xml/manual/status_cxx2017.xml: Update status.
2221 * include/c_global/cmath (hypot): Add three-dimensional overloads.
2222 * testsuite/26_numerics/headers/cmath/hypot.cc: New.
2224 2016-09-26 Ville Voutilainen <ville.voutilainen@gmail.com>
2227 * include/std/optional (optional(const optional<_Up>&)):
2228 Default-initialize the base and use emplace.
2229 (optional(optional<_Up>&&)): Likewise.
2230 * testsuite/20_util/optional/cons/77727.cc: New.
2232 2016-09-26 François Dumont <fdumont@gcc.gnu.org>
2234 * include/debug/safe_base.h
2235 (_Safe_iterator_base::_M_detach_single): Make public.
2237 2016-09-26 Jonathan Wakely <jwakely@redhat.com>
2239 * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
2240 redefine macro defined in <bits/stl_iterator.h>.
2242 * include/bits/stl_map.h (map::extract(const_iterator)): Assert that
2243 iterator is not past-the-end.
2244 * include/bits/stl_multimap.h (multimap::extract(const_iterator)):
2246 * include/bits/stl_multiset.h (multiset::extract(const_iterator)):
2248 * include/bits/stl_set.h (set::extract(const_iterator)): Likewise.
2249 * include/bits/unordered_map.h (unordered_map::extract(const_iterator))
2250 (unordered_multimap::extract(const_iterator)): Likewise.
2251 * include/bits/unordered_set.h (unordered_set::extract(const_iterator))
2252 (unordered_multiset::extract(const_iterator)): Likewise.
2254 2016-09-26 Ville Voutilainen <ville.voutilainen@gmail.com>
2257 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
2258 Fix an out-of-bounds access.
2260 2016-09-26 Marek Polacek <polacek@redhat.com>
2263 * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]].
2265 2016-09-25 François Dumont <fdumont@gcc.gnu.org>
2267 * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
2269 (get_safe_base_mutex): Get mutex based on address lowest non nil bits.
2270 * testsuite/23_containers/vector/debug/mutex_association.cc: New.
2272 * include/debug/bitset (bitset::reference::reference(const _Base_ref&,
2273 bitset*)): Remove __unused__ attribute.
2274 * include/debug/safe_base.h (_Safe_iterator_base): Make
2275 _Safe_sequence_base a friend.
2276 (_Safe_iterator_base::_M_attach): Make protected.
2277 (_Safe_iterator_base::_M_attach_single): Likewise.
2278 (_Safe_iterator_base::_M_detach): Likewise.
2279 (_Safe_iterator_base::_M_detach_single): Likewise.
2280 (_Safe_sequence_base): Make _Safe_iterator_base a friend.
2281 (_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New.
2282 (_Safe_sequence_base::_M_swap): Make protected.
2283 (_Safe_sequence_base::_M_attach): Make private.
2284 (_Safe_sequence_base::_M_attach_single): Likewise.
2285 (_Safe_sequence_base::_M_detach): Likewise.
2286 (_Safe_sequence_base::_M_detach_single): Likewise.
2287 * include/debug/safe_container.h
2288 (_Safe_container::_Safe_container(_Safe_container&&)): Make default.
2289 * include/debug/safe_iterator.h
2290 (_Safe_iterator::operator++()): Name __scoped_lock instance.
2291 * include/debug/safe_iterator.tcc: Remove trailing line.
2292 * include/debug/safe_unordered_base.h
2293 (_Safe_local_iterator_base::_M_attach): Make protected.
2294 (_Safe_local_iterator_base::_M_attach_single): Likewise.
2295 (_Safe_local_iterator_base::_M_detach): Likewise.
2296 (_Safe_local_iterator_base::_M_detach_single): Likewise.
2297 (_Safe_unordered_container_base): Make _Safe_local_iterator_base friend.
2298 (_Safe_unordered_container_base::_M_attach_local): Make private.
2299 (_Safe_unordered_container_base::_M_attach_local_single): Likewise.
2300 (_Safe_unordered_container_base::_M_detach_local): Likewise.
2301 (_Safe_unordered_container_base::_M_detach_local_single): Likewise.
2303 * include/parallel/algo.h: Generalize usage of std::__iterator_category.
2306 2016-09-23 Jonathan Wakely <jwakely@redhat.com>
2310 * include/bits/basic_string.h (basic_string::clear()): Drop reference
2312 * include/ext/rc_string_base.h (__rc_string_base::_M_clear()):
2314 * testsuite/21_strings/basic_string/56166.cc: New.
2315 * testsuite/ext/vstring/modifiers/clear/56166.cc: New.
2317 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
2318 (basic_string::erase(size_type, size_type)): Add fast path for
2319 truncating the string, by calling _M_set_length directly.
2320 (basic_string::erase(__const_iterator, __const_iterator)): Likewise.
2321 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
2322 (basic_string::resize(size_type, _CharT)): Likewise.
2324 2016-09-22 Jason Merrill <jason@redhat.com>
2326 * configure.ac: Define HAVE_MEMALIGN for newlib.
2328 2015-09-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
2330 * config/cpu/m68k/atomicity.h: Adjust comment.
2331 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
2332 explicit atomicity_dir setup via configure.host.
2333 * configure.host (rtems-*): Set atomicity_dir.
2334 * configure: Regenerate.
2336 2016-09-22 Jonathan Wakely <jwakely@redhat.com>
2338 Implement C++17 node extraction and insertion (P0083R5)
2339 * doc/xml/manual/status_cxx2017.xml: Document status.
2340 * doc/html/*: Regenerate.
2341 * include/Makefile.am: Add bits/node_handle.h and reorder.
2342 * include/Makefile.in: Regenerate.
2343 * include/bits/hashtable.h (_Hashtable::node_type)
2344 (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node)
2345 (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract)
2346 (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define.
2347 (_Hash_merge_helper): Define primary template.
2348 * include/bits/node_handle.h: New header.
2349 * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as
2351 (map::node_type, map::insert_return_type, map::extract, map::merge)
2352 (map::insert(node_type&&), map::insert(const_iterator, node_type&&)):
2354 (_Rb_tree_merge_helper): Specialize for map.
2355 * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper
2357 (multimap::node_type, multimap::extract, multimap::merge)
2358 (multimap::insert(node_type&&))
2359 (multimap::insert(const_iterator, node_type&&)): Define.
2360 (_Rb_tree_merge_helper): Specialize for multimap.
2361 * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper
2363 (multiset::node_type, multiset::extract, multiset::merge)
2364 (multiset::insert(node_type&&))
2365 (multiset::insert(const_iterator, node_type&&)): Define.
2366 * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as
2368 (set::node_type, set::insert_return_type, set::extract, set::merge)
2369 (set::insert(node_type&&), set::insert(const_iterator, node_type&&)):
2371 (_Rb_tree_merge_helper): Specialize for set.
2372 * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend.
2373 (_Rb_tree::node_type, _Rb_tree::insert_return_type)
2374 (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal)
2375 (_Rb_tree::_M_reinsert_node_hint_unique)
2376 (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract)
2377 (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define.
2378 (_Rb_tree_merge_helper): Specialize for multiset.
2379 * include/bits/unordered_map.h (unordered_map): Declare
2380 unordered_map<> and unordered_multimap<> as friends.
2381 (unordered_map::node_type, unordered_map::insert_return_type)
2382 (unordered_map::extract, unordered_map::merge)
2383 (unordered_map::insert(node_type&&))
2384 (unordered_map::insert(const_iterator, node_type&&))
2385 (unordered_multimap): Declare _Hash_merge_helper as friend.
2386 (unordered_multimap::node_type, unordered_multimap::extract)
2387 (unordered_multimap::merge, unordered_multimap::insert(node_type&&))
2388 (unordered_multimap::insert(const_iterator, node_type&&)): Define.
2389 (_Hash_merge_helper): Specialize for unordered maps and multimaps.
2390 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
2391 Declare _Hash_merge_helper as friend.
2392 (unordered_set::node_type, unordered_set::insert_return_type)
2393 (unordered_set::extract, unordered_set::merge)
2394 (unordered_set::insert(node_type&&))
2395 (unordered_set::insert(const_iterator, node_type&&)): Define.
2396 (unordered_multiset::node_type, unordered_multiset::extract)
2397 (unordered_multiset::merge, unordered_multiset::insert(node_type&&))
2398 (unordered_multiset::insert(const_iterator, node_type&&)): Define.
2399 (_Hash_merge_helper): Specialize for unordered sets and multisets.
2400 * include/debug/map.h (map): Add using declarations or forwarding
2401 functions for new members.
2402 * include/debug/map.h (multimap): Likewise.
2403 * include/debug/map.h (multiset): Likewise.
2404 * include/debug/map.h (set): Likewise.
2405 * include/debug/unordered_map (unordered_map, unordered_multimap):
2407 * include/debug/unordered_set( unordered_set, unordered_multiset):
2409 * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New
2411 (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper.
2412 (StdNodeHandlePrinter): Define printer for node handles.
2413 (build_libstdcxx_dictionary): Register StdNodeHandlePrinter.
2414 * testsuite/23_containers/map/modifiers/extract.cc: New.
2415 * testsuite/23_containers/map/modifiers/merge.cc: New.
2416 * testsuite/23_containers/multimap/modifiers/extract.cc: New.
2417 * testsuite/23_containers/multimap/modifiers/merge.cc: New.
2418 * testsuite/23_containers/multiset/modifiers/extract.cc: New.
2419 * testsuite/23_containers/multiset/modifiers/merge.cc: New.
2420 * testsuite/23_containers/set/modifiers/extract.cc: New.
2421 * testsuite/23_containers/set/modifiers/merge.cc: New.
2422 * testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
2423 * testsuite/23_containers/unordered_map/modifiers/merge.cc: New.
2424 * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
2426 * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New.
2427 * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
2429 * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New.
2430 * testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
2431 * testsuite/23_containers/unordered_set/modifiers/merge.cc: New.
2432 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2434 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles.
2436 2016-09-22 Ville Voutilainen <ville.voutilainen@gmail.com>
2438 Fix tests on old arm platforms for optional.
2439 * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
2441 2016-09-22 Jonathan Wakely <jwakely@redhat.com>
2443 * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for
2444 recent change to _Variant_storage.
2445 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with
2448 * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify
2449 std::forward and ::new. Cast pointer to void*.
2450 * include/std/variant (_Variant_storage, _Union, _Variant_base)
2451 (__access, __visit_invoke, variant, visit): Qualify std::forward.
2452 * testsuite/20_util/variant/compile.cc: Test for ADL problems.
2454 2016-09-22 Tim Shen <timshen@google.com>
2456 * include/std/variant (variant::operator=): Fix assignment
2458 * testsuite/20_util/variant/compile.cc: Add test.
2460 2016-09-22 Tim Shen <timshen@google.com>
2463 * include/std/variant (_Variant_storage::_Variant_storage):
2464 Change _Variant_storage's union to be default constructible.
2465 * testsuite/20_util/variant/compile.cc: New test.
2467 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
2470 * include/std/optional (__is_optional_impl, __is_optional): Remove.
2471 (__converts_from_optional, __assigns_from_optional): New.
2472 (optional(_Up&&)): Use is_same instead of __is_optional.
2473 (optional(const optional<_Up>&)): Constrain with
2474 __converts_from_optional.
2475 (optional(optional<_Up>&&)): Likewise.
2476 (operator=(_Up&&)): Use is_same instead of __is_optional, check
2477 is_same and is_scalar.
2478 (operator=(const optional<_Up>&)): Constrain with
2479 __converts_from_optional and __assigns_from_optional.
2480 (operator=(optional<_Up>&&)): Likewise.
2481 * testsuite/20_util/optional/77288.cc: New.
2482 * testsuite/20_util/optional/cons/value.cc: Adjust.
2484 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
2486 Implement LWG 2729 for tuple.
2487 * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
2488 Suppress conditionally.
2489 (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
2490 (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
2491 (_Tuple_impl(const _Head&)): Constrain.
2492 (_Tuple_impl(_UHead&&)): Likewise.
2493 (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
2494 (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
2495 (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
2496 (operator=(const tuple&)): Enable conditionally.
2497 (operator=(tuple&&)): Suppress conditionally.
2498 (operator=(const tuple<_UElements...>&)): Constrain.
2499 (operator=(tuple<_UElements...>&&)): Likewise.
2500 (operator=(const tuple&)): Enable conditionally (2-param tuple).
2501 (operator=(tuple&&)): Suppress conditionally (2-param tuple).
2502 (operator=(const tuple<_U1, _U2>&)): Constrain.
2503 (operator=(tuple<_U1, _U2>&&)): Likewise.
2504 (operator=(const pair<_U1, _U2>&)): Likewise.
2505 (operator=(pair<_U1, _U2>&&)): Likewise.
2506 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
2507 * testsuite/20_util/tuple/tuple_traits.cc: New.
2509 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
2512 Implement LWG 2729 for pair.
2513 * include/bits/stl_pair.h (_PCC): New.
2514 (_ConstructiblePair, _ImplicitlyConvertiblePair):
2515 Turn into static member functions of _PCC.
2516 (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
2518 (pair(const _T1&, const _T2&)): Adjust.
2520 (pair(const pair<_U1, _U2>&)): Adjust.
2521 (pair(_U1&&, const _T2&)): Likewise.
2522 (pair(const _T1&, _U2&&)): Likewise.
2523 (pair(_U1&&, _U2&&)): Likewise.
2524 (pair(pair<_U1, _U2>&&)): Likewise.
2525 (operator=(const pair&)): Make conditionally deleted.
2526 (operator=(pair&&)): Make conditionally suppressed.
2527 (operator=(const pair<_U1, _U2>&)): Constrain.
2528 (operator=(pair<_U1, _U2>&&): Likewise.
2529 * include/std/type_traits (__nonesuch): New.
2530 * testsuite/20_util/pair/traits.cc: New.
2532 2016-09-20 Ville Voutilainen <ville.voutilainen@gmail.com>
2535 * include/bits/stl_construct.h: (_Construct_novalue): New.
2536 (_Destroy_n_aux, _Destroy_n): New.
2537 * include/bits/stl_uninitialized.h: (type_traits):
2538 New include in C++11 mode.
2539 (__uninitialized_default_novalue_1): New.
2540 (__uninitialized_default_novalue_n_1): Likewise.
2541 (__uninitialized_default_novalue): Likewise.
2542 (__uninitialized_default_novalue_n): Likewise.
2543 (__uninitialized_copy_n_pair): Likewise.
2544 (uninitialized_default_construct):
2545 Use __uninitialized_default_novalue.
2546 (uninitialized_default_construct_n):
2547 Use __uninitialized_default_novalue_n.
2548 (uninitialized_value_construct): Use __uninitialized_default.
2549 (uninitialized_value_construct_n): Use __uninitialized_default_n.
2550 (uninitialized_move): Use uninitialized_copy.
2551 (uninitialized_move_n): Use __uninitialized_copy_n_pair.
2552 (destroy_at): Use _Destroy.
2553 (destroy): Likewise.
2554 (destroy_n): Likewise.
2555 * testsuite/20_util/specialized_algorithms/
2556 memory_management_tools/1.cc: Add tests for exceptions,
2557 add tests for trivial cases for construct and move.
2559 2016-09-20 Jonathan Wakely <jwakely@redhat.com>
2561 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
2562 (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
2564 2016-09-19 Jonathan Wakely <jwakely@redhat.com>
2567 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
2568 (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
2569 division to int to work with Python 3.
2571 * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
2573 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
2574 display_hint to be set by subclasses.
2575 (StdVariantPrinter): Use array for display_hint. Adjust output to be
2576 more similar to std::any and std::optional output.
2577 (register_type_printers): Add type printers for basic_string_view
2578 typedefs and experimental::any. Adjust type printers for
2579 fundamentals_v1 templates to match fundamentals_v2 and later.
2580 * testsuite/libstdc++-prettyprinters/cxx17.cc: New.
2583 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
2585 (ListWorkerBase.get_value_from_node): Define new method.
2586 (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
2588 2016-09-17 Jonathan Wakely <jwakely@redhat.com>
2590 * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
2591 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
2592 Register for C++17 components in namespace std. Strip inline namespace
2595 2016-09-16 Jonathan Wakely <jwakely@redhat.com>
2597 * doc/xml/manual/profile_mode.xml: Fix typo.
2598 * doc/html/manual/profile_mode_devel.html: Regenerate.
2600 2016-09-16 Jonathan Wakely <jwakely@redhat.com>
2601 Marc Glisse <marc.glisse@inria.fr>
2603 * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
2604 (operator new(size_t, align_val_t)): Replace modulus operator with
2607 2016-09-16 Jonathan Wakely <jwakely@redhat.com>
2609 * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
2610 Increase alignment if less than sizeof(void*).
2611 [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
2612 Increase size if not a multiple of alignment.
2614 2016-09-15 Jonathan Wakely <jwakely@redhat.com>
2616 * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
2617 * doc/html/*: Regenerate.
2619 * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
2621 * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
2623 2016-09-14 Marek Polacek <polacek@redhat.com>
2625 * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
2628 2016-09-14 Christophe Lyon <christophe.lyon@linaro.org>
2630 * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
2631 Move dg-do directive before dg-skip.
2632 * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
2633 Move dg-do directive before dg-require.
2634 * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
2635 * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
2636 * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
2637 * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
2638 * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
2639 * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
2640 * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
2641 * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
2642 * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
2643 * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
2644 * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
2645 * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
2646 * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
2647 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
2648 * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
2650 * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
2651 * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
2652 * testsuite/27_io/objects/char/12048-5.cc: Likewise.
2653 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
2654 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
2656 2016-09-13 Ville Voutilainen <ville.voutilainen@gmail.com>
2658 Implement P0040R3, Extending memory management tools.
2659 * include/bits/stl_uninitialized.h (utility): New include
2661 (uninitialized_default_construct): New.
2662 (uninitialized_default_construct_n): Likewise.
2663 (uninitialized_value_construct): Likewise.
2664 (uninitialized_value_construct_n): Likewise.
2665 (uninitialized_move): Likewise.
2666 (uninitialized_move_n): Likewise.
2667 (destroy_at, destroy, destroy_n): Likewise.
2668 * testsuite/20_util/specialized_algorithms/memory_management_tools/
2671 2016-09-12 Jason Merrill <jason@redhat.com>
2673 * config/abi/pre/gnu.ver: Use [jmy] for size_t.
2675 2016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
2677 Implement P0253R1, Fixing a design mistake in the searchers
2678 interface in Library Fundamentals.
2679 * include/std/functional: (utility): New include in C++17 mode.
2680 (default_searcher): Use a pair as return type, adjust the definition.
2681 (boyer_moore_searcher): Likewise.
2682 (boyer_moore_horspool_searcher): Likewise.
2683 * testsuite/20_util/function_objects/searchers.cc: Adjust.
2685 2016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
2687 Implement C++17 string searchers.
2688 * include/std/functional: (unordered_map, vector): New includes
2690 (array, bits/stl_algo.h): Likewise.
2691 (default_searcher, __boyer_moore_map_base): New.
2692 (__boyer_moore_array_base, __is_std_equal_to): Likewise.
2693 (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
2694 (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
2695 (make_boyer_moore_searcher): Likewise.
2696 (make_boyer_moore_horspool_searcher): Likewise.
2697 * testsuite/20_util/function_objects/searchers.cc: New.
2699 2016-09-12 Matthew Wahab <matthew.wahab@arm.com>
2701 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
2702 Move dg-do directive before dg-require.
2703 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
2704 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
2706 * testsuite/22_locale/codecvt/utf8.cc: Likewise.
2707 * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
2708 * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
2709 * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
2710 * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
2711 * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
2712 * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
2713 * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
2714 * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
2715 * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
2716 * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
2717 * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
2718 * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
2720 * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
2722 * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
2723 * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
2724 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
2726 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
2728 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
2730 * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
2732 * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
2734 * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
2736 * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
2738 * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
2740 * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
2742 * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
2744 * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
2746 * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
2748 * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
2750 * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
2752 * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
2754 * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
2756 * testsuite/23_containers/forward_list/debug/
2757 iterator_self_move_assign_neg.cc: Likewise.
2758 * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
2760 * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
2762 * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
2764 * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
2766 * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
2768 * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
2770 * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
2772 * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
2774 * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
2775 * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
2776 * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
2777 * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
2778 * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
2779 * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
2780 * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
2781 * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
2782 * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
2783 * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
2784 * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
2786 * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
2787 * testsuite/23_containers/map/debug/60499.cc: Likewise.
2788 * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
2789 * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
2790 * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
2791 * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
2792 * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
2793 * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
2794 * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
2796 * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
2797 * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
2798 * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
2799 * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
2800 * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
2801 * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
2802 * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
2803 * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
2804 * testsuite/23_containers/multimap/debug/
2805 iterator_self_move_assign_neg.cc: Likewise.
2806 * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
2808 * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
2809 * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
2810 * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
2811 * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
2812 * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
2813 * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
2814 * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
2815 * testsuite/23_containers/multiset/debug/
2816 iterator_self_move_assign_neg.cc: Likewise.
2817 * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
2819 * testsuite/23_containers/set/debug/60499.cc: Likewise.
2820 * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
2821 * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
2822 * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
2823 * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
2824 * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
2825 * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
2826 * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
2828 * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
2829 * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
2830 * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
2831 * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
2832 * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
2834 * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
2835 * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
2836 * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
2838 * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
2840 * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
2842 * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
2843 * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
2844 * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
2845 * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
2846 * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
2847 * testsuite/23_containers/unordered_map/debug/
2848 invalid_local_iterator_compare_neg.cc: Likewise.
2849 * testsuite/23_containers/unordered_map/debug/
2850 invalid_local_iterator_range_neg.cc: Likewise.
2851 * testsuite/23_containers/unordered_map/debug/
2852 iterator_self_move_assign_neg.cc: Likewise.
2853 * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
2855 * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
2857 * testsuite/23_containers/unordered_map/debug/
2858 use_erased_local_iterator_neg.cc: Likewise.
2859 * testsuite/23_containers/unordered_map/debug/
2860 use_invalid_iterator_neg.cc: Likewise.
2861 * testsuite/23_containers/unordered_map/debug/
2862 use_invalid_local_iterator_neg.cc: Likewise.
2863 * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
2864 * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc:
2866 * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
2868 * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
2870 * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
2872 * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
2874 * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
2876 * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
2878 * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
2880 * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
2882 * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
2884 * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
2886 * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
2888 * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
2890 * testsuite/23_containers/unordered_multimap/debug/
2891 invalid_local_iterator_compare_neg.cc: Likewise.
2892 * testsuite/23_containers/unordered_multimap/debug/
2893 invalid_local_iterator_range_neg.cc: Likewise.
2894 * testsuite/23_containers/unordered_multimap/debug/
2895 iterator_self_move_assign_neg.cc: Likewise.
2896 * testsuite/23_containers/unordered_multimap/debug/
2897 max_load_factor_neg.cc: Likewise.
2898 * testsuite/23_containers/unordered_multimap/debug/
2899 self_move_assign_neg.cc: Likewise.
2900 * testsuite/23_containers/unordered_multimap/debug/
2901 use_erased_local_iterator_neg.cc: Likewise.
2902 * testsuite/23_containers/unordered_multimap/debug/
2903 use_invalid_iterator_neg.cc: Likewise.
2904 * testsuite/23_containers/unordered_multimap/debug/
2905 use_invalid_local_iterator_neg.cc: Likewise.
2906 * testsuite/23_containers/unordered_multiset/debug/60499.cc:
2908 * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
2910 * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
2912 * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
2914 * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
2916 * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
2918 * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
2920 * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
2922 * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
2924 * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
2926 * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
2928 * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
2930 * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
2932 * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
2934 * testsuite/23_containers/unordered_multiset/debug/
2935 invalid_local_iterator_compare_neg.cc: Likewise.
2936 * testsuite/23_containers/unordered_multiset/debug/
2937 invalid_local_iterator_range_neg.cc: Likewise.
2938 * testsuite/23_containers/unordered_multiset/debug/
2939 iterator_self_move_assign_neg.cc: Likewise.
2940 * testsuite/23_containers/unordered_multiset/debug/
2941 max_load_factor_neg.cc: Likewise.
2942 * testsuite/23_containers/unordered_multiset/debug/
2943 self_move_assign_neg.cc: Likewise.
2944 * testsuite/23_containers/unordered_multiset/debug/
2945 use_erased_local_iterator_neg.cc: Likewise.
2946 * testsuite/23_containers/unordered_multiset/debug/
2947 use_invalid_iterator_neg.cc: Likewise.
2948 * testsuite/23_containers/unordered_multiset/debug/
2949 use_invalid_local_iterator_neg.cc: Likewise.
2950 * testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
2951 * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
2952 * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
2953 * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
2955 * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
2956 * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
2957 * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
2959 * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
2961 * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
2963 * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
2964 * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
2965 * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
2966 * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
2967 * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
2968 * testsuite/23_containers/unordered_set/debug/
2969 invalid_local_iterator_compare_neg.cc: Likewise.
2970 * testsuite/23_containers/unordered_set/debug/
2971 invalid_local_iterator_range_neg.cc: Likewise.
2972 * testsuite/23_containers/unordered_set/debug/
2973 iterator_self_move_assign_neg.cc: Likewise.
2974 * testsuite/23_containers/unordered_set/debug/
2975 max_load_factor_neg.cc: Likewise.
2976 * testsuite/23_containers/unordered_set/debug/
2977 self_move_assign_neg.cc: Likewise.
2978 * testsuite/23_containers/unordered_set/debug/
2979 use_erased_local_iterator_neg.cc: Likewise.
2980 * testsuite/23_containers/unordered_set/debug/
2981 use_invalid_iterator_neg.cc: Likewise.
2982 * testsuite/23_containers/unordered_set/debug/
2983 use_invalid_local_iterator_neg.cc: Likewise.
2984 * testsuite/23_containers/vector/debug/52433.cc: Likewise.
2985 * testsuite/23_containers/vector/debug/60499.cc: Likewise.
2986 * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
2987 * testsuite/23_containers/vector/debug/
2988 iterator_self_move_assign_neg.cc: Likewise.
2989 * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
2991 * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
2992 * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
2993 * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
2994 * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
2995 * testsuite/29_atomics/atomic/60658.cc: Likewise.
2996 * testsuite/29_atomics/atomic/60695.cc: Likewise.
2997 * testsuite/29_atomics/atomic/62259.cc: Likewise.
2998 * testsuite/29_atomics/atomic/64658.cc: Likewise.
2999 * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
3000 * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
3001 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
3004 2016-09-11 Jonathan Wakely <jwakely@redhat.com>
3006 * libsupc++/new_opant.cc: Include exception_defines.h.
3007 * libsupc++/new_opvant.cc: Likewise.
3009 2016-09-09 Jason Merrill <jason@redhat.com>
3011 Implement P0035R4, C++17 new of over-aligned types.
3012 * libsupc++/new: Declare aligned new/delete operators.
3013 * config/abi/pre/gnu.ver: Export them.
3014 * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
3016 * libsupc++/new_opa.cc: New.
3017 * libsupc++/new_opant.cc: New.
3018 * libsupc++/new_opva.cc: New.
3019 * libsupc++/new_opva.cc: New.
3020 * libsupc++/del_opa.cc: New.
3021 * libsupc++/del_opant.cc: New.
3022 * libsupc++/del_opsa.cc: New.
3023 * libsupc++/del_opva.cc: New.
3024 * libsupc++/del_opvant.cc: New.
3025 * libsupc++/del_opvsa.cc: New.
3026 * libsupc++/Makefile.am: Build them.
3028 2016-09-05 Tim Shen <timshen@google.com>
3030 * include/std/variant: include bits/move.h for std::addressof.
3032 2016-09-05 Mikhail Strelnikov <mikhail.strelnikov@gmail.com>
3034 * include/std/variant (_Variant_storage::_M_storage()): Use
3035 std::addressof instead of operator& to take address.
3037 2016-09-02 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
3039 * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
3040 setrlimit on both native and cross targets.
3041 * configure: Regenerate.
3043 2016-08-31 Jonathan Wakely <jwakely@redhat.com>
3045 * include/bits/shared_ptr.h (_Assignable): New alias template.
3046 (shared_ptr::operator=(const shared_ptr<_Tp1>&))
3047 (shared_ptr::operator=(shared_ptr<_Tp1>&&))
3048 (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
3050 * include/bits/shared_ptr_base.h (_Assignable): New alias template.
3051 (__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
3052 (__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
3053 (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
3055 (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
3056 (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
3058 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
3060 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
3061 * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
3062 * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
3063 expected errors. Remove unnecessary code.
3064 * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
3066 * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
3068 * testsuite/23_containers/set/move_comparison.cc: New test.
3070 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
3073 2016-08-30 Ville Voutilainen <ville.voutilainen@gmail.com>
3076 * include/std/type_traits (is_constructible): Forward-declare...
3077 (__is_base_to_derived_ref): ...and use here.
3078 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
3079 * testsuite/20_util/is_constructible/77395.cc: New.
3080 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
3081 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3083 * testsuite/20_util/tuple/77395.cc: New.
3085 2016-08-30 Uros Bizjak <ubizjak@gmail.com>
3087 * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
3088 directive above dg-require-namedlocale directive.
3089 * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
3090 * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
3091 * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
3092 * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
3093 * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
3095 2016-08-27 Tim Shen <timshen@google.com>
3098 * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
3099 _M_expression_term): Modify to support dash literal.
3100 * include/bits/regex_scanner.h: Add dash as a token type to make
3101 a different from the mandated dash literal by escaping.
3102 * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
3103 token in bracket expression parsing.
3104 * testsuite/28_regex/regression.cc: Add new testcases.
3106 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
3109 * doc/xml/manual/intro.xml: Document DR 2127 change.
3110 * doc/html/*: Regenerate.
3111 * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
3112 (operator++(), operator++(int)): Use injected class name.
3113 * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
3115 * testsuite/*: Use { target c++11 } or { target c++14 } instead of
3116 using -std in dg-options.
3118 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
3119 Pedro Alves <palves@redhat.com>
3121 * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
3122 and restore dg-interpreter-batch-mode.
3123 * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
3124 gdb-dg-runtest instead of dg-runtest.
3125 * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
3127 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
3129 * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
3130 precise patterns for basic_string constructors.
3131 (GLIBCXX_3.4.23): Export new constructors.
3132 * doc/xml/manual/intro.xml: Document LWG 2583 status.
3133 * doc/html/*: Regenerate.
3134 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
3135 (basic_string(const basic_string&, size_type, const Alloc&)): Add
3136 new constructor for LWG 2583.
3137 (basic_string(const basic_string&, size_type, size_type)): Remove
3139 [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
3140 * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
3141 * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
3142 * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
3144 2016-08-24 Aditya Kumar <hiraditya@msn.com>
3146 * include/bits/algorithmfwd.h: Remove trailing whitespace.
3147 * include/bits/shared_ptr_base.h: Likewise.
3149 2016-08-23 Jonathan Wakely <jwakely@redhat.com>
3151 * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
3152 * include/profile/array (array): Likewise.
3153 (array::swap): Fix exception specification for zero-sized arrays.
3156 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
3157 (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
3158 * testsuite/23_containers/map/77334.cc: New test.
3160 * doc/xml/manual/using.xml: Remove reference to -pthreads option.
3161 * doc/html/*: Regenerate.
3163 * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
3164 * testsuite/experimental/feat-lib-fund.cc: Likewise.
3167 * include/bits/stl_iterator.h
3168 (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
3169 define for C++98 mode.
3170 (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
3171 * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
3173 * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
3174 * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
3175 * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
3176 * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
3177 difference operator.
3178 * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
3179 difference operator for C++98.
3180 * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
3182 * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
3183 * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
3184 (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
3185 * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
3186 (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
3188 * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
3189 _GLIBCXX14_CONSTEXPR.
3190 (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
3191 * include/std/array (array::begin, array::end, array::rbegin)
3192 (array::rend, array::cbegin, array:cend, array::crbegin)
3193 (array::crend, array::operator[], array::at, array::front)
3194 (array::back, array::data): Likewise.
3195 * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
3196 with separate tests for C++11, C++14, and C++17.
3197 * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
3198 * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
3199 * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
3201 2016-08-22 Tim Shen <timshen@google.com>
3203 Split _M_dfs() into smaller functions.
3204 * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
3205 (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
3206 (_M_handle_line_end_assertion, _M_handle_word_boundary)
3207 (_M_handle_subexpr_lookahead, _M_handle_match)
3208 (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
3209 Add separate function declarations.
3210 * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
3212 2016-08-22 Gleb Natapov <gleb@scylladb.com>
3215 * config/abi/pre/gnu-versioned-namespace.ver: Export
3216 __cxa_init_primary_exception and std::exception_ptr(void*).
3217 * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
3218 export __cxa_init_primary_exception and std::exception_ptr(void*).
3219 * include/Makefile.am: Add new headers.
3220 * include/Makefile.in: Regenerate.
3221 * libsupc++/Makefile.am: Add new headers.
3222 * libsupc++/Makefile.in: Regenerate.
3223 * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
3224 * libsupc++/cxxabi_init_exception.h: New header.
3225 (__cxa_init_primary_exception): Declare.
3226 * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
3227 (__cxa_throw): Use __cxa_init_primary_exception.
3228 * libsupc++/exception (std::exception): Move to ...
3229 * libsupc++/exception.h: New header.
3230 * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
3232 (__exception_ptr::__dest_thunk): New function template.
3233 (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
3234 Use __cxa_allocate_exception and __cxa_init_primary_exception to
3235 create exception_ptr.
3236 * libsupc++/typeinfo: Include bits/exception.h instead of exception.
3237 * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
3239 2016-08-22 Jonathan Wakely <jwakely@redhat.com>
3241 * doc/xml/api.xml: Replace hardcoded links for specific versions with
3242 link to docs for all releases.
3243 * doc/html/*: Regenerate.
3246 * doc/xml/manual/intro.xml: Document DR 2062 change.
3247 * include/std/functional (function::swap): Add noexcept.
3248 (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
3249 * testsuite/20_util/function/77322.cc: New test.
3251 2016-08-19 Jonathan Wakely <jwakely@redhat.com>
3253 * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
3254 *-*-solaris* instead of -pthreads.
3255 * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
3256 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
3257 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
3258 * testsuite/23_containers/list/pthread1.cc: Likewise.
3259 * testsuite/23_containers/list/pthread5.cc: Likewise.
3260 * testsuite/23_containers/map/pthread6.cc: Likewise.
3261 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
3262 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
3263 * testsuite/30_threads/shared_mutex/*: Likewise.
3264 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
3265 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3266 default_weaktoshared.cc: Likewise.
3267 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3268 mutex_weaktoshared.cc: Likewise.
3269 * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
3270 dg-require-effective-target instead of using -std option.
3271 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
3273 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
3274 * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
3276 * testsuite/30_threads/async/*: Likewise.
3277 * testsuite/30_threads/call_once/*: Likewise.
3278 * testsuite/30_threads/condition_variable/*: Likewise.
3279 * testsuite/30_threads/condition_variable_any/*: Likewise.
3280 * testsuite/30_threads/future/*: Likewise.
3281 * testsuite/30_threads/lock/*: Likewise.
3282 * testsuite/30_threads/mutex/*: Likewise.
3283 * testsuite/30_threads/packaged_task/*: Likewise.
3284 * testsuite/30_threads/promise/*: Likewise.
3285 * testsuite/30_threads/recursive_mutex/*: Likewise.
3286 * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
3287 * testsuite/30_threads/shared_future/*: Likewise.
3288 * testsuite/30_threads/shared_lock/*: Likewise.
3289 * testsuite/30_threads/shared_timed_mutex/*: Likewise.
3290 * testsuite/30_threads/this_thread/*: Likewise.
3291 * testsuite/30_threads/thread/*: Likewise.
3292 * testsuite/30_threads/timed_mutex/*: Likewise.
3293 * testsuite/30_threads/try_lock/*: Likewise.
3294 * testsuite/30_threads/unique_lock/*: Likewise.
3296 * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
3297 * doc/html/*: Regenerate.
3298 * include/experimental/functional (_Not_fn, not_fn): Match C++17
3300 * include/std/functional (_Not_fn, not_fn): Define for C++17.
3301 * testsuite/20_util/not_fn/1.cc: New.
3302 * testsuite/experimental/functional/not_fn.cc: Test abstract class.
3303 Remove test for volatile-qualified wrapper.
3305 * include/std/atomic (atomic::is_always_lock_free): Define.
3306 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
3307 * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
3308 * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
3309 * doc/xml/manual/status_cxx2017.xml: Update status.
3310 * doc/html/*: Regenerate.
3312 * include/experimental/tuple (apply): Qualify call to __apply_impl.
3313 * include/std/tuple (apply): Likewise.
3314 * testsuite/experimental/system_error/value.cc: Fix ambiguities in
3316 * testsuite/experimental/tuple/tuple_size.cc: Likewise.
3317 * testsuite/experimental/type_traits/value.cc: Likewise.
3319 * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
3321 * doc/html/*: Regenerate.
3323 2016-08-18 Ville Voutilainen <ville.voutilainen@gmail.com>
3325 Implement the latest proposed resolution of LWG 2756.
3326 * include/std/optional (Optional_base(const _Tp&))
3327 (Optional_base(_Tp&&), using _Base::_Base): Remove.
3328 (optional(nullopt_t)): New.
3329 (optional(_Up&&)): Invoke base directly with in_place
3330 rather than creating a temporary, add default template
3331 argument, change constraints.
3332 (optional(const optional<_Up>&)): Invoke base directly
3333 with in_place, remove unnecessary constraints.
3334 (optional(optional<_Up>&& __t)): Likewise.
3335 (optional(in_place_t, _Args&&...)): New.
3336 (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
3337 (operator=(_Up&&)): Add default template argument, change constraints.
3338 (operator=(const optional<_Up>&)): Put is_same first in the
3340 (operator=(optional<_Up>&&)): Likewise.
3341 * testsuite/20_util/optional/assignment/5.cc: Add a test to
3342 verify assignment from something that can't be perfect-forwarded.
3343 * testsuite/20_util/optional/cons/value.cc: Add tests to verify
3344 that a nested optional is disengaged when constructed
3345 from a disengaged element type, and to verify that assignments
3346 from an engaged element type engage the optional.
3348 2016-08-18 Tim Shen <timshen@google.com>
3352 * include/Makefile.am: Add new file std/variant.
3353 * include/Makefile.in: Generated from Makefile.am.
3354 * include/bits/enable_special_members.h: Add a tag type to allow
3355 the construction in non-default constructor.
3356 * include/bits/uses_allocator.h: Add convenience traits to
3357 detect constructibility.
3358 * include/std/variant: Implement <variant>.
3359 * testsuite/20_util/variant/compile.cc: Compile-time tests.
3360 * testsuite/20_util/variant/run.cc: Runtime tests.
3362 2016-08-18 Jonathan Wakely <jwakely@redhat.com>
3364 * doc/xml/manual/test.xml (test.run.permutations): Expand section.
3365 (test.new_tests): Rewrite section.
3366 (tests.dg.directives): New section.
3367 * doc/html/*: Regenerate.
3369 * doc/xml/manual/test.xml: Improve documentation of test targets.
3370 Document new-abi-baseline, check-debug, and check-parallel targets.
3372 * doc/xml/manual/build_hacking.xml: New section on shared library
3375 * doc/xml/manual/build_hacking.xml: Improve markup.
3376 * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
3378 * doc/xml/faq.xml: Change link text to "Testing".
3380 * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
3381 dg-options directive.
3383 2016-08-17 Jonathan Wakely <jwakely@redhat.com>
3385 * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
3386 directive and use effective target instead of dg-options.
3388 * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
3389 instead of -std in dg-options.
3390 * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
3391 * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
3392 * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
3393 * testsuite/20_util/hash/quality.cc: Likewise.
3394 * testsuite/25_algorithms/heap/moveable.cc: Likewise.
3395 * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
3396 * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
3397 * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
3398 * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
3399 * testsuite/25_algorithms/sort/random_test.cc: Likewise.
3401 * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
3402 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
3403 * testsuite/27_io/rvalue_streams.cc: Likewise.
3405 * testsuite/26_numerics/complex/literals/types.cc: Add comment.
3407 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
3408 Remove duplicate dg-options directive.
3410 * testsuite/ext/profile/all.cc: Use effective target instead of
3411 -std=gnu++11. Use dg-additional-options instead of repeating options.
3413 * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
3414 -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
3415 instead of dg-excess-errors.
3417 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
3419 * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
3420 * testsuite/experimental/ratio/value.cc: Likewise.
3421 * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
3423 * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
3424 * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
3425 * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
3426 * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
3427 * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
3428 * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
3429 * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
3430 * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
3431 * testsuite/tr1/5_numerical_facilities/special_functions/
3432 10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
3433 C++17 compatibility.
3435 * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
3436 expected signatures for C++14 compatibility.
3439 * include/bits/basic_string.h (operator=(__sv_type)
3440 (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
3441 (replace(size_type, size_type, __sv_type))
3442 (replace(const_iterator, const_iterator, __sv_type))
3443 (find(__sv_type, size_type), rfind(__sv_type, size_type))
3444 (compare(size_type, size_type, __sv_type)): Reformat.
3445 (_If_sv): Define helper for SFINAE constaints.
3446 (append(const _Tp&, size_type, size_type))
3447 (assign(const _Tp&, size_type, size_type))
3448 (insert(size_type, const _Tp&, size_type, size_type))
3449 (replace(size_type, size_type, const _Tp&, size_type, size_type)):
3451 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
3453 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
3455 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
3457 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
3459 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
3461 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
3463 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
3465 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
3467 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
3469 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
3471 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
3474 2016-08-16 Jonathan Wakely <jwakely@redhat.com>
3477 * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
3478 pointers to start and end of storage.
3479 * testsuite/23_containers/vector/bool/72847.cc: New test.
3480 * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
3481 _M_finish after deallocating.
3482 (vector<bool>::_M_fill_insert): Likewise.
3483 (vector<bool>::_M_insert_range): Likewise.
3484 (vector<bool>::_M_insert_aux): Likewise.
3486 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
3488 Implement LWG 2744 and LWG 2754.
3489 * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
3490 (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
3491 (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
3493 (emplace(_Args&&...)): Likewise.
3494 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
3495 * include/std/utility: (__is_in_place_type_impl): New.
3496 (__is_in_place_type): Likewise.
3497 * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
3499 * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
3500 in_place constructor.
3501 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
3502 * testsuite/20_util/any/requirements.cc: Add a test for
3503 in_place-constructing a non-default-constructible type.
3505 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
3507 Add a feature macro for C++17 make_from_tuple.
3508 * include/std/tuple (__cpp_lib_make_from_tuple): New.
3509 (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
3510 Qualify the call to get<>().
3511 * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
3513 2016-08-15 Uros Bizjak <ubizjak@gmail.com>
3515 * src/filesystem/ops.cc: Always include ostream and
3516 ext/stdio_filebuf.h.
3517 (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
3518 [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
3519 sendfile fails with ENOSYS or EINVAL.
3521 2016-08-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
3524 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
3527 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
3529 Implement C++17 make_from_tuple.
3530 * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
3531 * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
3533 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
3536 * include/bits/basic_string.h
3537 (append(__sv_type, size_type, size_type)): Turn into a template,
3538 change parameter type, constrain, add a conversion to __sv_type
3539 from the dependent parameter type.
3540 (assign(__sv_type, size_type, size_type)): Likewise.
3541 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
3542 (replace(size_type, size_type, __sv_type, size_type, size_type)):
3544 (compare(size_type, size_type,__sv_type, size_type, size_type)):
3546 * testsuite/21_strings/basic_string/lwg2758.cc: New.
3548 2016-08-06 Jonathan Wakely <jwakely@redhat.com>
3550 * doc/xml/manual/status_cxx2017.xml: Update status table.
3551 * doc/html/manual/status.html: Regenerate.
3553 * testsuite/lib/libstdc++.exp: Fix typo in comment.
3556 * include/std/functional (_Function_base::_Base_manager::_M_clone):
3557 Qualify new operator.
3558 * testsuite/20_util/function/cons/72820.cc: New test.
3560 * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
3561 * doc/html/manual/status.html: Regenerate.
3562 * include/Makefile.am: Add new header.
3563 * include/Makefile.in: Regenerate.
3564 * include/bits/invoke.h: New header.
3565 (__invoke): Make constexpr. Add && to types in exception specification.
3566 * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
3567 names. Include <bits/invoke.h> and use std::__invoke.
3568 * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
3570 (invoke): Add && to types in exception specification.
3571 * include/std/tuple (apply, __apply_impl): Define for C++17.
3572 * testsuite/20_util/tuple/apply/1.cc: New test.
3573 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
3576 2016-08-05 Jonathan Wakely <jwakely@redhat.com>
3578 * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
3579 * doc/html/manual/status.html: Regenerate.
3581 * include/std/chrono (floor, ceil, round, abs): New for C++17.
3582 * testsuite/20_util/duration_cast/rounding.cc: New test.
3583 * testsuite/20_util/time_point_cast/rounding.cc: New test.
3584 * doc/xml/manual/status_cxx2017.xml: Update status table.
3585 * doc/html/manual/status.html: Regenerate.
3586 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
3588 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
3589 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
3590 * testsuite/20_util/duration/literals/range.cc: Likewise.
3592 * include/std/functional (__callable_functor): Remove.
3593 (_Function_handler::_M_invoke): Use __invoke instead of
3594 __callable_functor or mem_fn.
3595 (function::_Callable): Use lvalue in result_of expression.
3596 (function): Remove TODO comments about allocators.
3597 * testsuite/20_util/function/cons/refqual.cc: New test.
3599 2016-08-04 Jonathan Wakely <jwakely@redhat.com>
3601 * doc/xml/manual/status_cxx2017.xml: Update status table.
3602 * include/std/functional (__inv_unwrap): Move to <type_traits>.
3603 (__invoke_impl): Remove exception specifications.
3604 (__invoke, invoke): Add exception specifications using
3605 __is_nothrow_callable.
3606 * include/std/type_traits (__inv_unwrap): Move from <functional>.
3607 (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
3608 (__is_callable, __is_nothrow_callable): New traits.
3609 (is_callable, is_callable_v): New C++17 traits.
3610 (is_nothrow_callable, is_nothrow_callable_v): Likewise.
3611 * testsuite/20_util/is_callable/requirements/
3612 explicit_instantiation.cc: New test.
3613 * testsuite/20_util/is_callable/requirements/
3614 explicit_instantiation_ext.cc: New test.
3615 * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
3616 * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
3618 * testsuite/20_util/is_callable/value.cc: New test.
3619 * testsuite/20_util/is_callable/value_ext.cc: New test.
3620 * testsuite/20_util/is_nothrow_callable/requirements/
3621 explicit_instantiation.cc: New test.
3622 * testsuite/20_util/is_nothrow_callable/requirements/
3623 explicit_instantiation_ext.cc: New test.
3624 * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
3626 * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
3628 * testsuite/20_util/is_nothrow_callable/value.cc: New test.
3629 * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
3631 * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
3632 * doc/html/manual/status.html: Regenerate.
3634 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
3635 effective target not dg-options. Move check for feature-test macro to:
3636 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
3639 * include/std/functional (_Unwrap): Rename to __inv_unwrap.
3641 (__invoke_impl): Remove unused template parameters.
3642 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
3644 * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
3645 and test __invoke extension for C++11.
3647 2016-08-03 Jonathan Wakely <jwakely@redhat.com>
3649 * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
3650 Define feature-test macro.
3651 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
3654 * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
3655 * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
3656 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
3657 * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
3658 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
3660 * include/std/utility (as_const): Define.
3661 * testsuite/20_util/as_const/1.cc: New test.
3662 * testsuite/20_util/as_const/rvalue_neg.cc: New test.
3664 * include/bits/shared_ptr.h (owner_less): Add default template
3666 * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
3668 (owner_less<void>): Define specialization.
3669 * include/bits/stl_function.h (__cpp_lib_transparent_operators):
3671 * testsuite/20_util/owner_less/void.cc: New test.
3672 * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
3674 * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
3675 Define feature-test macro.
3676 * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
3677 * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
3678 * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
3679 (__cpp_lib_type_trait_variable_templates): Define.
3681 * include/bits/stl_function.h: Remove commented-out macro.
3682 * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
3683 Define feature-test macro.
3684 * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
3686 * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
3687 C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
3689 * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
3690 do #error for C++17.
3691 * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
3692 of __STDCPP_WANT_MATH_SPEC_FUNCS__.
3693 * include/tr1/bessel_function.tcc: Likewise.
3694 * include/tr1/beta_function.tcc: Likewise.
3695 * include/tr1/cmath: Likewise.
3696 * include/tr1/ell_integral.tcc: Likewise.
3697 * include/tr1/exp_integral.tcc: Likewise.
3698 * include/tr1/gamma.tcc: Likewise.
3699 * include/tr1/hypergeometric.tcc: Likewise.
3700 * include/tr1/legendre_function.tcc: Likewise.
3701 * include/tr1/modified_bessel_func.tcc: Likewise.
3702 * include/tr1/poly_hermite.tcc: Likewise.
3703 * include/tr1/poly_laguerre.tcc: Likewise.
3704 * include/tr1/riemann_zeta.tcc: Likewise.
3705 * include/tr1/special_function_util.h: Likewise.
3706 * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
3708 * include/std/type_traits (has_trivial_default_constructor): Remove.
3709 (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
3710 * testsuite/20_util/has_trivial_copy_assign/requirements/
3711 explicit_instantiation.cc: Remove test.
3712 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
3714 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
3716 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
3717 * testsuite/20_util/has_trivial_copy_constructor/requirements/
3718 explicit_instantiation.cc: Likewise.
3719 * testsuite/20_util/has_trivial_copy_constructor/requirements/
3720 typedefs.cc: Likewise.
3721 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
3722 * testsuite/20_util/has_trivial_default_constructor/requirements/
3723 explicit_instantiation.cc: Likewise.
3724 * testsuite/20_util/has_trivial_default_constructor/requirements/
3725 typedefs.cc: Likewise.
3726 * testsuite/20_util/has_trivial_default_constructor/value.cc:
3728 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
3729 Check has_trivial_default_constructor, has_trivial_copy_constructor,
3730 and has_trivial_copy_assign are not defined.
3731 * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
3733 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
3734 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
3735 dg-error line number.
3736 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3739 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
3741 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
3742 Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
3743 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
3745 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
3747 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
3749 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
3751 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
3753 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
3756 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
3759 * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
3760 dg-error to relevant line.
3761 * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
3763 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
3765 * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
3767 * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
3768 options are present that aren't valid for C.
3769 * testsuite/abi/header_cxxabi.c: Likewise.
3771 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
3772 check_value.cc: Do not add special functions to namespace std in TR1
3775 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
3776 run for C++11 and later.
3777 * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
3779 * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
3780 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
3781 * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
3782 * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
3783 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
3785 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
3787 * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
3788 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
3790 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
3792 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
3794 * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
3795 * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
3796 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
3797 * testsuite/special_functions/03_beta/check_value.cc: Likewise.
3798 * testsuite/special_functions/03_beta/compile.cc: Likewise.
3799 * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
3800 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
3801 * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
3803 * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
3804 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
3805 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
3806 * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
3808 * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
3809 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
3810 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
3811 * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
3813 * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
3814 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
3815 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
3816 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
3818 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
3819 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
3820 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
3821 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
3822 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
3824 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
3825 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
3826 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
3827 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
3829 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
3830 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
3831 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
3832 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
3833 * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
3834 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
3835 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
3836 * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
3837 * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
3838 * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
3839 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
3840 * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
3841 * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
3842 * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
3843 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
3844 * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
3845 * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
3846 * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
3847 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
3848 * testsuite/special_functions/14_expint/check_value.cc: Likewise.
3849 * testsuite/special_functions/14_expint/compile.cc: Likewise.
3850 * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
3851 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
3852 * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
3853 * testsuite/special_functions/15_hermite/compile.cc: Likewise.
3854 * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
3855 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
3856 * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
3857 * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
3858 * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
3859 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
3860 * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
3861 * testsuite/special_functions/17_legendre/compile.cc: Likewise.
3862 * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
3863 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
3864 * testsuite/special_functions/18_riemann_zeta/check_value.cc:
3866 * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
3867 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
3868 * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
3869 * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
3870 * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
3871 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
3872 * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
3873 * testsuite/special_functions/20_sph_legendre/check_value.cc:
3875 * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
3876 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
3877 * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
3878 * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
3879 * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
3880 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
3882 * testsuite/tr1/5_numerical_facilities/special_functions/
3883 08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
3885 * testsuite/tr1/5_numerical_facilities/special_functions/
3886 09_cyl_bessel_j/check_value.cc: Likewise.
3887 * testsuite/tr1/5_numerical_facilities/special_functions/
3888 10_cyl_bessel_k/check_value.cc: Likewise.
3889 * testsuite/tr1/5_numerical_facilities/special_functions/
3890 11_cyl_neumann/check_value.cc: Likewise.
3891 * testsuite/tr1/5_numerical_facilities/special_functions/
3892 21_sph_bessel/check_value.cc: Likewise.
3893 * testsuite/tr1/5_numerical_facilities/special_functions/
3894 23_sph_neumann/check_value.cc: Likewise.
3896 2016-08-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3898 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
3899 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
3900 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
3901 * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
3902 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
3903 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
3905 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
3907 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
3910 * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
3911 additional flags for compiling libtestc++.a objects.
3913 2016-08-01 Jonathan Wakely <jwakely@redhat.com>
3915 * include/bits/basic_string.h (data() const): Update comment.
3916 (data()): Add non-const overload for C++17.
3917 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
3918 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
3920 * include/bits/basic_string.tcc: Disable explicit instantiation
3921 declarations for C++17.
3923 * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
3924 ignored "xfail" from { dg-do compile { xfail selector } } directive.
3925 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
3927 * testsuite/26_numerics/headers/cmath/
3928 c99_classification_macros_c++11.cc: Likewise.
3929 * testsuite/26_numerics/headers/cmath/
3930 c99_classification_macros_c++98.cc: Likewise.
3931 * testsuite/26_numerics/headers/cmath/
3932 c99_classification_macros_c.cc: Likewise.
3934 * testsuite/backward/hash_set/check_construct_destroy.cc: Account
3935 for different construct/destroy counts in C++98 mode.
3937 * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
3939 * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
3941 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
3944 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
3945 C++98-compatible initialization for array.
3947 * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
3948 unused header and variable from compile-only test.
3949 * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
3950 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
3951 * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
3952 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
3955 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
3956 Remove duplicate dg-options directive.
3958 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
3959 808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
3961 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
3962 linker options from compile-only tests.
3963 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
3966 * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
3967 supported for C++11 and later.
3968 * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
3969 * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
3971 2016-08-01 Uros Bizjak <ubizjak@gmail.com>
3973 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
3975 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
3977 * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
3980 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
3981 Ensure test is compiled with optimization.
3983 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
3984 Adjust dg-prune-output pattern for error in C++98 mode.
3986 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
3987 run for C++11 or later.
3989 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
3990 test to not rely on GNU extension (escaped normal characters in POSIX
3991 BRE). Enable tests for other strings which are now supported.
3993 * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
3994 c++11 instead of setting -std=gnu++14.
3997 * include/std/array (get): Use positive message for static assertions.
3998 * include/std/functional (_Safe_tuple_element_t): Fix indentation.
3999 * include/std/tuple (tuple_element<I, tuple<>>): Add partial
4000 specialization for invalid indices, with static assertion.
4001 * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
4003 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
4004 dg-error to relevant line.
4005 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
4007 * testsuite/23_containers/forward_list/requirements/dr438/
4008 assign_neg.cc: Likewise.
4009 * testsuite/23_containers/forward_list/requirements/dr438/
4010 constructor_1_neg.cc: Likewise.
4011 * testsuite/23_containers/forward_list/requirements/dr438/
4012 constructor_2_neg.cc: Likewise.
4013 * testsuite/23_containers/forward_list/requirements/dr438/
4014 insert_neg.cc: Likewise.
4015 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
4017 * testsuite/26_numerics/random/linear_congruential_engine/
4018 requirements/non_uint_neg.cc: Likewise.
4019 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
4020 Likewise. Also test for std::atomic_address.
4022 2016-07-31 Ville Voutilainen <ville.voutilainen@gmail.com>
4024 Add missing variable traits, fix testsuite failures.
4025 * include/bits/uses_allocator.h (uses_allocator_v): New.
4026 * include/std/functional (is_bind_expression_v, is_placeholder_v):
4028 * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
4029 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
4030 * testsuite/20_util/duration/literals/range.cc: Likewise.
4031 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
4032 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
4033 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
4034 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
4035 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
4037 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
4038 * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
4041 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
4043 * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
4044 not test 128-bit types.
4045 * testsuite/20_util/is_floating_point/value.cc: Likewise.
4046 * testsuite/20_util/is_integral/value.cc: Likewise.
4047 * testsuite/20_util/is_signed/value.cc: Likewise.
4048 * testsuite/20_util/is_unsigned/value.cc: Likewise.
4049 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
4050 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
4051 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
4053 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
4056 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
4058 2016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
4060 Implement C++17 variable templates for type traits.
4061 * include/std/chrono (treat_as_floating_point_v): New.
4062 * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
4063 (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
4064 (ratio_greater_equal_v): Likewise.
4065 * include/std/system_error (is_error_code_enum_v)
4066 (is_error_condition_enum_v): Likewise.
4067 * include/std/tuple (tuple_size_v): Likewise.
4068 * type_traits (conjunction_v, disjunction_v, negation_v)
4069 (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
4070 (is_array_v, is_pointer_v, is_lvalue_reference_v)
4071 (is_rvalue_reference_v, is_member_object_pointer_v)
4072 (is_member_function_pointer_v, is_enum_v, is_union_v)
4073 (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
4074 (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
4075 (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
4076 (is_trivially_copyable_v, is_standard_layout_v)
4077 (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
4078 (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
4079 (is_constructible_v, is_default_constructible_v)
4080 (is_copy_constructible_v, is_move_constructible_v)
4081 (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
4082 (is_destructible_v, is_trivially_constructible_v)
4083 (is_trivially_default_constructible_v)
4084 (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
4085 (is_trivially_assignable_v, is_trivially_copy_assignable_v)
4086 (is_trivially_move_assignable_v, is_trivially_destructible_v)
4087 (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
4088 (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
4089 (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
4090 (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
4091 (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
4092 (is_same_v, is_base_of_v, is_convertible_v): Likewise.
4093 * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
4094 * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
4096 * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
4097 * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
4098 * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
4100 2016-07-29 Andreas Schwab <schwab@linux-m68k.org>
4102 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
4103 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
4104 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
4106 2016-07-29 Jonathan Wakely <jwakely@redhat.com>
4108 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
4109 * doc/html/manual/abi.html: Regenerate.
4111 * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
4112 * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
4114 * configure: Regenerate.
4115 * testsuite/util/testsuite_abi.cc: Add new symbol version.
4117 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
4118 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
4119 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
4120 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
4122 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
4123 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
4124 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
4126 2016-07-28 Jonathan Wakely <jwakely@redhat.com>
4128 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
4129 Adjust dg-prune-output pattern for error in C++98 mode.
4130 * testsuite/23_containers/deque/requirements/dr438/
4131 constructor_1_neg.cc: Likewise.
4132 * testsuite/23_containers/deque/requirements/dr438/
4133 constructor_2_neg.cc: Likewise.
4134 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
4136 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
4138 * testsuite/23_containers/list/requirements/dr438/
4139 constructor_1_neg.cc: Likewise.
4140 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
4142 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
4144 * testsuite/23_containers/vector/requirements/dr438/
4145 constructor_1_neg.cc: Likewise.
4146 * testsuite/23_containers/vector/requirements/dr438/
4147 constructor_2_neg.cc: Likewise.
4148 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
4151 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
4152 for different construct/destroy counts in C++98 mode.
4154 * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
4155 dg-options to dg-additional-options so that default options are used.
4156 * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
4158 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
4159 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
4161 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
4162 Use dg-additional-options instead of repeating the common options.
4164 * testsuite/22_locale/conversions/string/1.cc: Remove unintended
4165 dg-do compile directive.
4166 * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
4168 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
4170 2016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
4172 Implement std::string_view and P0254r2,
4173 Integrating std::string_view and std::string.
4174 * include/Makefile.am: Add string_view and string_view.tcc
4175 to the exported headers.
4176 * include/Makefile.in: Likewise.
4177 * include/bits/basic_string.h: Include <string_view> in C++17 mode.
4179 (basic_string(__sv_type, const _Alloc&)): Likewise.
4180 (operator=(__sv_type)): Likewise.
4181 (operator __sv_type()): Likewise.
4182 (operator+=(__sv_type)): Likewise.
4183 (append(__sv_type __sv)): Likewise.
4184 (append(__sv_type, size_type, size_type)): Likewise.
4185 (assign(__sv_type)): Likewise.
4186 (assign(__sv_type, size_type, size_type)): Likewise.
4187 (insert(size_type, __sv_type)): Likewise.
4188 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
4189 (replace(size_type, size_type, __sv_type)): Likewise.
4190 (replace(size_type, size_type, __sv_type, size_type, size_type)):
4192 (replace(const_iterator, const_iterator, __sv_type)): Likewise.
4193 (find(__sv_type, size_type)): Likewise.
4194 (rfind(__sv_type, size_type)): Likewise.
4195 (find_first_of(__sv_type, size_type)): Likewise.
4196 (find_last_of(__sv_type, size_type)): Likewise.
4197 (find_first_not_of(__sv_type, size_type)): Likewise.
4198 (find_last_not_of(__sv_type, size_type)): Likewise.
4199 (compare(__sv_type)): Likewise.
4200 (compare(size_type, size_type, __sv_type)): Likewise.
4201 (compare(size_type, size_type, __sv_type, size_type, size_type)):
4203 * include/bits/string_view.tcc: New.
4204 * include/std/string_view: Likewise.
4205 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
4206 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
4207 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
4209 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
4211 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
4213 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
4215 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
4217 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
4219 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
4221 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
4223 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
4225 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
4227 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
4229 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
4231 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
4232 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
4233 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
4234 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
4235 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
4236 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
4237 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
4238 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
4239 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
4240 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
4242 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
4244 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
4246 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
4248 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
4250 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
4252 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
4254 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
4256 * testsuite/21_strings/basic_string_view/include.cc: Likewise.
4257 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
4258 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
4259 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
4260 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
4262 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
4264 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
4266 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
4268 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
4270 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
4272 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
4274 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
4276 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
4278 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
4280 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
4282 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
4284 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
4286 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
4288 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
4290 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
4292 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
4294 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
4296 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
4298 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
4300 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
4302 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
4304 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
4306 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
4308 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
4310 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
4312 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
4314 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
4316 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
4318 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
4320 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
4322 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
4324 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
4326 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
4327 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
4329 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
4331 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
4333 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
4335 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
4337 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
4339 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
4341 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
4343 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
4345 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
4346 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
4348 2016-07-27 Jonathan Wakely <jwakely@redhat.com>
4350 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
4352 2016-07-25 Georeth Chow <georeth2010@gmail.com>
4354 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
4355 _S_concat enumerator.
4356 * testsuite/ext/rope/6.cc: New test.
4358 2016-07-25 Jonathan Wakely <jwakely@redhat.com>
4360 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
4361 std::mt19937, std::thread and std::atomic to simplify test.
4362 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4364 2016-07-22 Jonathan Wakely <jwakely@redhat.com>
4367 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
4368 (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
4369 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
4370 * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
4371 * testsuite/23_containers/set/allocator/71964.cc: New test.
4373 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
4374 delete[] instead of delete.
4376 2016-07-21 Jonathan Wakely <jwakely@redhat.com>
4378 * include/experimental/propagate_const (propagate_const::__t): Rename
4379 to _M_t and remove comment. Qualify std::move and std::forward.
4380 * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
4382 * testsuite/23_containers/vector/zero_sized_allocations.cc:
4383 Define sized deallocation function.
4384 * testsuite/util/testsuite_new_operators.h:
4385 (operator delete(void*, const std::nothrow_t&)): Define nothrow
4386 deallocation function.
4388 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
4389 reads past the end of strings.
4390 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
4392 * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
4393 invalid array accesses.
4394 * testsuite/experimental/string_view/operations/compare/char/1.cc:
4395 Fix read past the end of string.
4396 * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
4398 * testsuite/24_iterators/container_access.cc: Fix missing returns.
4399 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
4401 * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
4402 leak) memory for arguments to placement delete.
4403 * testsuite/20_util/addressof/1.cc: Don't leak memory.
4404 * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
4405 * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
4408 2016-07-20 Jonathan Wakely <jwakely@redhat.com>
4410 * doc/xml/manual/intro.xml: Document DR 2684 status.
4411 * doc/html/*: Regenerate.
4413 * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
4414 (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
4415 (atomic_uint64_t): Define (LWG 2441).
4416 * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
4418 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
4420 * doc/xml/manual/intro.xml: Document DR 2441 status.
4422 * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
4423 to use perfect forwarding (LWG 2328).
4424 * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
4425 * doc/xml/manual/intro.xml: Document DR 2328 status.
4427 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
4428 static objects for catching nullptr as pointer to member types.
4430 2016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
4432 Clean up optional's comments.
4433 * include/std/optional: Remove incorrect section headers
4434 from comments when redundant, replace bare section
4435 headers with more descriptive comments.
4437 2016-07-15 Jonathan Wakely <jwakely@redhat.com>
4439 * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
4440 * include/bits/move.h: Likewise.
4441 * include/bits/postypes.h: Likewise.
4442 * include/debug/bitset: Likewise.
4443 * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
4444 * include/ext/string_conversions.h: Change C++0x to __cxx11 in
4446 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
4447 * testsuite/util/thread/all.h: Likewise.
4449 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
4453 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
4454 nullptr match handlers of pointer type.
4456 2016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
4458 Implement C++17 P0025 clamp.
4459 * include/bits/algorithmfwd.h: Declare clamp overloads.
4460 * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp.
4461 * testsuite/25_algorithms/clamp/1.cc: New test.
4462 * testsuite/25_algorithms/clamp/2.cc: New test.
4463 * testsuite/25_algorithms/clamp/constexpr.cc: New test.
4464 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
4466 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
4469 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
4471 Fix the constraints for any's assignment operator template to properly
4472 reject assignment from a non-copyable lvalue.
4473 * include/std/any (operator=(_ValueType&&)): Constrain the decayed
4474 type for is_copy_constructible,
4475 * testsuite/20_util/any/requirements.cc: Add a test for
4476 non-copyable lvalues.
4478 2016-07-14 Jonathan Wakely <jwakely@redhat.com>
4480 * include/experimental/functional: Include <parallel/algorithm> in
4483 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
4487 * include/bits/forward_list.h (forward_list): Update doxygen comments
4488 to reflect allocator propagation semantics. Remove ambiguous
4489 statements about data being lost.
4490 * include/bits/stl_deque.h (deque): Likewise.
4491 * include/bits/stl_list.h (list): Likewise.
4492 * include/bits/stl_map.h (map): Likewise.
4493 * include/bits/stl_multimap.h (multimap): Likewise.
4494 * include/bits/stl_multiset.h (multiset): Likewise.
4495 * include/bits/stl_set.h (set): Likewise.
4496 * include/bits/stl_vector.h (vector): Likewise.
4497 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
4499 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
4502 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
4504 Implement P0032R3, Homogeneous interface for variant, any and optional,
4505 for the parts concerning any and optional.
4506 * include/std/any (_Storage()): Make constexpr and have it
4508 (any()): Make constexpr.
4509 (any(const any&)): Adjust.
4510 (any(any&&)): Likewise.
4511 (__any_constructible_t): New.
4512 (any(_ValueType&&)): Constrain.
4513 (any(in_place_type_t<_Tp>, _Args&&...)): New.
4514 (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
4517 (operator=(const any&)): Likewise.
4518 (operator=(any&&)): Likewise.
4519 (operator=(_ValueType&&)): Constrain.
4520 (emplace(_Args&&...)): New.
4521 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
4524 (swap(any&)): Adjust.
4528 (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
4529 (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
4530 (make_any(_Args&&...)): Likewise.
4531 (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
4532 * include/std/optional (in_place_t, in_place): Remove.
4533 (bad_optional_access): Add a comment referring to LEWG 72.
4534 (emplace(_Args&&...)): Constrain.
4536 (reset()): Likewise.
4537 (make_optional(_Args&&...)): Likewise.
4538 (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
4539 * include/std/utility (in_place_tag): New.
4540 (__in_place, __in_place_type, __in_place_index): Likewise.
4541 (in_place_t, in_place_type_t, in_place_index_t): Likewise.
4542 (in_place(__in_place*)): Likewise.
4543 (in_place(__in_place_type<_Tp>*)): Likewise.
4544 (in_place(__in_place_index<_Idx>*)): Likewise.
4545 * testsuite/20_util/any/assign/1.cc: Adjust.
4546 * testsuite/20_util/any/assign/emplace.cc: New.
4547 * testsuite/20_util/any/assign/self.cc: Adjust.
4548 * testsuite/20_util/any/cons/1.cc: Likewise.
4549 * testsuite/20_util/any/cons/in_place.cc: New.
4550 * testsuite/20_util/any/make_any.cc: Likewise.
4551 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
4552 * testsuite/20_util/any/misc/swap.cc: Likewise.
4553 * testsuite/20_util/any/modifiers/1.cc: Likewise.
4554 * testsuite/20_util/any/requirements.cc: New.
4555 * testsuite/20_util/in_place/requirements.cc: Likewise.
4556 * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
4557 * testsuite/20_util/optional/in_place.cc: Likewise.
4558 * testsuite/20_util/optional/make_optional.cc: Add tests for
4559 the new overloads of make_optional.
4561 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
4563 Implement P0307R2, Making Optional Greater Equal Again.
4564 * include/experimental/optional (_Has_addressof): Fix the comment.
4565 * include/std/optional (_Has_addressof): Likewise.
4566 (operator=(_Up&&)): Constrain.
4567 (operator=(const optional<_Up>&)): Likewise.
4568 (operator=(optional<_Up>&&)): Likewise.
4569 (__optional_relop_t): New.
4570 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
4571 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
4572 Constrain and make transparent.
4573 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
4574 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
4575 Constrain and make transparent.
4576 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
4577 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
4578 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
4579 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
4580 (operator!=(const optional<_Tp>&, _Tp const&)):
4581 Constrain and make transparent.
4582 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
4583 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
4584 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
4585 (operator>(const optional<_Tp>&, const _Tp&)):
4586 Constrain and make transparent.
4587 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
4588 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
4589 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
4590 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
4591 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
4592 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
4593 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
4594 * testsuite/20_util/optional/relops/1.cc: Likewise.
4595 * testsuite/20_util/optional/relops/2.cc: Likewise.
4596 * testsuite/20_util/optional/relops/3.cc: Likewise.
4597 * testsuite/20_util/optional/relops/4.cc: Likewise.
4598 * testsuite/20_util/optional/requirements.cc: Add tests to verify
4599 that optional's relops are transparent and don't synthesize
4600 operators. Also test that assignment sfinaes.
4602 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
4605 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
4606 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
4607 Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
4608 on _GLIBCXX_ASSERTIONS.
4609 * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
4610 Include <unistd.h> for sleep.
4611 * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
4612 * include/parallel/merge.h: Likewise.
4613 * include/parallel/multiway_merge.h: Likewise.
4614 * include/parallel/partition.h: Likewise.
4615 * include/parallel/queue.h: Likewise.
4616 * include/parallel/sort.h: Likewise.
4617 * testsuite/25_algorithms/headers/algorithm/
4618 parallel_algorithm_assert.cc: New.
4620 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
4621 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
4622 Forward to different overload.
4624 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
4627 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
4629 Revert "Add non-const overload of std::string::data()".
4631 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
4633 Implement P0307R2, Making Optional Greater Equal Again.
4634 * include/experimental/optional (_Has_addressof): Fix the comment.
4635 * include/std/optional (_Has_addressof): Likewise.
4636 (operator=(_Up&&)): Constrain.
4637 (operator=(const optional<_Up>&)): Likewise.
4638 (operator=(optional<_Up>&&)): Likewise.
4639 (__optional_relop_t): New.
4640 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
4641 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
4642 Constrain and make transparent.
4643 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
4644 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
4645 Constrain and make transparent.
4646 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
4647 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
4648 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
4649 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
4650 (operator!=(const optional<_Tp>&, _Tp const&)):
4651 Constrain and make transparent.
4652 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
4653 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
4654 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
4655 (operator>(const optional<_Tp>&, const _Tp&)):
4656 Constrain and make transparent.
4657 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
4658 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
4659 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
4660 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
4661 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
4662 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
4663 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
4664 * testsuite/20_util/optional/relops/1.cc: Likewise.
4665 * testsuite/20_util/optional/relops/2.cc: Likewise.
4666 * testsuite/20_util/optional/relops/3.cc: Likewise.
4667 * testsuite/20_util/optional/relops/4.cc: Likewise.
4668 * testsuite/20_util/optional/requirements.cc: Add tests to verify
4669 that optional's relops are transparent and don't synthesize
4670 operators. Also test that assignment sfinaes.
4672 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
4674 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
4676 (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
4677 instead of _M_data().
4678 (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
4680 (append(const basic_string&)): Likewise.
4681 (append(const basic_string&, size_type, size_type)): Likewise.
4682 (assign(const basic_string&, size_type, size_type)): Likewise.
4683 (insert(size_type, const basic_string&)): Likewise.
4684 (insert(size_type, const basic_string&, size_type, size_type)):
4686 (replace(size_type, size_type, const basic_string&, size_type,
4687 size_type)): Likewise.
4688 (replace(__const_iterator, __const_iterator, const basic_string&)):
4690 (c_str(), data()): Use c_str() instead of _M_data().
4691 (data()): Add non-const overload as per LWG 2391 and P0272R1.
4692 (compare(const basic_string&)): Use data() instead of _M_data().
4693 [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
4694 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
4695 Pass raw pointers to _S_copy.
4696 (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
4698 (find(const _CharT*, size_type, size_type)): Use data instead of
4700 * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
4701 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
4702 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
4704 2016-07-12 Jonathan Wakely <jwakely@redhat.com>
4706 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
4707 * doc/xml/manual/intro.xml: Document DR 2458 status.
4708 * doc/html*: Regenerate.
4710 * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
4711 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
4712 Only include <array>.
4713 * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
4715 * doc/xml/manual/intro.xml: Document LWG 2212 support.
4716 * doc/html*: Regenerate.
4718 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
4719 Add testcase from LWG 2164.
4721 2016-07-11 François Dumont <fdumont@gcc.gnu.org>
4723 * include/bits/stl_vector.h (push_back(const value_type&)): Forward
4724 to _M_realloc_insert.
4725 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
4726 (_M_realloc_insert): Declare new function.
4727 (_M_emplace_back_aux): Remove definition.
4728 * include/bits/vector.tcc (emplace_back(_Args...)):
4729 Use _M_realloc_insert.
4730 (insert(const_iterator, const value_type&)): Likewise.
4731 (_M_insert_rval, _M_emplace_aux): Likewise.
4732 (_M_emplace_back_aux): Remove declaration.
4733 (_M_realloc_insert): Define.
4734 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
4735 Adjust expected results for emplacing an lvalue with reallocation.
4737 2016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
4739 Implement std::optional.
4740 * include/Makefile.am: Add optional to exported headers.
4741 * include/Makefile.in: Likewise.
4742 * include/std/optional: New.
4743 * testsuite/20_util/optional/typedefs.cc: Likewise.
4744 * testsuite/20_util/optional/relops/2.cc: Likewise.
4745 * testsuite/20_util/optional/relops/3.cc: Likewise.
4746 * testsuite/20_util/optional/relops/4.cc: Likewise.
4747 * testsuite/20_util/optional/relops/5.cc: Likewise.
4748 * testsuite/20_util/optional/relops/1.cc: Likewise.
4749 * testsuite/20_util/optional/relops/6.cc: Likewise.
4750 * testsuite/20_util/optional/nullopt.cc: Likewise.
4751 * testsuite/20_util/optional/in_place.cc: Likewise.
4752 * testsuite/20_util/optional/make_optional.cc: Likewise.
4753 * testsuite/20_util/optional/assignment/2.cc: Likewise.
4754 * testsuite/20_util/optional/assignment/3.cc: Likewise.
4755 * testsuite/20_util/optional/assignment/4.cc: Likewise.
4756 * testsuite/20_util/optional/assignment/5.cc: Likewise.
4757 * testsuite/20_util/optional/assignment/1.cc: Likewise.
4758 * testsuite/20_util/optional/assignment/6.cc: Likewise.
4759 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
4760 * testsuite/20_util/optional/cons/default.cc: Likewise.
4761 * testsuite/20_util/optional/cons/move.cc: Likewise.
4762 * testsuite/20_util/optional/cons/value.cc: Likewise.
4763 * testsuite/20_util/optional/cons/copy.cc: Likewise.
4764 * testsuite/20_util/optional/requirements.cc: Likewise.
4765 * testsuite/20_util/optional/observers/2.cc: Likewise.
4766 * testsuite/20_util/optional/observers/3.cc: Likewise.
4767 * testsuite/20_util/optional/observers/4.cc: Likewise.
4768 * testsuite/20_util/optional/observers/5.cc: Likewise.
4769 * testsuite/20_util/optional/observers/1.cc: Likewise.
4770 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
4771 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
4772 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
4773 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
4774 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
4775 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
4776 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
4777 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
4778 * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
4779 * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
4780 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
4781 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
4782 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
4783 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
4784 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
4785 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
4786 * testsuite/20_util/optional/swap/1.cc: Likewise.
4788 2016-07-08 Jonathan Wakely <jwakely@redhat.com>
4790 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
4792 2016-07-07 Jonathan Wakely <jwakely@redhat.com>
4794 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
4795 * doc/html/*: Regenerate.
4797 2016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
4800 * include/Makefile.am: Add any and c++17_warning.h to exported headers.
4801 * include/Makefile.in: Likewise.
4802 * include/std/any: New.
4803 * testsuite/20_util/any/assign/1.cc: Likewise.
4804 * testsuite/20_util/any/assign/2.cc: Likewise.
4805 * testsuite/20_util/any/assign/self.cc: Likewise.
4806 * testsuite/20_util/any/cons/1.cc: Likewise.
4807 * testsuite/20_util/any/cons/2.cc: Likewise.
4808 * testsuite/20_util/any/cons/aligned.cc: Likewise.
4809 * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
4810 * testsuite/20_util/any/misc/any_cast.cc: Likewise.
4811 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
4812 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
4813 * testsuite/20_util/any/misc/swap.cc: Likewise.
4814 * testsuite/20_util/any/modifiers/1.cc: Likewise.
4815 * testsuite/20_util/any/observers/type.cc: Likewise.
4816 * testsuite/20_util/any/typedefs.cc: Likewise.
4818 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
4820 Add a new header for diagnosing the use of C++17 facilities
4822 * include/bits/c++17_warning.h: New.
4824 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
4826 Implement LWG 2451, optional<T> should 'forward' T's
4827 implicit conversions.
4828 * include/experimental/optional (__is_optional_impl, __is_optional):
4830 (optional()): Make constexpr and default.
4831 (optional(_Up&&), optional(const optional<_Up>&),
4832 optional(optional<_Up>&& __t): New.
4833 (operator=(_Up&&)): Constrain.
4834 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
4835 * testsuite/experimental/optional/cons/value.cc:
4836 Add tests for the functionality added by LWG 2451.
4837 * testsuite/experimental/optional/cons/value_neg.cc: New.
4839 2016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
4842 any_cast doesn't work with rvalue reference targets and cannot
4843 move with a value target.
4844 * include/experimental/any (any(_ValueType&&)): Constrain and
4845 add an overload that doesn't forward.
4846 (any_cast(any&&)): Constrain and add an overload that moves.
4847 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
4848 the functionality added by LWG 2509.
4850 2016-07-04 François Dumont <fdumont@gcc.gnu.org>
4852 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
4854 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
4857 2016-07-04 Jonathan Wakely <jwakely@redhat.com>
4859 * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
4860 Define inline. Forward to _M_emplace_aux.
4861 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
4862 (_M_insert_rval, _M_emplace_aux): Declare new functions.
4863 (_Temporary_value): New RAII type using allocator to construct/destroy.
4864 (_S_insert_aux_assign): Remove.
4865 (_M_insert_aux): Make non-variadic.
4866 * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
4867 Use _Temporary_value.
4868 (emplace(const_iterator, _Args&&...)): Remove definition.
4869 (_M_insert_rval, _M_emplace_aux): Define.
4870 (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
4871 (_M_fill_insert): Use _Temporary_value.
4872 * testsuite/23_containers/vector/allocator/construction.cc: New test.
4873 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
4874 Adjust expected results for emplacing an lvalue with reallocation.
4875 * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
4876 expected results to account for construction/destruction of temporary
4878 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
4880 2016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
4883 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
4884 Call remove_all for children of a directory.
4885 * testsuite/experimental/filesystem/operations/create_directories.cc:
4888 2016-07-02 François Dumont <fdumont@gcc.gnu.org>
4890 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
4891 dg-error line numbers.
4892 * testsuite/23_containers/array/tuple_interface/
4893 tuple_element_debug_neg.cc: Likewise.
4894 * testsuite/25_algorithms/lexicographical_compare/debug/
4895 irreflexive_neg.cc: Remove.
4897 2016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
4899 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
4900 than specific target.
4902 2016-06-27 François Dumont <fdumont@gcc.gnu.org>
4905 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
4908 2016-06-23 François Dumont <fdumont@gcc.gnu.org>
4910 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
4913 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
4915 * configure.host: Remove mep-* support.
4917 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
4919 * configure: Regenerate.
4920 * configure.host: Remove support for knetbsd.
4921 * crossconfig.m4: Likewise.
4923 2016-06-20 François Dumont <fdumont@gcc.gnu.org>
4926 * include/tr1/hashtable_policy.h
4927 (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
4928 dereferenceable to avoid check on lower_bound result.
4929 (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
4930 (_Prime_rehash_policy::_M_need_rehash): Likewise.
4931 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
4932 Always return a value greater than input value. Set _M_next_resize to
4933 max value when reaching highest prime number.
4934 * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
4936 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
4937 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
4939 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
4940 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
4943 2016-06-17 Jonathan Wakely <jwakely@redhat.com>
4946 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
4947 Remove irreflexive checks.
4948 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
4949 binary_search): Likewise.
4950 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
4951 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
4952 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
4953 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
4954 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
4955 Add constructor from array.
4957 2016-06-16 François Dumont <fdumont@gcc.gnu.org>
4959 * include/debug/debug.h
4960 (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
4961 (__glibcxx_requires_subscript): Move...
4962 * include/debug/assertions.h: ...here and add __builtin_expect.
4963 (_GLIBCXX_DEBUG_ONLY): Remove ; value.
4964 * include/bits/stl_deque.h
4965 (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
4966 (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
4967 (std::deque<>::back()): Likewise.
4968 (std::deque<>::pop_front()): Likewise.
4969 (std::deque<>::pop_back()): Likewise.
4970 (std::deque<>::swap(deque&)): Add allocator check.
4971 * include/bits/stl_vector.h
4972 (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
4973 (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
4974 (std::vector<>::back()): Likewise.
4975 (std::vector<>::pop_back()): Likewise.
4976 (std::vector<>::swap(vector&)): Add allocator check.
4978 2016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
4980 Provide swappable traits (p0185r1)
4981 * include/std/type_traits (is_swappable, is_nothrow_swappable,
4982 is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
4983 is_nothrow_swappable_v, is_swappable_with_v,
4984 is_nothrow_swappable_with_v): New.
4985 * include/bits/stl_pair.h: Use it as per p0185r1.
4986 * include/bits/stl_queue.h: Likewise.
4987 * include/bits/stl_stack.h: Likewise.
4988 * include/bits/unique_ptr.h: Likewise.
4989 * include/std/tuple: Likewise.
4990 * include/std/array: Likewise. Fix zero-size member swap.
4991 * include/bits/hashtable.h: Use __and_.
4992 * testsuite/20_util/is_nothrow_swappable/requirements/
4993 explicit_instantiation.cc: Change test options to std=gnu++17.
4994 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
4996 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
4997 * testsuite/20_util/is_swappable/requirements/
4998 explicit_instantiation.cc: Likewise.
4999 * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
5000 * testsuite/20_util/is_swappable/value.cc: Likewise.
5001 * testsuite/20_util/is_nothrow_swappable/requirements/
5002 explicit_instantiation_ext.cc: New.
5003 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
5005 * testsuite/20_util/is_nothrow_swappable/value.h: New.
5006 * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
5007 * testsuite/20_util/is_nothrow_swappable_with/requirements/
5008 explicit_instantiation.cc: New.
5009 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
5011 * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
5012 * testsuite/20_util/is_swappable/requirements/
5013 explicit_instantiation_ext.cc: New.
5014 * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
5015 * testsuite/20_util/is_swappable/value.h: New.
5016 * testsuite/20_util/is_swappable/value_ext.cc: New.
5017 * testsuite/20_util/is_swappable_with/requirements/
5018 explicit_instantiation.cc: New.
5019 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
5020 * testsuite/20_util/is_swappable_with/value.cc: New.
5021 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
5022 dg-error line numbers.
5023 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
5026 2016-06-16 Jonathan Wakely <jwakely@redhat.com>
5028 * include/std/array: Remove trailing whitespace.
5029 * include/std/atomic: Likewise.
5030 * include/std/bitset: Likewise.
5031 * include/std/chrono: Likewise.
5032 * include/std/complex: Likewise.
5033 * include/std/condition_variable: Likewise.
5034 * include/std/fstream: Likewise.
5035 * include/std/functional: Likewise.
5036 * include/std/future: Likewise.
5037 * include/std/iomanip: Likewise.
5038 * include/std/iosfwd: Likewise.
5039 * include/std/istream: Likewise.
5040 * include/std/limits: Likewise.
5041 * include/std/ratio: Likewise.
5042 * include/std/scoped_allocator: Likewise.
5043 * include/std/sstream: Likewise.
5044 * include/std/stdexcept: Likewise.
5045 * include/std/string: Likewise.
5046 * include/std/system_error: Likewise.
5047 * include/std/thread: Likewise.
5048 * include/std/tuple: Likewise.
5049 * include/std/type_traits: Likewise.
5050 * include/std/utility: Likewise.
5051 * include/std/valarray: Likewise.
5052 * include/std/vector: Likewise.
5054 * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
5055 new overloaded functions.
5056 * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
5057 to avoid creating a redundant temporary.
5058 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
5061 2016-06-15 François Dumont <fdumont@gcc.gnu.org>
5063 * include/bits/stl_deque.h
5064 (std::deque<>::operator=): Call _M_assign_aux.
5065 (std::deque<>::assign(initializer_list<>)): Likewise.
5066 (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
5067 (std::deque<>::insert(const_iterator, initializer_list<>)):
5068 Call _M_range_insert_aux.
5069 (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
5071 (std::deque<>::_M_fill_assign): Call _M_fill_insert.
5072 (std::deque<>::_M_move_assign2): Call _M_assign_aux.
5073 * include/bits/deque.tcc
5074 (std::deque<>::operator=): Call _M_range_insert_aux.
5075 (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
5077 * include/bits/stl_vector.h
5078 (std::vector<>::operator=): Call _M_assign_aux.
5079 (std::vector<>::assign(initializer_list<>)): Likewise.
5080 (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
5081 (std::vector<>::insert(const_iterator, initializer_list<>)):
5082 Call _M_range_insert.
5083 * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
5085 2016-06-07 François Dumont <fdumont@gcc.gnu.org>
5087 * include/std/tuple (_Head_base<>): Default specialization condition at
5090 2016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
5092 Support allocators in tuples of zero size.
5093 * include/std/tuple (tuple<>::tuple(),
5094 tuple<>::tuple(allocator_arg_t, const _Alloc&),
5095 tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
5096 * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
5098 2016-06-06 Jonathan Wakely <jwakely@redhat.com>
5101 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
5102 Add or remove permissions according to perms argument.
5103 * testsuite/experimental/filesystem/operations/permissions.cc: New
5106 2016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
5108 Protect allocator-overloads of tuple-from-tuple constructors
5109 from cases that would create dangling references.
5110 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
5111 const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
5112 tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
5113 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
5115 2016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
5117 * doc/xml/manual/backwards_compatibility.xml: Adjust
5118 lists.debian.org link to https.
5119 * doc/html/manual/backwards.html: Regenerate.
5121 2016-05-27 Jonathan Wakely <jwakely@redhat.com>
5123 * doc/xml/manual/abi.xml: Adjust URL to use https.
5124 * doc/html/manual/*: Regenerate.
5126 2016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
5129 * include/std/tuple (_TMC): Add a check for _NotSameTuple.
5130 * include/std/tuple (tuple(_UElements&&...)): Remove the separate
5131 check for _NotSameTuple.
5132 * include/std/tuple (_TMCT): New.
5133 * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
5134 * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
5135 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
5136 const tuple<_UElements...>&)): Likewise.
5137 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
5138 tuple<_UElements...>&&)): Likewise.
5139 * testsuite/20_util/tuple/cons/66338.cc: New.
5141 2016-05-25 Jonathan Wakely <jwakely@redhat.com>
5143 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
5144 * configure: Regenerate.
5145 * config.h.in: Regenerate.
5147 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
5148 * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
5149 Remove const qualification on function. Replace
5150 _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
5151 (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
5152 (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
5154 2016-05-24 François Dumont <fdumont@gcc.gnu.org>
5156 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
5157 * include/bits/hashtable_policy.h
5158 (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
5159 having load factor management.
5160 (_Mask_range_hashing): New.
5162 (_Power2_rehash_policy): New.
5163 (_Inserts<>): Remove last template parameter, _Unique_keys, so that
5164 partial specializations only depend on whether iterators are constant
5166 * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
5167 test new hash policy.
5168 * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
5170 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
5172 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
5174 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
5176 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
5178 * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
5179 using the new hash policy.
5180 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
5182 2016-05-24 Jonathan Wakely <jwakely@redhat.com>
5184 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
5186 2016-05-23 François Dumont <fdumont@gcc.gnu.org>
5188 * include/debug/safe_iterator.h
5189 (_Safe_iterator<>::operator->()): Implement using underlying iterator
5191 * include/debug/safe_local_iterator.h
5192 (_Safe_local_iterator<>::operator->()): Likewise.
5194 2016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
5196 * testsuite/experimental/memory_resource/1.cc: Add required argument
5197 to dg-require-atomic-builtins.
5199 2016-05-13 Jonathan Wakely <jwakely@redhat.com>
5202 * include/debug/bitset: Add #pragma GCC system_header.
5203 * include/debug/deque: Likewise.
5204 * include/debug/list: Likewise.
5205 * include/debug/map: Likewise.
5206 * include/debug/set: Likewise.
5207 * include/debug/string: Likewise.
5208 * include/debug/unordered_map: Likewise.
5209 * include/debug/unordered_set: Likewise.
5210 * include/debug/vector: Likewise.
5211 * include/debug/functions.h: Adjust whitespace.
5213 2016-05-12 Jonathan Wakely <jwakely@redhat.com>
5216 * testsuite/experimental/memory_resource/1.cc: Require atomics.
5218 2016-05-11 Jonathan Wakely <jwakely@redhat.com>
5221 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
5222 exception constructors with __sso_string parameters.
5224 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
5226 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
5227 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
5228 Test begin and end functions.
5229 * testsuite/experimental/filesystem/iterators/
5230 recursive_directory_iterator.cc: Likewise.
5233 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
5234 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
5236 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
5237 Overload operator* to move from rvalues.
5240 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
5241 * testsuite/experimental/filesystem/operations/create_directory.cc:
5245 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
5246 base path to exception.
5247 * testsuite/experimental/filesystem/operations/canonical.cc: Test
5248 paths contained in exception.
5250 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
5254 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
5256 (directory_iterator::operator++(int)): Return proxy.
5257 (recursive_directory_iterator::operator++(int)): Likewise.
5258 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
5259 Test post-increment.
5260 * testsuite/experimental/filesystem/iterators/
5261 recursive_directory_iterator.cc: Likewise.
5263 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
5266 * testsuite/experimental/filesystem/iterators/
5267 recursive_directory_iterator.cc: Fix test02 to not call member
5268 functions on invalid iterator, and use VERIFY not assert.
5270 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
5272 Avoid endless run-time recursion for copying single-element
5273 tuples where the element type is by-value constructible
5275 * include/std/tuple (_NotSameTuple): New.
5276 * include/std/tuple (tuple(_UElements&&...): Use it.
5277 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
5279 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
5282 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
5283 Initialize scalar member variables in default constructor.
5284 * testsuite/experimental/filesystem/iterators/
5285 recursive_directory_iterator.cc: Test default construction.
5287 2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5289 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
5291 2016-05-05 Jonathan Wakely <jwakely@redhat.com>
5293 * testsuite/experimental/filesystem/path/native/string.cc: Add
5294 dg-require-filesystem-ts directive.
5296 2016-05-04 Jonathan Wakely <jwakely@redhat.com>
5299 * include/experimental/memory_resource
5300 (__resource_adaptor_imp::do_allocate): Do not default-construct
5302 (__resource_adaptor_imp::do_deallocate): Likewise. Use
5303 allocator_traits to get pointer type.
5304 (__null_memory_resource::do_allocate): Remove unused parameters.
5305 (__null_memory_resource::do_deallocate): Likewise.
5306 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
5307 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
5308 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
5310 * testsuite/experimental/memory_resource/1.cc: Here.
5311 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
5312 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
5314 2016-04-29 Chris Gregory <czipperz@gmail.com>
5316 * config/*: Remove trailing whitespace.
5318 * testsuite/tr1/*: Likewise.
5319 * testsuite/util/*: Likewise.
5321 2016-04-28 Jonathan Wakely <jwakely@redhat.com>
5324 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
5326 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
5328 * include/std/atomic (atomic<_Tp>): Likewise.
5329 * include/std/shared_mutex (shared_lock): Likewise.
5330 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
5331 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
5332 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
5333 * testsuite/29_atomics/atomic/70766.cc: New test.
5334 * testsuite/30_threads/shared_lock/70766.cc: New test.
5336 * include/bits/hashtable_policy.h (__detail::_Insert_base,
5337 __detail::_Insert): Improve comments.
5339 2016-04-27 Jonathan Wakely <jwakely@redhat.com>
5342 * include/std/limits: Update comments about DRs.
5343 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
5344 numeric_limits<const volatile _Tp>): Define unconditionally.
5346 2016-04-24 Jonathan Wakely <jwakely@redhat.com>
5349 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
5350 static counter to return a different path on every call.
5352 2016-04-22 Tim Shen <timshen@google.com>
5355 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
5356 Fix the match_not_bow and match_not_eow behavior.
5357 * testsuite/28_regex/regression.cc: Add testcase.
5359 2016-04-20 Jonathan Wakely <jwakely@redhat.com>
5362 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
5363 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
5365 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
5368 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
5369 Override endianness bit in mode.
5370 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
5371 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
5372 that little_endian mode is ignored.
5373 * testsuite/experimental/filesystem/path/native/string.cc: New test.
5376 * src/filesystem/ops.cc (close_fd): New function.
5377 (do_copy_file): Set permissions before copying file contents. Check
5378 result of closing file descriptors. Don't copy streambuf when file
5380 (copy(const path&, const path&, copy_options, error_code&)): Use
5381 lstat for source file when copy_symlinks is set.
5382 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
5384 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
5385 operator~ operator&=, operator|=, operator^=): Add noexcept to
5386 overloaded operators for copy_options, perms and directory_options.
5387 * src/filesystem/ops.cc (make_file_type, make_file_status,
5388 is_not_found_errno, file_time): Add noexcept.
5390 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
5392 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
5394 2016-04-18 Jonathan Wakely <jwakely@redhat.com>
5397 * include/bits/random.h: Reword static assertion messages to state
5398 positive conditions.
5399 * include/bits/random.tcc: Likewise.
5400 * include/bits/uniform_int_dist.h: Likewise.
5401 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
5404 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
5406 * config/cpu/sh/atomicity.h: Fix typo in comment.
5409 * include/std/thread (operator<, operator==): Move definitions to
5411 * testsuite/30_threads/thread/id/70294.cc: New test.
5413 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
5414 -Wno-pedantic to dg-options.
5415 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
5416 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
5418 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
5419 Remove extra semi-colon.
5420 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
5421 Always supply second argument to static_assert.
5422 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
5424 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
5426 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
5427 * testsuite/29_atomics/atomic/60695.cc: Likewise.
5428 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
5429 alignof when operand is an object not a type.
5430 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
5431 * testsuite/decimal/make-decimal.cc: Likewise.
5432 * testsuite/experimental/type_traits/value.cc: Always supply second
5433 argument to static_assert.
5434 * testsuite/util/testsuite_common_types.h: Use __extension__ for
5437 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
5439 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
5440 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
5441 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
5442 Likewise. Add licence and change to compile-only test.
5444 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
5446 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
5448 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
5451 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
5453 * include/bits/specfun.h: Trivial comment misspelling.
5455 2016-04-14 Jason Merrill <jason@redhat.com>
5457 Revert Jonathan's empty ABI change from yesterday.
5459 2016-04-13 Martin Sebor <msebor@redhat.com>
5462 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
5463 upper bound is positive.
5465 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
5467 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
5468 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
5469 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
5470 of functions taking empty structs by value. Add a template parameter
5471 to overloads without hints. Rename overloads with hints to
5473 (_Hashtable::_M_erase(true_type, const_iterator),
5474 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
5475 by reordering parameters.
5476 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
5477 _M_emplace_hint instead of _M_emplace.
5478 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
5479 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
5480 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
5481 __shared_ptr): Likewise.
5482 * include/bits/stl_algo.h (replace_if): Likewise.
5483 * include/bits/stl_pair.h (piecewise_construct_t,
5484 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
5485 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
5486 __uses_alloc0): Likewise.
5487 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
5488 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
5489 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
5490 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
5491 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
5492 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
5493 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
5495 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
5497 Document C++17/TR29124 C++ Special Math Functions.
5498 * include/bits/specfun.h: Add Doxygen markup.
5500 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
5502 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
5504 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
5506 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
5507 * src/Makefile.in: Regenerate.
5509 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
5512 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
5513 __atomic_fetch_add for bool.
5514 * configure: Regenerate.
5516 * testsuite/30_threads/thread/70503.cc: Require -static to work.
5519 * src/c++11/thread.cc (execute_native_thread_routine,
5520 execute_native_thread_routine_compat): Give internal linkage.
5521 * testsuite/30_threads/thread/70503.cc: New test.
5523 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
5526 * include/bits/stl_pair.h (_ConstructiblePair,
5527 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
5528 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
5529 for same-type cases.
5530 * testsuite/20_util/pair/70437.cc: New.
5532 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
5535 * config/abi/pre/gnu.ver: Add new symbol.
5536 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
5537 * testsuite/18_support/free_eh_pool.cc: New test.
5539 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
5541 * include/Makefile.am (install-freestanding-headers): Add
5542 concept_check.h and move.h to the installed headers.
5543 * include/Makefile.in: Regenerated.
5544 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
5545 freestanding implementations.
5546 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
5547 that this macro has no effect for freestanding implementations.
5548 * doc/html/manual/using_macros.html: Likewise.
5550 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
5553 * include/experimental/tuple (__apply_impl): Qualify get and forward.
5555 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
5557 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
5558 * doc/html/*: Regenerate.
5561 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
5562 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
5563 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
5564 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
5565 trunc) [__cplusplus >= 201103L]: Import from namespace std.
5566 (fabs) [__cplusplus < 201103L]: Import from namespace std.
5567 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
5569 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
5570 namespace before including TR1 headers.
5571 * testsuite/tr1/headers/c++200x/math.cc: New test.
5573 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
5576 * include/c_global/cstdarg: Undefine __need___va_list.
5577 * include/c_global/cstddef: Undefine all kinds of __need_*.
5579 2016-02-16 Tim Shen <timshen@google.com>
5582 * include/bits/regex_scanner.h: Add different special character
5583 sets for grep and egrep regex.
5584 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
5585 * testsuite/28_regex/regression.cc: Add new testcase.
5587 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
5589 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
5590 added 'constexpr' in previous commit.
5591 * configure: Regenerate.
5594 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
5595 checks for all targets except *-*-solaris2.* and ensure we find the
5596 libc math.h header not our own.
5597 * configure: Regenerate.
5599 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
5601 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
5602 New file. Copied over from s390-linux-gnu.
5604 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
5607 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
5608 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
5609 * config.h.in: Regenerate.
5610 * configure: Regenerate.
5611 * testsuite/21_strings/c_strings/char/69626.cc: New.
5613 * doc/html/index.html: Regenerate.
5615 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
5616 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
5617 * doc/html/*: Regenerate.
5619 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
5622 * include/c_compatibility/math.h: Move header guards.
5623 * include/c_compatibility/stdlib.h: Likewise.
5625 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
5628 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
5630 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
5633 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
5634 isinf and isnan functions into two independent checks. Check on hpux.
5635 * config.h.in: Regenerate.
5636 * configure: Regenerate.
5637 * include/c_global/cmath (isinf(double), isnan(double)): Use
5638 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
5641 2016-01-27 Jakub Jelinek <jakub@redhat.com>
5643 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
5645 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
5648 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
5649 -ffp-contract=off, and -ffloat-store to disable excess precision.
5650 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
5653 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
5656 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
5657 random_access_iterator_tag>): Check is_move_assignable when moving.
5658 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
5660 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
5661 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
5662 * testsuite/25_algorithms/move/69478.cc: New.
5663 * testsuite/25_algorithms/move_backward/69478.cc: new.
5665 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
5667 * include/c_compatibility/stdlib.h: Include wide character related
5668 definitions only when they are available in cstdlib.
5670 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
5673 * include/Makefile.am: Add new header.
5674 * include/Makefile.in: Regenerate.
5675 * include/bits/random.h (uniform_int_distribution): Move to
5676 bits/uniform_int_dist.h.
5677 * include/bits/random.tcc (uniform_int_distribution::operator(),
5678 uniform_int_distribution::__generate_impl): Likewise.
5679 * include/bits/uniform_int_dist.h: New header.
5680 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
5681 <bits/uniform_int_dist.h> instead of <random>.
5682 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
5683 move_iterators/1.cc: Include correct header for uninitialized_copy.
5684 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
5685 move_iterators/1.cc: Likewise.
5686 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
5688 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
5690 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
5693 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
5695 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
5697 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
5698 * include/c_compatibility/math.h: Import the TR29124 functions
5699 into the global namespace.
5700 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
5701 xfail and make compile-only.
5702 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
5703 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
5704 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
5705 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
5706 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
5707 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
5708 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
5709 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
5710 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
5711 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
5712 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
5713 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
5714 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
5715 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
5716 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
5717 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
5718 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
5719 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
5720 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
5721 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
5723 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
5726 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
5727 define result_type for types which can be safely used with valarrays.
5728 * testsuite/26_numerics/valarray/69116.cc: New.
5731 * config/os/gnu-linux/os_defines.h: Define
5732 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
5733 * include/c_global/cmath (isinf, isnan): Check it.
5734 * doc/xml/manual/internals.xml: Document it.
5735 * doc/html/*: Regenerate.
5737 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
5740 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
5741 * include/ext/type_traits.h: Likewise.
5742 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
5743 for presence of C headers.
5744 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
5745 dg-error line number.
5746 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
5747 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
5748 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
5750 2016-01-20 Torvald Riegel <triegel@redhat.com>
5753 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
5755 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
5758 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
5759 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
5760 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
5761 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
5762 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
5763 Add using declarations.
5764 * testsuite/26_numerics/headers/cmath/60401.cc: New.
5767 * include/c_global/ccomplex: Ensure C++ language linkage.
5768 * include/c_global/cmath: Likewise.
5769 * include/c_global/cstdlib: Likewise.
5770 * include/c_global/ctgmath: Likewise.
5771 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
5773 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
5777 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
5778 --enable-cheaders=c_global configs.
5779 * include/Makefile.in: Regenerate.
5780 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
5781 test and allow inclusion from C files.
5782 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
5783 (at_quick_exit, quick_exit): Add using directives.
5784 * include/c_global/cmath: Use #include_next for math.h.
5785 * include/c_global/cstdlib: Use #include_next for stdlib.h.
5786 * testsuite/26_numerics/headers/cmath/14608.cc: New.
5787 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
5788 Remove xfail for most targets.
5789 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
5791 2016-01-18 Torvald Riegel <triegel@redhat.com>
5793 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
5794 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
5795 and move after its definition.
5796 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
5797 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
5798 __GXX_WEAK__, and only provide transactional clones if
5799 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
5802 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
5805 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
5808 * include/std/functional (_Function_base::_M_not_empty_function):
5809 Change overloads for pointers to take arguments by value.
5810 * testsuite/20_util/function/cons/57465.cc: Add tests for
5811 pointer-to-member cases.
5814 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
5815 Use macros for exception handling and fix unused parameter warning.
5817 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
5820 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
5822 2016-01-17 Torvald Riegel <triegel@redhat.com>
5824 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
5826 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
5828 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
5831 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
5834 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
5835 static assertion that type is constructible from the arguments.
5836 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
5837 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
5838 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
5841 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
5842 and isnan on AIX. Quote variables.
5843 * configure: Regenerate.
5845 2016-01-15 Torvald Riegel <triegel@redhat.com>
5847 * include/bits/basic_string.h (basic_string): Declare friends.
5848 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
5849 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
5850 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
5851 length_error, out_of_range, runtime_error, range_error,
5852 underflow_error, overflow_error): Declare members as transaction-safe.
5853 (logic_error, runtime_error): Declare friend functions.
5854 * libsupc++/exception (exception, bad_exception): Declare members as
5856 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
5857 transaction-safe members of exceptions and helper functions.
5858 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
5859 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
5860 (CXXABI_1.3.10): New.
5861 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
5862 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
5863 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
5864 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
5865 * include/Makefile.in: Regenerate.
5866 * config.h.in: Regenerate.
5867 * configure: Regenerate.
5868 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
5870 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
5872 * include/ext/random.tcc: Use __builtin_isfinite instead of
5875 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
5877 * include/bits/std_mutex.h: Fix Doxygen @file name.
5879 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
5880 Jonathan Wakely <jwakely@redhat.com>
5881 Florian Goth <CaptainSifff@gmx.de>
5883 Implement TR29124 C++ special Math Functions.
5884 * include/Makefile.am: Add new headers.
5885 * include/Makefile.in: Regenerate.
5886 * include/bits/specfun.h: New.
5887 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
5888 * include/tr1/bessel_function.tcc: Ditto.
5889 * include/tr1/beta_function.tcc: Ditto.
5890 * include/tr1/cmath: Ditto.
5891 * include/tr1/ell_integral.tcc: Ditto.
5892 * include/tr1/exp_integral.tcc: Ditto.
5893 * include/tr1/gamma.tcc: Ditto.
5894 * include/tr1/hypergeometric.tcc: Ditto.
5895 * include/tr1/legendre_function.tcc: Ditto.
5896 * include/tr1/modified_bessel_func.tcc: Ditto.
5897 * include/tr1/poly_hermite.tcc: Ditto.
5898 * include/tr1/poly_laguerre.tcc: Ditto.
5899 * include/tr1/riemann_zeta.tcc: Ditto.
5900 * include/tr1/special_function_util.h: Ditto.
5901 * testsuite/ext/special_functions/conf_hyperg: New.
5902 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
5903 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
5904 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
5905 * testsuite/ext/special_functions/hyperg: New.
5906 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
5907 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
5908 * testsuite/ext/special_functions/hyperg/compile.cc: New.
5909 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
5910 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
5911 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
5912 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
5913 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
5914 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
5915 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
5916 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
5917 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
5918 * testsuite/special_functions/03_beta/check_nan.cc: New.
5919 * testsuite/special_functions/03_beta/check_value.cc: New.
5920 * testsuite/special_functions/03_beta/compile.cc: New.
5921 * testsuite/special_functions/03_beta/compile_2.cc: New.
5922 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
5923 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
5924 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
5925 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
5926 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
5927 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
5928 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
5929 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
5930 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
5931 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
5932 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
5933 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
5934 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
5935 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
5936 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
5937 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
5938 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
5939 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
5940 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
5941 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
5942 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
5943 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
5944 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
5945 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
5946 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
5947 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
5948 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
5949 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
5950 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
5951 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
5952 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
5953 * testsuite/special_functions/11_ellint_1/compile.cc: New.
5954 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
5955 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
5956 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
5957 * testsuite/special_functions/12_ellint_2/compile.cc: New.
5958 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
5959 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
5960 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
5961 * testsuite/special_functions/13_ellint_3/compile.cc: New.
5962 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
5963 * testsuite/special_functions/14_expint/check_nan.cc: New.
5964 * testsuite/special_functions/14_expint/check_value.cc: New.
5965 * testsuite/special_functions/14_expint/compile.cc: New.
5966 * testsuite/special_functions/14_expint/compile_2.cc: New.
5967 * testsuite/special_functions/15_hermite/check_nan.cc: New.
5968 * testsuite/special_functions/15_hermite/check_value.cc: New.
5969 * testsuite/special_functions/15_hermite/compile.cc: New.
5970 * testsuite/special_functions/15_hermite/compile_2.cc: New.
5971 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
5972 * testsuite/special_functions/16_laguerre/check_value.cc: New.
5973 * testsuite/special_functions/16_laguerre/compile.cc: New.
5974 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
5975 * testsuite/special_functions/17_legendre/check_nan.cc: New.
5976 * testsuite/special_functions/17_legendre/check_value.cc: New.
5977 * testsuite/special_functions/17_legendre/compile.cc: New.
5978 * testsuite/special_functions/17_legendre/compile_2.cc: New.
5979 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
5980 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
5981 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
5982 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
5983 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
5984 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
5985 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
5986 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
5987 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
5988 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
5989 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
5990 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
5991 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
5992 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
5993 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
5994 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
5995 * testsuite/util/specfun_testcase.h: New.
5996 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
5997 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
5998 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
5999 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
6000 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
6001 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
6002 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
6004 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
6007 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
6008 and isnan functions.
6009 * config.h.in: Regenerate.
6010 * configure: Regenerate.
6011 * include/c_global/cmath (isinf(double), isnan(double))
6012 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
6013 * testsuite/26_numerics/headers/cmath/48891.cc: New.
6015 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6018 * configure.host (abi_baseline_pair): Use separate baseline for
6019 Solaris 11+ and Solaris 10 with gld.
6020 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
6021 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
6022 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
6024 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
6027 * include/std/type_traits: Following N4511, reimplement __is_swappable
6028 and __is_nothrow_swappable. Move __is_swappable to namespace std,
6029 adjust callers. Use __is_nothrow_swappable in swap.
6030 * include/bits/move.h: Use __is_nothrow_swappable in swap.
6031 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
6032 __is_swappable related tests.
6033 * testsuite/20_util/is_swappable/value.cc: New.
6034 * testsuite/20_util/is_swappable/requirements/
6035 explicit_instantiation.cc: New.
6036 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
6037 * testsuite/25_algorithms/swap/68877.cc: New.
6039 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
6041 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
6045 * include/std/functional (function::_Invoke): Remove, use result_of.
6046 (function::_Callable): Replace alias template with class template
6047 and use partial specialization instead of _NotSelf alias template.
6048 (function(_Functor)): Add "not self" constraint so that _Callable is
6049 not used while type is incomplete.
6050 * testsuite/20_util/function/69222.cc: New.
6052 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
6055 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
6056 Define partial specialization.
6057 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
6058 destroy members to std::allocator explicit specialization.
6060 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
6062 * testsuite/26_numerics/headers/cmath/
6063 c99_classification_macros_c++.cc: Rename to ...
6064 * testsuite/26_numerics/headers/cmath/
6065 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
6066 * testsuite/26_numerics/headers/cmath/
6067 c99_classification_macros_c++0x.cc: Rename to ...
6068 * testsuite/26_numerics/headers/cmath/
6069 c99_classification_macros_c++11.cc: Here.
6072 * include/bits/uses_allocator.h: Add missing include.
6074 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
6079 * include/bits/stl_iterator.h (back_insert_iterator,
6080 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
6081 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
6082 * include/std/future (__future::base::_State_baseV2::__setter):
6084 * include/std/scoped_allocator (__outermost): Likewise.
6085 * testsuite/20_util/scoped_allocator/69114.cc: New.
6086 * testsuite/20_util/uses_allocator/69114.cc: New.
6087 * testsuite/30_threads/promise/69106.cc: New.
6089 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
6092 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
6093 Remove _GLIBCXX_NOEXCEPT.
6094 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
6096 * include/Makefile.am: Adjust.
6097 * include/Makefile.in: Regenerate.
6098 * include/bits/mutex.h: Rename to bits/std_mutex.h.
6099 * include/std/condition_variable: Adjust include.
6100 * include/std/mutex: Likewise.
6102 2016-01-04 Jakub Jelinek <jakub@redhat.com>
6104 Update copyright years.
6106 Copyright (C) 2016 Free Software Foundation, Inc.
6108 Copying and distribution of this file, with or without modification,
6109 are permitted in any medium without royalty provided the copyright
6110 notice and this notice are preserved.