1 2016-10-14 Paolo Carlini <paolo.carlini@oracle.com>
3 * testsuite/26_numerics/accumulate/1.cc: Remove 'test' variables.
4 * testsuite/26_numerics/adjacent_difference/1.cc: Likewise.
5 * testsuite/26_numerics/complex/13450.cc: Likewise.
6 * testsuite/26_numerics/complex/50880.cc: Likewise.
7 * testsuite/26_numerics/complex/c99.cc: Likewise.
8 * testsuite/26_numerics/complex/cons/48760.cc: Likewise.
9 * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
10 * testsuite/26_numerics/complex/dr781_dr1137.cc: Likewise.
11 * testsuite/26_numerics/complex/dr844.cc: Likewise.
12 * testsuite/26_numerics/complex/inserters_extractors/char/1.cc:
14 * testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc:
16 * testsuite/26_numerics/complex/value_operations/1.cc: Likewise.
17 * testsuite/26_numerics/complex/value_operations/dr387.cc: Likewise.
18 * testsuite/26_numerics/headers/cmath/19322.cc: Likewise.
19 * testsuite/26_numerics/headers/cmath/
20 c99_classification_macros_c++11.c: Likewise.c
21 * testsuite/26_numerics/headers/cmath/
22 c99_classification_macros_c++98.cc: Likewise.
23 * testsuite/26_numerics/headers/cmath/c_math.cc: Likewise.
24 * testsuite/26_numerics/headers/cmath/dr550.cc: Likewise.
25 * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
26 * testsuite/26_numerics/headers/cmath/powi.cc: Likewise.
27 * testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise.
28 * testsuite/26_numerics/inner_product/1.cc: Likewise.
29 * testsuite/26_numerics/iota/1.cc: Likewise.
30 * testsuite/26_numerics/partial_sum/1.cc: Likewise.
31 * testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc:
33 * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
35 * testsuite/26_numerics/random/bernoulli_distribution/operators/
37 * testsuite/26_numerics/random/bernoulli_distribution/operators/
39 * testsuite/26_numerics/random/binomial_distribution/cons/default.cc:
41 * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
43 * testsuite/26_numerics/random/binomial_distribution/operators/
45 * testsuite/26_numerics/random/binomial_distribution/operators/
47 * testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
49 * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
51 * testsuite/26_numerics/random/cauchy_distribution/operators/equal.cc:
53 * testsuite/26_numerics/random/cauchy_distribution/operators/
55 * testsuite/26_numerics/random/chi_squared_distribution/cons/
57 * testsuite/26_numerics/random/chi_squared_distribution/cons/
59 * testsuite/26_numerics/random/chi_squared_distribution/operators/
61 * testsuite/26_numerics/random/chi_squared_distribution/operators/
63 * testsuite/26_numerics/random/default_random_engine.cc: Likewise.
64 * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
66 * testsuite/26_numerics/random/discard_block_engine/operators/equal.cc:
68 * testsuite/26_numerics/random/discard_block_engine/operators/
70 * testsuite/26_numerics/random/discard_block_engine/operators/
71 serialize.cc: Likewise.
72 * testsuite/26_numerics/random/discrete_distribution/cons/
74 * testsuite/26_numerics/random/discrete_distribution/cons/
75 initlist.cc: Likewise.
76 * testsuite/26_numerics/random/discrete_distribution/cons/
77 num_xbound_fun.cc: Likewise.
78 * testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
80 * testsuite/26_numerics/random/discrete_distribution/operators/
82 * testsuite/26_numerics/random/discrete_distribution/operators/
84 * testsuite/26_numerics/random/exponential_distribution/cons/
86 * testsuite/26_numerics/random/exponential_distribution/cons/
88 * testsuite/26_numerics/random/exponential_distribution/operators/
90 * testsuite/26_numerics/random/exponential_distribution/operators/
92 * testsuite/26_numerics/random/extreme_value_distribution/cons/
94 * testsuite/26_numerics/random/extreme_value_distribution/cons/
96 * testsuite/26_numerics/random/extreme_value_distribution/operators/
98 * testsuite/26_numerics/random/extreme_value_distribution/operators/
100 * testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc:
102 * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
104 * testsuite/26_numerics/random/fisher_f_distribution/operators/
106 * testsuite/26_numerics/random/fisher_f_distribution/operators/
107 inequal.cc: Likewise.
108 * testsuite/26_numerics/random/gamma_distribution/cons/default.cc:
110 * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
112 * testsuite/26_numerics/random/gamma_distribution/operators/equal.cc:
114 * testsuite/26_numerics/random/gamma_distribution/operators/
115 inequal.cc: Likewise.
116 * testsuite/26_numerics/random/geometric_distribution/cons/
117 default.cc: Likewise.
118 * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
120 * testsuite/26_numerics/random/geometric_distribution/operators/
122 * testsuite/26_numerics/random/geometric_distribution/operators/
123 inequal.cc: Likewise.
124 * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
126 * testsuite/26_numerics/random/independent_bits_engine/operators/
128 * testsuite/26_numerics/random/independent_bits_engine/operators/
129 inequal.cc: Likewise.
130 * testsuite/26_numerics/random/independent_bits_engine/operators/
131 serialize.cc: Likewise.
132 * testsuite/26_numerics/random/knuth_b.cc: Likewise.
133 * testsuite/26_numerics/random/linear_congruential_engine/cons/
135 * testsuite/26_numerics/random/linear_congruential_engine/cons/
136 default.cc: Likewise.
137 * testsuite/26_numerics/random/linear_congruential_engine/operators/
139 * testsuite/26_numerics/random/linear_congruential_engine/operators/
141 * testsuite/26_numerics/random/linear_congruential_engine/operators/
142 inequal.cc: Likewise.
143 * testsuite/26_numerics/random/linear_congruential_engine/operators/
144 serialize.cc: Likewise.
145 * testsuite/26_numerics/random/lognormal_distribution/cons/default.cc:
147 * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
149 * testsuite/26_numerics/random/lognormal_distribution/operators/
151 * testsuite/26_numerics/random/lognormal_distribution/operators/
152 inequal.cc: Likewise.
153 * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
155 * testsuite/26_numerics/random/mersenne_twister_engine/cons/
156 default.cc: Likewise.
157 * testsuite/26_numerics/random/mersenne_twister_engine/operators/
159 * testsuite/26_numerics/random/mersenne_twister_engine/operators/
160 inequal.cc: Likewise.
161 * testsuite/26_numerics/random/mersenne_twister_engine/operators/
162 serialize.cc: Likewise.
163 * testsuite/26_numerics/random/minstd_rand.cc: Likewise.
164 * testsuite/26_numerics/random/minstd_rand0.cc: Likewise.
165 * testsuite/26_numerics/random/mt19937.cc: Likewise.
166 * testsuite/26_numerics/random/mt19937_64.cc: Likewise.
167 * testsuite/26_numerics/random/negative_binomial_distribution/cons/
168 default.cc: Likewise.
169 * testsuite/26_numerics/random/negative_binomial_distribution/cons/
171 * testsuite/26_numerics/random/negative_binomial_distribution/
172 operators/equal.cc: Likewise.
173 * testsuite/26_numerics/random/negative_binomial_distribution/
174 operators/inequal.cc: Likewise.
175 * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
177 * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
179 * testsuite/26_numerics/random/normal_distribution/operators/
181 * testsuite/26_numerics/random/normal_distribution/operators/
182 inequal.cc: Likewise.
183 * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
184 default.cc: Likewise.
185 * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
186 initlist_fun.cc: Likewise.
187 * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
188 num_xbound_fun.cc: Likewise.
189 * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
191 * testsuite/26_numerics/random/piecewise_constant_distribution/
192 operators/equal.cc: Likewise.
193 * testsuite/26_numerics/random/piecewise_constant_distribution/
194 operators/inequal.cc: Likewise.
195 * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
196 default.cc: Likewise.
197 * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
198 initlist_fun.cc: Likewise.
199 * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
200 num_xbound_fun.cc: Likewise.
201 * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
203 * testsuite/26_numerics/random/piecewise_linear_distribution/
204 operators/equal.cc: Likewise.
205 * testsuite/26_numerics/random/piecewise_linear_distribution/
206 operators/inequal.cc: Likewise.
207 * testsuite/26_numerics/random/poisson_distribution/cons/default.cc:
209 * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
211 * testsuite/26_numerics/random/poisson_distribution/operators/
213 * testsuite/26_numerics/random/poisson_distribution/operators/
214 inequal.cc: Likewise.
215 * testsuite/26_numerics/random/random_device/cons/default.cc: Likewise.
216 * testsuite/26_numerics/random/random_device/cons/token.cc: Likewise.
217 * testsuite/26_numerics/random/ranlux24.cc: Likewise.
218 * testsuite/26_numerics/random/ranlux24_base.cc: Likewise.
219 * testsuite/26_numerics/random/ranlux48.cc: Likewise.
220 * testsuite/26_numerics/random/ranlux48_base.cc: Likewise.
221 * testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Likewise.
222 * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
224 * testsuite/26_numerics/random/shuffle_order_engine/operators/
226 * testsuite/26_numerics/random/shuffle_order_engine/operators/
227 inequal.cc: Likewise.
228 * testsuite/26_numerics/random/shuffle_order_engine/operators/
229 serialize.cc: Likewise.
230 * testsuite/26_numerics/random/student_t_distribution/cons/
231 default.cc: Likewise.
232 * testsuite/26_numerics/random/student_t_distribution/cons/
234 * testsuite/26_numerics/random/student_t_distribution/operators/
236 * testsuite/26_numerics/random/student_t_distribution/operators/
237 inequal.cc: Likewise.
238 * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
240 * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
241 default.cc: Likewise.
242 * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
244 * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
245 inequal.cc: Likewise.
246 * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
247 serialize.cc: Likewise.
248 * testsuite/26_numerics/random/uniform_int_distribution/cons/
249 default.cc: Likewise.
250 * testsuite/26_numerics/random/uniform_int_distribution/cons/
252 * testsuite/26_numerics/random/uniform_int_distribution/operators/
254 * testsuite/26_numerics/random/uniform_int_distribution/operators/
255 inequal.cc: Likewise.
256 * testsuite/26_numerics/random/uniform_real_distribution/cons/
257 default.cc: Likewise.
258 * testsuite/26_numerics/random/uniform_real_distribution/cons/
260 * testsuite/26_numerics/random/uniform_real_distribution/operators/
262 * testsuite/26_numerics/random/uniform_real_distribution/operators/
263 inequal.cc: Likewise.
264 * testsuite/26_numerics/random/weibull_distribution/cons/default.cc:
266 * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
268 * testsuite/26_numerics/random/weibull_distribution/operators/
270 * testsuite/26_numerics/random/weibull_distribution/operators/
271 inequal.cc: Likewise.
272 * testsuite/26_numerics/slice/1.cc: Likewise.
273 * testsuite/26_numerics/slice_array/array_assignment.cc: Likewise.
274 * testsuite/26_numerics/valarray/27867.cc: Likewise.
275 * testsuite/26_numerics/valarray/28277.cc: Likewise.
276 * testsuite/26_numerics/valarray/30416.cc: Likewise.
277 * testsuite/26_numerics/valarray/dr543.cc: Likewise.
278 * testsuite/26_numerics/valarray/dr630-1.cc: Likewise.
279 * testsuite/26_numerics/valarray/dr630-2.cc: Likewise.
280 * testsuite/26_numerics/valarray/dr630-3.C: Likewise.
281 * testsuite/26_numerics/valarray/init-list.cc: Likewise.
282 * testsuite/26_numerics/valarray/moveable.cc: Likewise.
283 * testsuite/26_numerics/valarray/operators.cc: Likewise.
284 * testsuite/26_numerics/valarray/swap.cc: Likewise.
285 * testsuite/experimental/deque/erasure.cc: Likewise.
286 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
288 * testsuite/experimental/filesystem/iterators/
289 recursive_directory_iterator.cc: Likewise.
290 * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
291 * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
292 * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
293 * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
294 * testsuite/experimental/filesystem/operations/create_directories.cc:
296 * testsuite/experimental/filesystem/operations/create_directory.cc:
298 * testsuite/experimental/filesystem/operations/current_path.cc:
300 * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
301 * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
302 * testsuite/experimental/filesystem/operations/last_write_time.cc:
304 * testsuite/experimental/filesystem/operations/permissions.cc: Likewise.
305 * testsuite/experimental/filesystem/operations/status.cc: Likewise.
306 * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
308 * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
309 * testsuite/experimental/forward_list/erasure.cc: Likewise.
310 * testsuite/experimental/list/erasure.cc: Likewise.
311 * testsuite/experimental/map/erasure.cc: Likewise.
312 * testsuite/experimental/memory/shared_ptr/assign/assign.cc: Likewise.
313 * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
315 * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: Likewise.
316 * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: Likewise.
317 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: Likewise.
318 * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc:
320 * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: Likewise.
321 * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
323 * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
325 * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
327 * testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise.
328 * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Likewise.
329 * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: Likewise.
330 * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
332 * testsuite/experimental/memory/shared_ptr/observers/operators.cc:
334 * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
336 * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
338 * testsuite/experimental/memory_resource/1.cc: Likewise.
339 * testsuite/experimental/memory_resource/null_memory_resource.cc:
341 * testsuite/experimental/memory_resource/resource_adaptor.cc: Likewise.
342 * testsuite/experimental/set/erasure.cc: Likewise.
343 * testsuite/experimental/string/erasure.cc: Likewise.
344 * testsuite/experimental/string_view/capacity/1.cc: Likewise.
345 * testsuite/experimental/string_view/cons/char/1.cc: Likewise.
346 * testsuite/experimental/string_view/cons/char/2.cc: Likewise.
347 * testsuite/experimental/string_view/cons/char/3.cc: Likewise.
348 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
349 * testsuite/experimental/string_view/cons/wchar_t/2.cc: Likewise.
350 * testsuite/experimental/string_view/cons/wchar_t/3.cc: Likewise.
351 * testsuite/experimental/string_view/element_access/char/1.cc: Likewise.
352 * testsuite/experimental/string_view/element_access/char/empty.cc:
354 * testsuite/experimental/string_view/element_access/char/
355 front_back.cc: Likewise.
356 * testsuite/experimental/string_view/element_access/wchar_t/1.cc:
358 * testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
360 * testsuite/experimental/string_view/element_access/wchar_t/
361 front_back.cc: Likewise.
362 * testsuite/experimental/string_view/inserters/char/1.cc: Likewise.
363 * testsuite/experimental/string_view/inserters/char/2.cc: Likewise.
364 * testsuite/experimental/string_view/inserters/char/3.cc: Likewise.
365 * testsuite/experimental/string_view/inserters/pod/10081-out.cc:
367 * testsuite/experimental/string_view/inserters/wchar_t/1.cc: Likewise.
368 * testsuite/experimental/string_view/inserters/wchar_t/2.cc: Likewise.
369 * testsuite/experimental/string_view/inserters/wchar_t/3.cc: Likewise.
370 * testsuite/experimental/string_view/modifiers/remove_prefix/char/
372 * testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
374 * testsuite/experimental/string_view/modifiers/remove_suffix/char/
376 * testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
378 * testsuite/experimental/string_view/operations/compare/char/1.cc:
380 * testsuite/experimental/string_view/operations/compare/char/
382 * testsuite/experimental/string_view/operations/compare/wchar_t/
384 * testsuite/experimental/string_view/operations/compare/wchar_t/
386 * testsuite/experimental/string_view/operations/copy/char/1.cc:
388 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
390 * testsuite/experimental/string_view/operations/data/char/1.cc:
392 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
394 * testsuite/experimental/string_view/operations/find/char/1.cc:
396 * testsuite/experimental/string_view/operations/find/char/2.cc:
398 * testsuite/experimental/string_view/operations/find/char/3.cc:
400 * testsuite/experimental/string_view/operations/find/char/4.cc:
402 * testsuite/experimental/string_view/operations/find/wchar_t/1.cc:
404 * testsuite/experimental/string_view/operations/find/wchar_t/2.cc:
406 * testsuite/experimental/string_view/operations/find/wchar_t/3.cc:
408 * testsuite/experimental/string_view/operations/find/wchar_t/4.cc:
410 * testsuite/experimental/string_view/operations/rfind/char/1.cc:
412 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
414 * testsuite/experimental/string_view/operations/rfind/char/3.cc:
416 * testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc:
418 * testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc:
420 * testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc:
422 * testsuite/experimental/string_view/operations/substr/char/1.cc:
424 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
426 * testsuite/experimental/string_view/operations/to_string/1.cc:
428 * testsuite/experimental/string_view/operators/char/2.cc: Likewise.
429 * testsuite/experimental/string_view/operators/wchar_t/2.cc: Likewise.
430 * testsuite/experimental/unordered_map/erasure.cc: Likewise.
431 * testsuite/experimental/unordered_set/erasure.cc: Likewise.
432 * testsuite/experimental/vector/erasure.cc: Likewise.
433 * testsuite/ext/array_allocator/1.cc: Likewise.
434 * testsuite/ext/array_allocator/2.cc: Likewise.
435 * testsuite/ext/array_allocator/3.cc: Likewise.
436 * testsuite/ext/array_allocator/variadic_construct.cc: Likewise.
437 * testsuite/ext/bitmap_allocator/variadic_construct.cc: Likewise.
438 * testsuite/ext/codecvt/1.cc: Likewise.
439 * testsuite/ext/codecvt/char-1.cc: Likewise.
440 * testsuite/ext/codecvt/char-2.cc: Likewise.
441 * testsuite/ext/codecvt/wchar_t.cc: Likewise.
442 * testsuite/ext/enc_filebuf/char/13189.cc: Likewise.
443 * testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
444 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
445 * testsuite/ext/ext_pointer/1.cc: Likewise.
446 * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
447 * testsuite/ext/malloc_allocator/variadic_construct.cc: Likewise.
448 * testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: Likewise.
449 * testsuite/ext/mt_allocator/tune-1.cc: Likewise.
450 * testsuite/ext/mt_allocator/tune-2.cc: Likewise.
451 * testsuite/ext/mt_allocator/tune-3.cc: Likewise.
452 * testsuite/ext/mt_allocator/tune-4.cc: Likewise.
453 * testsuite/ext/mt_allocator/variadic_construct.cc: Likewise.
454 * testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
455 * testsuite/ext/pod_char_traits.cc: Likewise.
456 * testsuite/ext/pool_allocator/variadic_construct.cc: Likewise.
457 * testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise.
458 * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
459 * testsuite/ext/random/arcsine_distribution/operators/equal.cc:
461 * testsuite/ext/random/arcsine_distribution/operators/inequal.cc:
463 * testsuite/ext/random/arcsine_distribution/operators/serialize.cc:
465 * testsuite/ext/random/beta_distribution/cons/default.cc: Likewise.
466 * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
467 * testsuite/ext/random/beta_distribution/operators/equal.cc: Likewise.
468 * testsuite/ext/random/beta_distribution/operators/inequal.cc: Likewise.
469 * testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise.
470 * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
471 * testsuite/ext/random/hoyt_distribution/operators/equal.cc: Likewise.
472 * testsuite/ext/random/hoyt_distribution/operators/inequal.cc: Likewise.
473 * testsuite/ext/random/hoyt_distribution/operators/serialize.cc:
475 * testsuite/ext/random/hypergeometric_distribution/cons/default.cc:
477 * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
479 * testsuite/ext/random/hypergeometric_distribution/operators/
481 * testsuite/ext/random/hypergeometric_distribution/operators/
482 inequal.cc: Likewise.
483 * testsuite/ext/random/hypergeometric_distribution/operators/
484 serialize.cc: Likewise.
485 * testsuite/ext/random/k_distribution/cons/default.cc: Likewise.
486 * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
487 * testsuite/ext/random/k_distribution/operators/equal.cc: Likewise.
488 * testsuite/ext/random/k_distribution/operators/inequal.cc: Likewise.
489 * testsuite/ext/random/k_distribution/operators/serialize.cc: Likewise.
490 * testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise.
491 * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
492 * testsuite/ext/random/logistic_distribution/operators/equal.cc:
494 * testsuite/ext/random/logistic_distribution/operators/inequal.cc:
496 * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
498 * testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise.
499 * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
500 * testsuite/ext/random/nakagami_distribution/operators/equal.cc:
502 * testsuite/ext/random/nakagami_distribution/operators/inequal.cc:
504 * testsuite/ext/random/nakagami_distribution/operators/serialize.cc:
506 * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
507 * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
508 * testsuite/ext/random/normal_mv_distribution/operators/equal.cc:
510 * testsuite/ext/random/normal_mv_distribution/operators/inequal.cc:
512 * testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise.
513 * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
514 * testsuite/ext/random/pareto_distribution/operators/equal.cc: Likewise.
515 * testsuite/ext/random/pareto_distribution/operators/inequal.cc:
517 * testsuite/ext/random/pareto_distribution/operators/serialize.cc:
519 * testsuite/ext/random/rice_distribution/cons/default.cc: Likewise.
520 * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
521 * testsuite/ext/random/rice_distribution/operators/equal.cc: Likewise.
522 * testsuite/ext/random/rice_distribution/operators/inequal.cc: Likewise.
523 * testsuite/ext/random/rice_distribution/operators/serialize.cc:
525 * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/
526 default.cc: Likewise.
527 * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
529 * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
530 inequal.cc: Likewise.
531 * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
532 serialize.cc: Likewise.
533 * testsuite/ext/random/triangular_distribution/cons/default.cc:
535 * testsuite/ext/random/triangular_distribution/cons/parms.cc: Likewise.
536 * testsuite/ext/random/triangular_distribution/operators/equal.cc:
538 * testsuite/ext/random/triangular_distribution/operators/inequal.cc:
540 * testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc:
542 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
544 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
545 generate.cc: Likewise.
546 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
547 inequal.cc: Likewise.
548 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
549 serialize.cc: Likewise.
550 * testsuite/ext/random/von_mises_distribution/cons/default.cc: Likewise.
551 * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
552 * testsuite/ext/random/von_mises_distribution/operators/equal.cc:
554 * testsuite/ext/random/von_mises_distribution/operators/inequal.cc:
556 * testsuite/ext/rope/2.cc: Likewise.
557 * testsuite/ext/rope/3.cc: Likewise.
558 * testsuite/ext/rope/4.cc: Likewise.
559 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
560 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
561 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: Likewise.
562 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
563 * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
564 * testsuite/ext/stdio_filebuf/char/10063-1.cc: Likewise.
565 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
566 * testsuite/ext/stdio_filebuf/char/10063-3.cc: Likewise.
567 * testsuite/ext/stdio_filebuf/char/2.cc: Likewise.
568 * testsuite/ext/stdio_sync_filebuf/char/1.cc: Likewise.
569 * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Likewise.
570 * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Likewise.
571 * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Likewise.
572 * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Likewise.
573 * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise.
574 * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
575 * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Likewise.
576 * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Likewise.
577 * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Likewise.
578 * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Likewise.
579 * testsuite/ext/throw_allocator/variadic_construct.cc: Likewise.
580 * testsuite/ext/type_traits/add_unsigned.cc: Likewise.
581 * testsuite/ext/type_traits/remove_unsigned.cc: Likewise.
582 * testsuite/ext/vstring/capacity/29134.cc: Likewise.
583 * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
584 * testsuite/ext/vstring/cons/58415-1.cc: Likewise.
585 * testsuite/ext/vstring/cons/moveable.cc: Likewise.
586 * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
587 * testsuite/ext/vstring/element_access/char/front_back.cc: Likewise.
588 * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
589 * testsuite/ext/vstring/element_access/wchar_t/front_back.cc: Likewise.
590 * testsuite/ext/vstring/hash/char/1.cc: Likewise.
591 * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
592 * testsuite/ext/vstring/init-list.cc: Likewise.
593 * testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.
594 * testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: Likewise.
595 * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Likewise.
596 * testsuite/ext/vstring/modifiers/pop_back/char/1.cc: Likewise.
597 * testsuite/ext/vstring/modifiers/pop_back/wchar_t/1.cc: Likewise.
598 * testsuite/ext/vstring/operators/1.cc: Likewise.
599 * testsuite/ext/vstring/operators/2.cc: Likewise.
601 2016-10-14 Jonathan Wakely <jwakely@redhat.com>
604 * include/ext/malloc_allocator.h (malloc_allocator::allocate): Use
605 aligned_alloc for types with extended alignment if available,
606 otherwise throw bad_alloc if malloc doesn't return a suitable value.
607 * include/ext/bitmap_allocator.h (bitmap_allocator::allocate)
608 (bitmap_allocator::deallocate): Use aligned new/delete for types with
610 * include/ext/mt_allocator.h (__mt_alloc::allocate)
611 (__mt_alloc::deallocate): Likewise.
612 * include/ext/new_allocator.h (new_allocator::allocate)
613 (new_allocator::deallocate): Likewise.
614 * include/ext/pool_allocator.h (__pool_alloc::allocate)
615 (__pool_alloc::deallocate): Likewise.
616 * testsuite/20_util/allocator/overaligned.cc: New test.
617 * testsuite/ext/bitmap_allocator/overaligned.cc: New test.
618 * testsuite/ext/malloc_allocator/overaligned.cc: New test.
619 * testsuite/ext/mt_allocator/overaligned.cc: New test.
620 * testsuite/ext/new_allocator/overaligned.cc: New test.
621 * testsuite/ext/pool_allocator/overaligned.cc: New test.
623 2016-10-14 Tim Shen <timshen@google.com>
626 * include/std/variant: Include <bits/funcexcept.h> for __try and
629 2016-10-14 Jonathan Wakely <jwakely@redhat.com>
631 * include/std/functional (_Reference_wrapper_base_impl): Remove.
632 (_Refwrap_base_arg1, _Refwrap_base_arg2): New helpers using __void_t.
633 (_Reference_wrapper_base): Inherit from new helpers.
635 2016-10-13 Paolo Carlini <paolo.carlini@oracle.com>
637 * testsuite/24_iterators/container_access.cc: Remove 'test' variables.
638 * testsuite/24_iterators/istream_iterator/2.cc: Likewise.
639 * testsuite/24_iterators/istreambuf_iterator/2.cc: Likewise.
640 * testsuite/24_iterators/istreambuf_iterator/2627.cc: Likewise.
641 * testsuite/24_iterators/operations/next.cc: Likewise.
642 * testsuite/24_iterators/operations/prev.cc: Likewise.
643 * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
644 * testsuite/24_iterators/random_access_iterator/26020.cc: Likewise.
645 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
646 * testsuite/24_iterators/reverse_iterator/11729.cc: Likewise.
647 * testsuite/24_iterators/reverse_iterator/3.cc: Likewise.
648 * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
649 * testsuite/25_algorithms/all_of/1.cc: Likewise.
650 * testsuite/25_algorithms/any_of/1.cc: Likewise.
651 * testsuite/25_algorithms/binary_search/2.cc: Likewise.
652 * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
653 * testsuite/25_algorithms/clamp/1.cc: Likewise.
654 * testsuite/25_algorithms/clamp/2.cc: Likewise.
655 * testsuite/25_algorithms/copy/1.cc: Likewise.
656 * testsuite/25_algorithms/copy/2.cc: Likewise.
657 * testsuite/25_algorithms/copy/3.cc: Likewise.
658 * testsuite/25_algorithms/copy/34595.cc: Likewise.
659 * testsuite/25_algorithms/copy/4.cc: Likewise.
660 * testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
661 * testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
662 * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
663 * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
664 * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
665 * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
666 * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
668 * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
670 * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
672 * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
674 * testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
675 * testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
676 * testsuite/25_algorithms/copy_n/1.cc: Likewise.
677 * testsuite/25_algorithms/copy_n/2.cc: Likewise.
678 * testsuite/25_algorithms/copy_n/3.cc: Likewise.
679 * testsuite/25_algorithms/copy_n/4.cc: Likewise.
680 * testsuite/25_algorithms/copy_n/50119.cc: Likewise.
681 * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
682 * testsuite/25_algorithms/equal_range/2.cc: Likewise.
683 * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
684 * testsuite/25_algorithms/fill/1.cc: Likewise.
685 * testsuite/25_algorithms/fill/2.cc: Likewise.
686 * testsuite/25_algorithms/fill/3.cc: Likewise.
687 * testsuite/25_algorithms/fill/4.cc: Likewise.
688 * testsuite/25_algorithms/fill_n/1.cc: Likewise.
689 * testsuite/25_algorithms/find/39546.cc: Likewise.
690 * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: Likewise.
691 * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Likewise.
692 * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
694 * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
696 * testsuite/25_algorithms/find_if/1.cc: Likewise.
697 * testsuite/25_algorithms/find_if_not/1.cc: Likewise.
698 * testsuite/25_algorithms/for_each/1.cc: Likewise.
699 * testsuite/25_algorithms/heap/1.cc: Likewise.
700 * testsuite/25_algorithms/heap/moveable.cc: Likewise.
701 * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
702 * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
703 * testsuite/25_algorithms/includes/1.cc: Likewise.
704 * testsuite/25_algorithms/inplace_merge/1.cc: Likewise.
705 * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
706 * testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise.
707 * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
708 * testsuite/25_algorithms/is_heap/1.cc: Likewise.
709 * testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
710 * testsuite/25_algorithms/is_partitioned/1.cc: Likewise.
711 * testsuite/25_algorithms/is_permutation/1.cc: Likewise.
712 * testsuite/25_algorithms/is_permutation/2.cc: Likewise.
713 * testsuite/25_algorithms/is_permutation/vectorbool.cc: Likewise.
714 * testsuite/25_algorithms/is_sorted/1.cc: Likewise.
715 * testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
716 * testsuite/25_algorithms/iter_swap/20577.cc: Likewise.
717 * testsuite/25_algorithms/lower_bound/2.cc: Likewise.
718 * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
719 * testsuite/25_algorithms/make_heap/complexity.cc: Likewise.
720 * testsuite/25_algorithms/max/1.cc: Likewise.
721 * testsuite/25_algorithms/max/2.cc: Likewise.
722 * testsuite/25_algorithms/max/3.cc: Likewise.
723 * testsuite/25_algorithms/max/37547.cc: Likewise.
724 * testsuite/25_algorithms/max/4.cc: Likewise.
725 * testsuite/25_algorithms/min/1.cc: Likewise.
726 * testsuite/25_algorithms/min/2.cc: Likewise.
727 * testsuite/25_algorithms/min/3.cc: Likewise.
728 * testsuite/25_algorithms/min/37547.cc: Likewise.
729 * testsuite/25_algorithms/min/4.cc: Likewise.
730 * testsuite/25_algorithms/minmax/1.cc: Likewise.
731 * testsuite/25_algorithms/minmax/2.cc: Likewise.
732 * testsuite/25_algorithms/minmax/3.cc: Likewise.
733 * testsuite/25_algorithms/minmax/37547.cc: Likewise.
734 * testsuite/25_algorithms/minmax_element/1.cc: Likewise.
735 * testsuite/25_algorithms/move/1.cc: Likewise.
736 * testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
737 * testsuite/25_algorithms/move_backward/1.cc: Likewise.
738 * testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
739 * testsuite/25_algorithms/next_permutation/moveable.cc: Likewise.
740 * testsuite/25_algorithms/none_of/1.cc: Likewise.
741 * testsuite/25_algorithms/nth_element/1.cc: Likewise.
742 * testsuite/25_algorithms/nth_element/2.cc: Likewise.
743 * testsuite/25_algorithms/nth_element/3.cc: Likewise.
744 * testsuite/25_algorithms/nth_element/moveable.cc: Likewise.
745 * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
746 * testsuite/25_algorithms/partial_sort/2.cc: Likewise.
747 * testsuite/25_algorithms/partial_sort/check_compare_by_value.cc:
749 * testsuite/25_algorithms/partial_sort/moveable.cc: Likewise.
750 * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
751 * testsuite/25_algorithms/partial_sort_copy/2.cc: Likewise.
752 * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
753 * testsuite/25_algorithms/partition/1.cc: Likewise.
754 * testsuite/25_algorithms/partition/moveable.cc: Likewise.
755 * testsuite/25_algorithms/partition_copy/1.cc: Likewise.
756 * testsuite/25_algorithms/partition_point/1.cc: Likewise.
757 * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
758 * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
759 * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
760 * testsuite/25_algorithms/random_shuffle/1.cc: Likewise.
761 * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
762 * testsuite/25_algorithms/rotate/1.cc: Likewise.
763 * testsuite/25_algorithms/rotate/moveable.cc: Likewise.
764 * testsuite/25_algorithms/rotate/moveable2.cc: Likewise.
765 * testsuite/25_algorithms/rotate/rotate.cc: Likewise.
766 * testsuite/25_algorithms/search/1.cc: Likewise.
767 * testsuite/25_algorithms/search_n/58358.cc: Likewise.
768 * testsuite/25_algorithms/shuffle/1.cc: Likewise.
769 * testsuite/25_algorithms/sort/1.cc: Likewise.
770 * testsuite/25_algorithms/sort/check_compare_by_value.cc: Likewise.
771 * testsuite/25_algorithms/sort/moveable.cc: Likewise.
772 * testsuite/25_algorithms/sort/random_test.cc: Likewise.
773 * testsuite/25_algorithms/sort/vectorbool.cc: Likewise.
774 * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc: Likewise.
775 * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
776 * testsuite/25_algorithms/stable_partition/1.cc: Likewise.
777 * testsuite/25_algorithms/stable_partition/mem_check.cc: Likewise.
778 * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
779 * testsuite/25_algorithms/stable_sort/2.cc: Likewise.
780 * testsuite/25_algorithms/stable_sort/3.cc: Likewise.
781 * testsuite/25_algorithms/stable_sort/49559.cc: Likewise.
782 * testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
784 * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
785 * testsuite/25_algorithms/stable_sort/moveable.cc: Likewise.
786 * testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise.
787 * testsuite/25_algorithms/swap_ranges/1.cc: Likewise.
788 * testsuite/25_algorithms/unique/11480.cc: Likewise.
789 * testsuite/25_algorithms/unique/2.cc: Likewise.
790 * testsuite/25_algorithms/unique/moveable.cc: Likewise.
791 * testsuite/25_algorithms/unique_copy/1.cc: Likewise.
792 * testsuite/25_algorithms/unique_copy/2.cc: Likewise.
793 * testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
794 * testsuite/25_algorithms/upper_bound/2.cc: Likewise.
795 * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
796 * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Likewise.
797 * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc:
799 * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc:
801 * testsuite/28_regex/algorithms/regex_match/basic/
802 string_range_00_03.cc: Likewise.
803 * testsuite/28_regex/algorithms/regex_match/basic/
804 string_range_01_03.cc: Likewise.
805 * testsuite/28_regex/algorithms/regex_match/basic/
806 string_range_02_03.cc: Likewise.
807 * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
809 * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
811 * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
813 * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc:
815 * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
817 * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
819 * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc:
821 * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
823 * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
825 * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Likewise.
826 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
828 * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc:
830 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
832 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/
833 anymatcher.cc: Likewise.
834 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
836 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc:
838 * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
840 * testsuite/28_regex/algorithms/regex_match/extended/
841 cstring_questionmark.cc: Likewise.
842 * testsuite/28_regex/algorithms/regex_match/extended/
843 cstring_range.cc: Likewise.
844 * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
846 * testsuite/28_regex/algorithms/regex_match/extended/
847 string_range_00_03.cc: Likewise.
848 * testsuite/28_regex/algorithms/regex_match/extended/
849 string_range_01_03.cc: Likewise.
850 * testsuite/28_regex/algorithms/regex_match/extended/
851 string_range_02_03.cc: Likewise.
852 * testsuite/28_regex/algorithms/regex_match/extended/
853 wstring_locale.cc: Likewise.
854 * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
856 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc: Likewise.
857 * testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise.
858 * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
860 * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
862 * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Likewise.
863 * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Likewise.
864 * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
866 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
867 * testsuite/28_regex/basic_regex/assign/char/cstring_op.cc: Likewise.
868 * testsuite/28_regex/basic_regex/assign/char/moveable.cc: Likewise.
869 * testsuite/28_regex/basic_regex/assign/char/pstring.cc: Likewise.
870 * testsuite/28_regex/basic_regex/assign/char/range.cc: Likewise.
871 * testsuite/28_regex/basic_regex/assign/char/string.cc: Likewise.
872 * testsuite/28_regex/basic_regex/assign/char/string_op.cc: Likewise.
873 * testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc: Likewise.
874 * testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc: Likewise.
875 * testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc: Likewise.
876 * testsuite/28_regex/basic_regex/assign/wchar_t/range.cc: Likewise.
877 * testsuite/28_regex/basic_regex/assign/wchar_t/string.cc: Likewise.
878 * testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc: Likewise.
879 * testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc:
881 * testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
883 * testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
884 * testsuite/28_regex/basic_regex/ctors/extended/
885 string_range_01_02_03.cc: Likewise.
886 * testsuite/28_regex/basic_regex/ctors/move_char.cc: Likewise.
887 * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
888 * testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc: Likewise.
889 * testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc: Likewise.
890 * testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc: Likewise.
891 * testsuite/28_regex/basic_regex/imbue/string.cc: Likewise.
892 * testsuite/28_regex/constants/error_type.cc: Likewise.
893 * testsuite/28_regex/constants/match_flag_type.cc: Likewise.
894 * testsuite/28_regex/init-list.cc: Likewise.
895 * testsuite/28_regex/iterators/regex_iterator/char/64140.cc: Likewise.
896 * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
898 * testsuite/28_regex/iterators/regex_iterator/char/
899 string_position_01.cc
900 * testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc:
902 * testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/
903 default.cc: Likewise.
904 * testsuite/28_regex/iterators/regex_iterator/typedefs.cc: Likewise.
905 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
907 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
909 * testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Likewise.
910 * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
912 * testsuite/28_regex/iterators/regex_token_iterator/ctors/char/
913 default.cc: Likewise.
914 * testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/
915 default.cc: Likewise.
916 * testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc:
918 * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
919 string_01.cc: Likewise.
920 * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
921 wstring_02.cc: Likewise.
922 * testsuite/28_regex/match_results/ctors/char/default.cc: Likewise.
923 * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
924 * testsuite/28_regex/match_results/format.cc: Likewise.
925 * testsuite/28_regex/match_results/out_of_range_submatches.cc: Likewise.
926 * testsuite/28_regex/match_results/swap.cc: Likewise.
927 * testsuite/28_regex/match_results/typedefs.cc: Likewise.
928 * testsuite/28_regex/regex_error/regex_error.cc: Likewise.
929 * testsuite/28_regex/regression.cc: Likewise.
930 * testsuite/28_regex/sub_match/cast_char.cc: Likewise.
931 * testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
932 * testsuite/28_regex/sub_match/embedded_zeros_cmp.cc: Likewise.
933 * testsuite/28_regex/sub_match/length.cc: Likewise.
934 * testsuite/28_regex/traits/char/ctor.cc: Likewise.
935 * testsuite/28_regex/traits/char/isctype.cc: Likewise.
936 * testsuite/28_regex/traits/char/length.cc: Likewise.
937 * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
938 * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
939 * testsuite/28_regex/traits/char/transform.cc: Likewise.
940 * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
941 * testsuite/28_regex/traits/char/translate.cc: Likewise.
942 * testsuite/28_regex/traits/char/translate_nocase.cc: Likewise.
943 * testsuite/28_regex/traits/char/user_defined.cc: Likewise.
944 * testsuite/28_regex/traits/char/value.cc: Likewise.
945 * testsuite/28_regex/traits/wchar_t/ctor.cc: Likewise.
946 * testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise.
947 * testsuite/28_regex/traits/wchar_t/length.cc: Likewise.
948 * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: Likewise.
949 * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
950 * testsuite/28_regex/traits/wchar_t/transform.cc: Likewise.
951 * testsuite/28_regex/traits/wchar_t/transform_primary.cc: Likewise.
952 * testsuite/28_regex/traits/wchar_t/translate.cc: Likewise.
953 * testsuite/28_regex/traits/wchar_t/translate_nocase.cc: Likewise.
954 * testsuite/28_regex/traits/wchar_t/user_defined.cc: Likewise.
955 * testsuite/28_regex/traits/wchar_t/value.cc: Likewise.
956 * testsuite/29_atomics/atomic/60658.cc: Likewise.
957 * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
958 * testsuite/29_atomics/atomic_flag/clear/1.cc: Likewise.
959 * testsuite/backward/11460.cc: Likewise.
960 * testsuite/backward/hash_map/1.cc: Likewise.
961 * testsuite/backward/hash_map/25896.cc: Likewise.
962 * testsuite/backward/hash_set/1.cc: Likewise.
963 * testsuite/backward/hash_set/25896.cc: Likewise.
964 * testsuite/decimal/binary-arith.cc: Likewise.
965 * testsuite/decimal/comparison.cc: Likewise.
966 * testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
967 * testsuite/decimal/compound-assignment.cc: Likewise.
968 * testsuite/decimal/conversion-from-float.cc: Likewise.
969 * testsuite/decimal/conversion-from-integral.cc: Likewise.
970 * testsuite/decimal/conversion-to-generic-float.cc: Likewise.
971 * testsuite/decimal/conversion-to-integral.cc: Likewise.
972 * testsuite/decimal/ctor.cc: Likewise.
973 * testsuite/decimal/incdec-memfunc.cc: Likewise.
974 * testsuite/decimal/incdec.cc: Likewise.
975 * testsuite/decimal/make-decimal.cc: Likewise.
976 * testsuite/decimal/pr54036-1.cc: Likewise.
977 * testsuite/decimal/pr54036-2.cc: Likewise.
978 * testsuite/decimal/pr54036-3.cc: Likewise.
979 * testsuite/decimal/unary-arith.cc: Likewise.
980 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise.
981 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
983 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise.
984 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
986 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
987 * testsuite/special_functions/03_beta/check_value.cc: Likewise.
988 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
989 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: Likewise.
990 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
991 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: Likewise.
992 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
993 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Likewise.
994 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
995 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Likewise.
996 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
997 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
998 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Likewise.
999 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
1000 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Likewise.
1001 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
1002 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
1003 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
1004 * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
1005 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
1006 * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
1007 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
1008 * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
1009 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
1010 * testsuite/special_functions/14_expint/check_value.cc: Likewise.
1011 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
1012 * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
1013 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
1014 * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
1015 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
1016 * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
1017 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
1018 * testsuite/special_functions/18_riemann_zeta/check_value.cc: Likewise.
1019 * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
1020 * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
1021 * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
1022 * testsuite/special_functions/20_sph_legendre/check_value.cc: Likewise.
1023 * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
1024 * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
1025 * testsuite/tr2/bases/value.cc: Likewise.
1026 * testsuite/tr2/direct_bases/value.cc: Likewise.
1027 * testsuite/util/debug/checks.h: Likewise.
1028 * testsuite/util/debug/unordered_checks.h: Likewise.
1029 * testsuite/util/testsuite_allocator.h: Likewise.
1030 * testsuite/util/testsuite_api.h: Likewise.
1031 * testsuite/util/testsuite_common_types.h: Likewise.
1032 * testsuite/util/testsuite_random.h: Likewise.
1033 * testsuite/util/testsuite_rvalref.h: Likewise.
1035 2016-10-13 Jonathan Wakely <jwakely@redhat.com>
1037 * include/bits/shared_ptr_base.h: Include <functional>.
1038 [!__cpp_rtti]: Do not include <typeinfo>.
1039 * include/experimental/array: Do not include <functional>.
1040 * include/experimental/memory: Include <bits/functional_hash.h>
1041 instead of <functional>.
1042 * include/experimental/propagate_const: Include <bits/stl_function.h>,
1043 <bits/functional_hash.h>, and <bits/move.h> instead of <functional>.
1044 * include/experimental/tuple: Do not include <functional>.
1045 * include/std/future: Include <functional>.
1046 * include/std/memory: Do not include <functional>.
1047 * include/std/mutex: [_GLIBCXX_HAVE_TLS]: Likewise.
1048 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
1050 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
1051 * testsuite/20_util/specialized_algorithms/memory_management_tools/
1053 * testsuite/30_threads/call_once/60497.cc: Likewise.
1054 * testsuite/30_threads/lock/2.cc: Likewise.
1055 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
1056 * testsuite/experimental/algorithm/sample.cc: Likewise.
1057 * testsuite/experimental/array/make_array.cc: Likewise.
1058 * testsuite/experimental/array/neg.cc: Likewise. Adjust dg-error line.
1059 * testsuite/experimental/propagate_const/assignment/move_neg.cc:
1060 Adjust dg-error lines.
1061 * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
1062 * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
1063 * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
1064 * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
1065 * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
1067 * testsuite/experimental/algorithm/sample.cc: Add missing header.
1069 * include/experimental/propagate_const (element_type): Qualify
1072 * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
1075 * include/experiumental/functional (boyer_moore_searcher)
1076 (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
1077 with _GLIBCXX_STD_C.
1078 * include/std/functional: Likewise.
1080 * include/std/chrono (floor): Replace non-constexpr operation.
1081 * testsuite/20_util/duration_cast/rounding.cc: Test conversion to
1082 durations with floating pointer representations.
1084 * src/c++11/compatibility-thread-c++0x.cc (_Bind_simple)
1085 (_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols.
1087 * include/std/functional (_Bind_simple, _Bind_simple_helper)
1088 (__bind_simple): Remove.
1089 * include/std/future: Include <bits/invoke.h> instead of <functional>.
1090 (__future_base::_Task_state::_M_run)
1091 (__future_base::_Task_state::_M_run_delayed): Use lambda expressions
1092 instead of __bind_simple.
1093 (__future_base::_Task_state::_S_maybe_wrap_ref): Remove.
1094 (async): Use thread::__make_invoker instead of __bind_simple.
1095 * include/std/thread: Include <tuple> and <bits/invoke.h> instead of
1097 (thread::_Invoker, thread::__make_invoker): Define helpers to do
1098 INVOKE(DECAY_COPY(f), DECAY_COPY(args)...).
1100 * include/std/functional (_Not_fn): Make exception specifications
1101 depend on whether negating the result can throw.
1102 * testsuite/20_util/not_fn/1.cc: Move to ...
1103 * testsuite/20_util/function_objects/not_fn/1.cc: ... here. Add tests
1104 for types that can throw when negated and that cannot be negated.
1106 * include/bits/invoke.h (__invoke): Fix exception-specification.
1107 * include/std/functional (invoke): Likewise.
1108 * testsuite/20_util/function_objects/invoke/1.cc: New test.
1110 2016-10-12 Paolo Carlini <paolo.carlini@oracle.com>
1112 * testsuite/util/testsuite_hooks.h: Rewrite VERIFY in terms of
1113 __builtin_printf and __builtin_abort.
1114 * testsuite/lib/libstdc++.exp: Remove _GLIBCXX_ASSERT use.
1115 * scripts/testsuite_flags.in: Likewise.
1116 * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
1117 * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
1118 * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
1119 * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
1120 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise, adjust.
1121 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
1122 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
1123 * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
1124 * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
1125 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1126 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1128 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
1130 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1132 * testsuite/27_io/objects/char/7.cc: Likewise.
1133 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
1134 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
1135 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
1136 * testsuite/18_support/50594.cc: Remove 'test' variable, adjust.
1137 * testsuite/18_support/bad_alloc/what.cc: Likewise.
1138 * testsuite/18_support/bad_cast/what.cc: Likewise.
1139 * testsuite/18_support/bad_exception/what.cc: Likewise.
1140 * testsuite/18_support/bad_typeid/what.cc: Likewise.
1141 * testsuite/18_support/exception/38732.cc: Likewise.
1142 * testsuite/18_support/exception/what.cc: Likewise.
1143 * testsuite/18_support/exception_ptr/64241.cc: Likewise.
1144 * testsuite/18_support/exception_ptr/current_exception.cc: Likewise.
1145 * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
1146 * testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise.
1147 * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
1148 * testsuite/18_support/nested_exception/cons.cc: Likewise.
1149 * testsuite/18_support/nested_exception/nested_ptr.cc: Likewise.
1150 * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise.
1151 * testsuite/18_support/nested_exception/rethrow_nested.cc: Likewise.
1152 * testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise.
1153 * testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise.
1154 * testsuite/18_support/numeric_limits/digits10.cc: Likewise.
1155 * testsuite/18_support/numeric_limits/dr559.cc: Likewise.
1156 * testsuite/18_support/numeric_limits/epsilon.cc: Likewise.
1157 * testsuite/18_support/numeric_limits/is_iec559.cc: Likewise.
1158 * testsuite/18_support/numeric_limits/is_signed.cc: Likewise.
1159 * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
1160 * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
1161 * testsuite/18_support/numeric_limits/min_max.cc: Likewise.
1162 * testsuite/18_support/numeric_limits/specialization_default_values.cc:
1164 * testsuite/18_support/type_info/hash_code.cc: Likewise.
1165 * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
1166 * testsuite/19_diagnostics/error_category/cons/default.cc: Likewise.
1167 * testsuite/19_diagnostics/error_category/operators/equal.cc: Likewise.
1168 * testsuite/19_diagnostics/error_category/operators/
1169 not_equal.cc: Likewise.
1170 * testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
1171 * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
1172 * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
1173 * testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
1174 * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
1175 * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
1176 * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise.
1177 * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
1178 * testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
1180 * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
1181 * testsuite/19_diagnostics/error_condition/operators/equal.cc:
1183 * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
1185 * testsuite/19_diagnostics/logic_error/what-1.cc: Likewise.
1186 * testsuite/19_diagnostics/logic_error/what-2.cc: Likewise.
1187 * testsuite/19_diagnostics/logic_error/what-3.cc: Likewise.
1188 * testsuite/19_diagnostics/logic_error/what-big.cc: Likewise.
1189 * testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise.
1190 * testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise.
1191 * testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
1192 * testsuite/19_diagnostics/runtime_error/what-big.cc: Likewise.
1193 * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
1194 * testsuite/19_diagnostics/system_error/what-1.cc: Likewise.
1195 * testsuite/19_diagnostics/system_error/what-2.cc: Likewise.
1196 * testsuite/19_diagnostics/system_error/what-3.cc: Likewise.
1197 * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
1198 * testsuite/19_diagnostics/system_error/what-big.cc: Likewise.
1199 * testsuite/20_util/addressof/1.cc: Likewise.
1200 * testsuite/20_util/align/1.cc: Likewise.
1201 * testsuite/20_util/align/2.cc: Likewise.
1202 * testsuite/20_util/allocator/1.cc: Likewise.
1203 * testsuite/20_util/allocator/10378.cc: Likewise.
1204 * testsuite/20_util/allocator/8230.cc: Likewise.
1205 * testsuite/20_util/allocator_traits/members/allocate_hint.cc:
1207 * testsuite/20_util/allocator_traits/members/construct.cc: Likewise.
1208 * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
1209 * testsuite/20_util/allocator_traits/members/max_size.cc: Likewise.
1210 * testsuite/20_util/any/assign/exception.cc: Likewise.
1211 * testsuite/20_util/auto_ptr/1.cc: Likewise.
1212 * testsuite/20_util/auto_ptr/2.cc: Likewise.
1213 * testsuite/20_util/auto_ptr/3.cc: Likewise.
1214 * testsuite/20_util/auto_ptr/4.cc: Likewise.
1215 * testsuite/20_util/auto_ptr/5.cc: Likewise.
1216 * testsuite/20_util/auto_ptr/6.cc: Likewise.
1217 * testsuite/20_util/auto_ptr/7.cc: Likewise.
1218 * testsuite/20_util/bind/all_bound.cc: Likewise.
1219 * testsuite/20_util/bind/conv_result.cc: Likewise.
1220 * testsuite/20_util/bind/cv_quals.cc: Likewise.
1221 * testsuite/20_util/bind/cv_quals_2.cc
1222 * testsuite/20_util/bind/nested.cc: Likewise.
1223 * testsuite/20_util/bind/placeholders.cc: Likewise.
1224 * testsuite/20_util/bind/ref.cc: Likewise.
1225 * testsuite/20_util/bind/ref2.cc: Likewise.
1226 * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
1227 * testsuite/20_util/duration/arithmetic/1.cc: Likewise.
1228 * testsuite/20_util/duration/arithmetic/2.cc: Likewise.
1229 * testsuite/20_util/duration/arithmetic/58850.cc: Likewise.
1230 * testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise.
1231 * testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise.
1232 * testsuite/20_util/duration/comparison_operators/1.cc: Likewise.
1233 * testsuite/20_util/duration/cons/1.cc: Likewise.
1234 * testsuite/20_util/duration/cons/2.cc: Likewise.
1235 * testsuite/20_util/enable_if/requirements/typedefs.cc: Likewise.
1236 * testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Likewise.
1237 * testsuite/20_util/enable_shared_from_this/members/assign.cc:
1239 * testsuite/20_util/exchange/1.cc: Likewise.
1240 * testsuite/20_util/forward/a.cc: Likewise.
1241 * testsuite/20_util/forward/b.cc: Likewise.
1242 * testsuite/20_util/forward/d.cc: Likewise.
1243 * testsuite/20_util/function/1.cc: Likewise.
1244 * testsuite/20_util/function/2.cc: Likewise.
1245 * testsuite/20_util/function/3.cc: Likewise.
1246 * testsuite/20_util/function/4.cc: Likewise.
1247 * testsuite/20_util/function/43397.cc: Likewise.
1248 * testsuite/20_util/function/5.cc: Likewise.
1249 * testsuite/20_util/function/6.cc: Likewise.
1250 * testsuite/20_util/function/7.cc: Likewise.
1251 * testsuite/20_util/function/8.cc: Likewise.
1252 * testsuite/20_util/function/9.cc: Likewise.
1253 * testsuite/20_util/function/assign/move.cc: Likewise.
1254 * testsuite/20_util/function/cons/move.cc: Likewise.
1255 * testsuite/20_util/function_objects/dr660.cc: Likewise.
1256 * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Likewise.
1257 * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
1258 * testsuite/20_util/hash/chi2_q_document_words.cc: Likewise.
1259 * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
1260 * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
1261 * testsuite/20_util/hash/operators/size_t.cc: Likewise.
1262 * testsuite/20_util/hash/quality.cc: Likewise.
1263 * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
1264 * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
1265 * testsuite/20_util/is_function/24808.cc: Likewise.
1266 * testsuite/20_util/is_object/24808.cc: Likewise.
1267 * testsuite/20_util/move_if_noexcept/1.cc: Likewise.
1268 * testsuite/20_util/move_if_noexcept/constexpr.cc: Likewise.
1269 * testsuite/20_util/owner_less/cmp.cc: Likewise.
1270 * testsuite/20_util/pair/1.cc: Likewise.
1271 * testsuite/20_util/pair/2.cc: Likewise.
1272 * testsuite/20_util/pair/3.cc: Likewise.
1273 * testsuite/20_util/pair/4.cc: Likewise.
1274 * testsuite/20_util/pair/make_pair/constexpr.cc: Likewise.
1275 * testsuite/20_util/pair/moveable.cc: Likewise.
1276 * testsuite/20_util/pair/piecewise.cc: Likewise.
1277 * testsuite/20_util/pair/swap.cc: Likewise.
1278 * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
1279 * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.
1280 * testsuite/20_util/ratio/comparisons/comp3.cc: Likewise.
1281 * testsuite/20_util/ratio/cons/cons1.cc: Likewise.
1282 * testsuite/20_util/ratio/operations/45866.cc: Likewise.
1283 * testsuite/20_util/ratio/operations/47913.cc: Likewise.
1284 * testsuite/20_util/ratio/operations/ops1.cc: Likewise.
1285 * testsuite/20_util/ratio/operations/ops2.cc: Likewise.
1286 * testsuite/20_util/ratio/operations/ops3.cc: Likewise.
1287 * testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
1288 * testsuite/20_util/scoped_allocator/1.cc: Likewise.
1289 * testsuite/20_util/scoped_allocator/2.cc: Likewise.
1290 * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise.
1291 * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
1292 * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
1293 * testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
1294 * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
1295 * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
1297 * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
1298 * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise.
1299 * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise.
1300 * testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
1301 * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
1302 * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
1303 * testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
1304 * testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
1305 * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise.
1306 * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
1307 * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
1308 * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Likewise.
1309 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Likewise.
1310 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc:
1312 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
1314 * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
1315 * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
1316 * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
1317 * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
1318 * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
1319 * testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
1320 * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
1321 * testsuite/20_util/shared_ptr/hash/1.cc: Likewise.
1322 * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
1323 * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise.
1324 * testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
1325 * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
1326 * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
1327 * testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
1328 * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
1329 * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
1330 * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
1331 * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
1332 * testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
1333 * testsuite/20_util/shared_ptr/observers/owner_before.cc: Likewise.
1334 * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
1335 * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
1336 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
1338 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
1339 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
1340 move_iterators/1.cc: Likewise.
1341 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
1342 move_iterators/1.cc: Likewise.
1343 * testsuite/20_util/temporary_buffer.cc: Likewise.
1344 * testsuite/20_util/time_point/1.cc: Likewise.
1345 * testsuite/20_util/time_point/2.cc: Likewise.
1346 * testsuite/20_util/time_point/3.cc: Likewise.
1347 * testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise.
1348 * testsuite/20_util/tuple/48476.cc: Likewise.
1349 * testsuite/20_util/tuple/comparison_operators/comparisons.cc:
1351 * testsuite/20_util/tuple/cons/allocators.cc: Likewise.
1352 * testsuite/20_util/tuple/cons/assignment.cc: Likewise.
1353 * testsuite/20_util/tuple/cons/big_tuples.cc: Likewise.
1354 * testsuite/20_util/tuple/cons/constructor.cc: Likewise.
1355 * testsuite/20_util/tuple/creation_functions/23978.cc: Likewise.
1356 * testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.
1357 * testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise.
1358 * testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc:
1360 * testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise.
1361 * testsuite/20_util/tuple/creation_functions/tie.cc: Likewise.
1362 * testsuite/20_util/tuple/creation_functions/tie2.cc: Likewise.
1363 * testsuite/20_util/tuple/cv_tuple_size.cc: Likewise.
1364 * testsuite/20_util/tuple/element_access/get.cc: Likewise.
1365 * testsuite/20_util/tuple/element_access/get_by_type.cc: Likewise.
1366 * testsuite/20_util/tuple/moveable.cc: Likewise.
1367 * testsuite/20_util/tuple/swap.cc: Likewise.
1368 * testsuite/20_util/tuple/tuple_size.cc: Likewise.
1369 * testsuite/20_util/typeindex/comparison_operators.cc: Likewise.
1370 * testsuite/20_util/typeindex/hash.cc: Likewise.
1371 * testsuite/20_util/typeindex/hash_code.cc: Likewise.
1372 * testsuite/20_util/typeindex/name.cc: Likewise.
1373 * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
1374 * testsuite/20_util/unique_ptr/assign/move.cc: Likewise.
1375 * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise.
1376 * testsuite/20_util/unique_ptr/assign/nullptr.cc: Likewise.
1377 * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise.
1378 * testsuite/20_util/unique_ptr/cons/nullptr.cc: Likewise.
1379 * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise.
1380 * testsuite/20_util/unique_ptr/cons/pointer_array.cc: Likewise.
1381 * testsuite/20_util/unique_ptr/cons/ptr_deleter.cc: Likewise.
1382 * testsuite/20_util/unique_ptr/creation/array.cc: Likewise.
1383 * testsuite/20_util/unique_ptr/creation/single.cc: Likewise.
1384 * testsuite/20_util/unique_ptr/hash/1.cc: Likewise.
1385 * testsuite/20_util/unique_ptr/modifiers/43183.cc: Likewise.
1386 * testsuite/20_util/unique_ptr/specialized_algorithms/
1387 comparisons.cc: Likewise.
1388 * testsuite/20_util/unique_ptr/specialized_algorithms/
1389 comparisons_array.cc: Likewise.
1390 * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc:
1392 * testsuite/20_util/uses_allocator/construction.cc: Likewise.
1393 * testsuite/20_util/uses_allocator/value.cc: Likewise.
1394 * testsuite/20_util/variant/run.cc: Likewise.
1395 * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
1396 * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
1397 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
1399 * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
1400 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
1402 * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
1403 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
1405 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
1407 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
1409 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
1411 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
1413 * testsuite/21_strings/basic_string/capacity/1.cc: Likewise.
1414 * testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise.
1415 * testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise.
1416 * testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise.
1417 * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
1419 * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise.
1420 * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
1422 * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Likewise.
1423 * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
1425 * testsuite/21_strings/basic_string/cons/char/1.cc: Likewise.
1426 * testsuite/21_strings/basic_string/cons/char/2.cc: Likewise.
1427 * testsuite/21_strings/basic_string/cons/char/3.cc: Likewise.
1428 * testsuite/21_strings/basic_string/cons/char/4.cc: Likewise.
1429 * testsuite/21_strings/basic_string/cons/char/42261.cc: Likewise.
1430 * testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
1431 * testsuite/21_strings/basic_string/cons/char/6.cc: Likewise.
1432 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
1433 * testsuite/21_strings/basic_string/cons/char/8.cc: Likewise.
1434 * testsuite/21_strings/basic_string/cons/char/moveable.cc: Likewise.
1435 * testsuite/21_strings/basic_string/cons/char/moveable2.cc: Likewise.
1436 * testsuite/21_strings/basic_string/cons/wchar_t/1.cc: Likewise.
1437 * testsuite/21_strings/basic_string/cons/wchar_t/2.cc: Likewise.
1438 * testsuite/21_strings/basic_string/cons/wchar_t/3.cc: Likewise.
1439 * testsuite/21_strings/basic_string/cons/wchar_t/4.cc: Likewise.
1440 * testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.
1441 * testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
1442 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Likewise.
1443 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
1444 * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
1445 * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
1446 * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
1448 * testsuite/21_strings/basic_string/element_access/char/1.cc: Likewise.
1449 * testsuite/21_strings/basic_string/element_access/char/2.cc: Likewise.
1450 * testsuite/21_strings/basic_string/element_access/char/3.cc: Likewise.
1451 * testsuite/21_strings/basic_string/element_access/char/4.cc: Likewise.
1452 * testsuite/21_strings/basic_string/element_access/char/58163.cc:
1454 * testsuite/21_strings/basic_string/element_access/char/empty.cc:
1456 * testsuite/21_strings/basic_string/element_access/char/front_back.cc:
1458 * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc:
1460 * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc:
1462 * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc:
1464 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
1466 * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
1468 * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
1470 * testsuite/21_strings/basic_string/element_access/wchar_t/
1471 front_back.cc: Likewise.
1472 * testsuite/21_strings/basic_string/init-list.cc: Likewise.
1473 * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
1475 * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
1477 * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
1479 * testsuite/21_strings/basic_string/inserters_extractors/char/
1481 * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
1483 * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
1485 * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
1487 * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
1489 * testsuite/21_strings/basic_string/inserters_extractors/char/8.cc:
1491 * testsuite/21_strings/basic_string/inserters_extractors/char/9.cc:
1493 * testsuite/21_strings/basic_string/inserters_extractors/pod/
1494 10081-in.cc: Likewise.
1495 * testsuite/21_strings/basic_string/inserters_extractors/pod/
1496 10081-out.cc: Likewise.
1497 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
1499 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
1501 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
1503 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
1505 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
1507 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
1509 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
1511 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
1513 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc:
1515 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc:
1517 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc:
1519 * testsuite/21_strings/basic_string/modifiers/append/char/2.cc:
1521 * testsuite/21_strings/basic_string/modifiers/append/char/3.cc:
1523 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
1525 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
1527 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc:
1529 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc:
1531 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
1533 * testsuite/21_strings/basic_string/modifiers/assign/char/1.cc:
1535 * testsuite/21_strings/basic_string/modifiers/assign/char/2.cc:
1537 * testsuite/21_strings/basic_string/modifiers/assign/char/3.cc:
1539 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
1541 * testsuite/21_strings/basic_string/modifiers/assign/char/
1542 move_assign.cc: Likewise.
1543 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc:
1545 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc:
1547 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc:
1549 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
1551 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
1552 move_assign.cc: Likewise.
1553 * testsuite/21_strings/basic_string/modifiers/insert/char/1.cc:
1555 * testsuite/21_strings/basic_string/modifiers/insert/char/2.cc:
1557 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
1559 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc:
1561 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc:
1563 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
1565 * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc:
1567 * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc:
1569 * testsuite/21_strings/basic_string/modifiers/replace/char/1.cc:
1571 * testsuite/21_strings/basic_string/modifiers/replace/char/2.cc:
1573 * testsuite/21_strings/basic_string/modifiers/replace/char/3.cc:
1575 * testsuite/21_strings/basic_string/modifiers/replace/char/4.cc:
1577 * testsuite/21_strings/basic_string/modifiers/replace/char/5.cc:
1579 * testsuite/21_strings/basic_string/modifiers/replace/char/6.cc:
1581 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
1583 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc:
1585 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc:
1587 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc:
1589 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc:
1591 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc:
1593 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc:
1595 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
1597 * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
1599 * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
1601 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
1603 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
1605 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
1607 * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
1609 * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
1611 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
1613 * testsuite/21_strings/basic_string/numeric_conversions/char/
1614 stoull.cc: Likewise.
1615 * testsuite/21_strings/basic_string/numeric_conversions/char/
1616 to_string.cc: Likewise.
1617 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1618 dr1261.cc: Likewise.
1619 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1621 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1623 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1625 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1627 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1629 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1631 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1633 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1634 stoull.cc: Likewise.
1635 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1636 to_wstring.cc: Likewise.
1637 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
1639 * testsuite/21_strings/basic_string/operations/compare/char/13650.cc:
1641 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
1643 * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
1645 * testsuite/21_strings/basic_string/operations/compare/wchar_t/
1647 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
1649 * testsuite/21_strings/basic_string/operations/data/char/1.cc:
1651 * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc:
1653 * testsuite/21_strings/basic_string/operations/find/char/1.cc:
1655 * testsuite/21_strings/basic_string/operations/find/char/2.cc:
1657 * testsuite/21_strings/basic_string/operations/find/char/3.cc:
1659 * testsuite/21_strings/basic_string/operations/find/char/4.cc:
1661 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
1663 * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc:
1665 * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc:
1667 * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc:
1669 * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc:
1671 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
1673 * testsuite/21_strings/basic_string/operations/rfind/char/1.cc:
1675 * testsuite/21_strings/basic_string/operations/rfind/char/2.cc:
1677 * testsuite/21_strings/basic_string/operations/rfind/char/3.cc:
1679 * testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc:
1681 * testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc:
1683 * testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc:
1685 * testsuite/21_strings/basic_string/operations/substr/char/1.cc:
1687 * testsuite/21_strings/basic_string/operations/substr/wchar_t/
1689 * testsuite/21_strings/basic_string/operators/char/1.cc: Likewise.
1690 * testsuite/21_strings/basic_string/operators/char/2.cc: Likewise.
1691 * testsuite/21_strings/basic_string/operators/char/3.cc: Likewise.
1692 * testsuite/21_strings/basic_string/operators/char/4.cc: Likewise.
1693 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
1694 * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Likewise.
1695 * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Likewise.
1696 * testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise.
1697 * testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise.
1698 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
1699 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
1700 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
1701 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
1702 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
1703 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
1704 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
1705 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
1706 * testsuite/21_strings/basic_string_view/element_access/char/
1708 * testsuite/21_strings/basic_string_view/element_access/char/
1710 * testsuite/21_strings/basic_string_view/element_access/char/
1711 front_back.cc: Likewise.
1712 * testsuite/21_strings/basic_string_view/element_access/wchar_t/
1714 * testsuite/21_strings/basic_string_view/element_access/wchar_t/
1716 * testsuite/21_strings/basic_string_view/element_access/wchar_t/
1717 front_back.cc: Likewise.
1718 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
1719 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
1720 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
1721 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
1723 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
1725 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
1727 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
1729 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
1730 char/1.cc: Likewise.
1731 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
1732 wchar_t/1.cc: Likewise.
1733 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
1734 char/1.cc: Likewise.
1735 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
1736 wchar_t/1.cc: Likewise.
1737 * testsuite/21_strings/basic_string_view/operations/compare/char/
1739 * testsuite/21_strings/basic_string_view/operations/compare/char/
1741 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
1743 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
1745 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
1747 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
1749 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
1751 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
1753 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
1755 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
1757 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
1759 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
1761 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
1763 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
1765 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
1767 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
1769 * testsuite/21_strings/basic_string_view/operations/rfind/char/
1771 * testsuite/21_strings/basic_string_view/operations/rfind/char/
1773 * testsuite/21_strings/basic_string_view/operations/rfind/char/
1775 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
1777 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
1779 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
1781 * testsuite/21_strings/basic_string_view/operations/string_conversion/
1783 * testsuite/21_strings/basic_string_view/operations/substr/char/
1785 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
1787 * testsuite/21_strings/basic_string_view/operators/char/2.cc:
1789 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
1791 * testsuite/21_strings/c_strings/char/1.cc: Likewise.
1792 * testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise.
1793 * testsuite/21_strings/char_traits/requirements/char/1.cc: Likewise.
1794 * testsuite/21_strings/char_traits/requirements/char/57704.cc:
1796 * testsuite/21_strings/char_traits/requirements/short/1.cc: Likewise.
1797 * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Likewise.
1799 * doc/xml/manual/test.xml: Fix typo.
1801 2016-10-12 Jonathan Wakely <jwakely@redhat.com>
1803 * doc/xml/manual/status_cxx2017.xml: Add std::sample status.
1804 * doc/html/*: Regenerate.
1805 * include/experimental/algorithm (__sample): Move to bits/stl_algo.h
1806 and into namespace std.
1807 * include/bits/stl_algo.h (__sample): Define here. Fix invalid use
1808 of input iterator. Defend against overloaded comma operator.
1809 (sample): Define for C++17.
1810 * testsuite/25_algorithms/sample/1.cc: New test.
1812 * testsuite/util/testsuite_common_types.h
1813 (bitwise_assignment_operators): Use direct-initialization for C++11
1814 and later, to avoid CopyConstructible requirement.
1815 * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
1817 * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
1818 * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
1819 * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
1820 * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
1821 Adjust expected errors and line numbers.
1823 * include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove.
1824 (call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call.
1826 * include/bits/stl_uninitialized.h
1827 (__uninitialized_default_novalue_n_1<true>): Add missing return.
1828 * testsuite/20_util/specialized_algorithms/memory_management_tools/
1829 1.cc: Check return values of uninitialized_xxx_n algorithms.
1831 * libsupc++/nested_exception.h (throw_with_nested): Remove return.
1833 * doc/xml/manual/intro.xml: Document LWG 2442 status.
1834 * include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
1835 [_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define
1836 partial specialization to unpack args and forward to std::invoke.
1837 (call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call
1838 instead of __bind_simple and __once_call_impl.
1839 (call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of
1841 * testsuite/30_threads/call_once/dr2442.cc: New test.
1843 2016-10-11 Jonathan Wakely <jwakely@redhat.com>
1845 * include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
1846 _M_assign_dispatch directly with correct tag.
1848 * doc/xml/manual/intro.xml: Document LWG 2484 status.
1849 * libsupc++/nested_exception.h (_Throw_with_nested_impl)
1850 (_Throw_with_nested_helper): Remove.
1851 (__throw_with_nested_impl): New overloaded functions to implement
1852 throw_with_nested logic.
1853 (throw_with_nested): Call __throw_with_nested_impl.
1854 (_Rethrow_if_nested_impl): Remove
1855 (__rethrow_if_nested_impl): New overloaded functions to implement
1856 rethrow_if_nested logic.
1857 (rethrow_if_nested): Call __rethrow_if_nested_impl.
1858 * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
1859 problem cases from LWG 2484.
1861 * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
1862 Register printer for std::__cxx11::list.
1863 * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
1864 std::__cxx11::list as well as std::list.
1866 * include/experimental/string_view (basic_string_view::_S_compare):
1867 Remove redundant const from return type.
1868 * include/std/string_view (basic_string_view:_S_compare): Likewise.
1870 * include/bits/std_mutex.h (mutex::native_handle)
1871 (lock_guard(mutex_type&, adopt_lock_t)
1872 (unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
1873 * include/std/mutex (recursive_mutex, timed_mutex)
1874 (recursive_timed_mutex): Likewise.
1876 2016-10-10 Jonathan Wakely <jwakely@redhat.com>
1878 * doc/xml/manual/appendix_contributing.xml (contrib.organization):
1879 Replace <literallayout> with nested <variablelist> elements. Update
1880 some more outdated text.
1881 * doc/html/*: Regenerate.
1883 2016-10-10 Ville Voutilainen <ville.voutilainen@gmail.com>
1885 Make any's copy assignment operator exception-safe,
1886 don't copy the underlying value when any is moved,
1887 make in_place constructors explicit.
1888 * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)):
1890 (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
1892 (operator=(const any&)): Make strongly exception-safe.
1893 (operator=(any&&)): reset() unconditionally in the case where
1895 (operator=(_ValueType&&)): Indent the return type.
1896 (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
1897 * testsuite/20_util/any/assign/2.cc: Adjust.
1898 * testsuite/20_util/any/assign/exception.cc: New.
1899 * testsuite/20_util/any/cons/2.cc: Adjust.
1900 * testsuite/20_util/any/cons/explicit.cc: New.
1901 * testsuite/20_util/any/misc/any_cast_neg.cc: Ajust.
1903 2016-10-10 Jonathan Wakely <jwakely@redhat.com>
1905 * doc/xml/manual/appendix_contributing.xml (contrib.organization):
1906 Describe other subdirectories and add markup. Remove outdated
1907 reference to check-script target.
1908 * doc/html/*: Regenerate.
1910 * doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
1912 * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
1915 * include/std/functional (_Bind_result::__enable_if_void): Use alias
1916 template instead of class template.
1917 (_Bind_result::__disable_if_void): Likewise.
1918 (_Bind_result::__call): Adjust uses of __enable_if_void and
1921 * doc/xml/manual/intro.xml: Document DR 2296 status.
1922 * doc/xml/manual/status_cxx2017.xml: Update status.
1923 * include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and
1924 call __builtin_addressof.
1925 (addressof): Add _GLIBCXX17_CONSTEXPR.
1926 * testsuite/20_util/addressof/requirements/constexpr.cc: New test.
1927 * testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno.
1928 * testsuite/20_util/forward/f_neg.cc: Likewise.
1930 * include/bits/allocator.h (allocator<T>::is_always_equal): Define.
1931 * testsuite/20_util/allocator/requirements/typedefs.cc: Test for
1933 * testsuite/util/testsuite_allocator.h
1934 (uneq_allocator::is_always_equal): Define as false_type.
1936 * include/experimental/numeric (gcd, lcm): Make bool arguments
1938 * include/std/numeric (gcd, lcm): Likewise.
1939 * testsuite/26_numerics/gcd/gcd_neg.cc: New test.
1940 * testsuite/26_numerics/lcm/lcm_neg.cc: New test.
1942 * include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this):
1944 * include/bits/shared_ptr_base.h
1945 (__enable_shared_from_this::weak_from_this): Likewise.
1946 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
1947 Test exception-specification of weak_from_this.
1949 2016-10-07 Jonathan Wakely <jwakely@redhat.com>
1951 * doc/xml/manual/status_cxx1998.xml: Improve documentation of
1952 implementation-defined properties.
1953 * doc/xml/manual/status_cxx2011.xml: Likewise.
1954 * doc/xml/manual/status_cxx2017.xml: Likewise.
1956 * doc/xml/manual/status_cxx2017.xml: Update status.
1957 * include/std/type_traits (has_unique_object_representations): Define.
1958 * testsuite/20_util/has_unique_object_representations/value.cc: New.
1959 * testsuite/20_util/has_unique_object_representations/requirements/
1960 explicit_instantiation.cc: New.
1961 * testsuite/20_util/has_unique_object_representations/requirements/
1964 2016-10-06 Jonathan Wakely <jwakely@redhat.com>
1966 * doc/xml/manual/status_cxx2011.xml: Update status.
1967 * include/std/scoped_allocator (__outer_allocator_t, __outermost_type):
1968 New helpers for recursive OUTERMOST.
1969 (__outermost): Use __outermost_type::_S_outermost.
1970 (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove.
1971 (scoped_allocator_adaptor::__outermost_alloc_traits): Use new
1972 __outermost_type helper.
1973 (scoped_allocator_adaptor::_Constructible): New alias template.
1974 (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>):
1975 Constrain template constructors.
1976 * testsuite/20_util/scoped_allocator/3.cc: New test.
1977 * testsuite/20_util/scoped_allocator/outermost.cc: New test.
1979 2016-10-05 Jonathan Wakely <jwakely@redhat.com>
1982 * testsuite/20_util/not_fn/1.cc: Fix test.
1983 * testsuite/experimental/functional/not_fn.cc: Likewise.
1986 * include/bits/stl_queue.h (priority_queue): Fix allocator-extended
1988 * testsuite/23_containers/priority_queue/allocator.cc: New test.
1991 * include/bits/stl_map.h (map::map()): Use nothrow constructibility
1992 of comparison function in conditional noexcept.
1993 * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
1994 * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
1995 * include/bits/stl_set.h (set::set()): Likewise.
1996 * testsuite/23_containers/map/cons/noexcept_default_construct.cc:
1998 * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
2000 * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
2002 * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
2005 * include/bits/node_handle.h (_Node_handle): Remove invalid and unused
2009 * include/experimental/functional (_Not_fn): Remove.
2010 (not_fn): Use std::_Not_fn.
2011 * include/std/functional (_Not_fn): Add second parameter to
2012 disambiguate copying from initialization by not_fn. Define for C++14.
2013 (not_fn): Add second argument to initialization.
2014 * testsuite/20_util/not_fn/1.cc: Copy call wrapper using
2015 direct-initialization.
2017 2016-10-03 François Dumont <fdumont@gcc.gnu.org>
2019 * src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move
2021 * src/c++11/mutex_pool.h: ... here. New.
2022 * src/c++11/debug.cc: Use latter.
2024 2016-10-03 Jonathan Wakely <jwakely@redhat.com>
2026 * doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status.
2027 * doc/html/*: Regenerate.
2028 * include/experimental/numeric (__abs): Move to <numeric>.
2029 (gcd, lcm): Use __detail::gcd and __detail::lcm.
2030 * include/std/numeric (__detail::__abs_integral)
2031 (__detail::__gcd, __detail::__lcm): Define.
2032 (gcd, lcm): Define for C++17.
2033 * testsuite/26_numerics/gcd/1.cc: New test.
2034 * testsuite/26_numerics/lcm/1.cc: New test.
2035 * testsuite/experimental/numeric/gcd.cc: Swap contents with ...
2036 * testsuite/experimental/numeric/lcd.cc: ... this.
2040 * config/abi/pre/gnu-versioned-namespace.ver: Add exports for
2041 __cxa_thread_atexit and __gnu_cxx::__freeres.
2042 * include/Makefile.am: Add <experimental/bits/lfts_config.h>
2043 * include/Makefile.in: Regenerate.
2044 * include.bits/basic_string.h: Fix nesting of versioned namespaces.
2045 * include/bits/c++config: Declare versioned namespaces for literals.
2046 * include/bits/regex.h (basic_regex, match_results): Add workarounds
2048 * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
2049 * include/std/chrono: Likewise.
2050 * include/std/complex: Likewise.
2051 * include/std/string_view: Likewise.
2052 * include/std/variant: Likewise. Add workaround for PR c++/59256.
2053 * include/experimental/bits/fs_fwd.h: Declare versioned namespace.
2054 * include/experimental/bits/lfts_config.h: Declare versioned
2056 * include/experimental/algorithm: Include
2057 <experimental/bits/lfts_config.h>.
2058 * include/experimental/any: Likewise.
2059 * include/experimental/bits/erase_if.h: Likewise.
2060 * include/experimental/chrono: Likewise.
2061 * include/experimental/functional: Likewise.
2062 * include/experimental/memory_resource: Likewise.
2063 * include/experimental/optional: Likewise.
2064 * include/experimental/propagate_const: Likewise.
2065 * include/experimental/random: Likewise.
2066 * include/experimental/ratio: Likewise.
2067 * include/experimental/system_error: Likewise.
2068 * include/experimental/tuple: Likewise.
2069 * include/experimental/type_traits: Likewise.
2070 * include/experimental/utility: Likewise.
2071 * include/experimental/string_view: Likewise. Fix nesting of
2072 versioned namespaces.
2073 * include/experimental/bits/string_view.tcc: Reopen inline namespace
2074 for non-inline function definitions.
2075 * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
2076 * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
2077 * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
2078 * testsuite/experimental/propagate_const/assignment/move_neg.cc:
2080 * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
2081 * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
2082 * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
2083 * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
2084 * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
2085 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
2088 * include/bits/std_abs.h: Use "C++" language linkage.
2089 * testsuite/17_intro/headers/c++2011/linkage.cc: Move <complex.h> to
2090 the end. Add <stdalign.h>.
2092 2016-10-03 Ville Voutilainen <ville.voutilainen@gmail.com>
2095 * testsuite/20_util/tuple/77802.cc: New.
2098 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
2099 Implement LWG 2729 for tuple.
2100 * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
2101 Suppress conditionally.
2102 (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
2103 (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
2104 (_Tuple_impl(const _Head&)): Constrain.
2105 (_Tuple_impl(_UHead&&)): Likewise.
2106 (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
2107 (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
2108 (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
2109 (operator=(const tuple&)): Enable conditionally.
2110 (operator=(tuple&&)): Suppress conditionally.
2111 (operator=(const tuple<_UElements...>&)): Constrain.
2112 (operator=(tuple<_UElements...>&&)): Likewise.
2113 (operator=(const tuple&)): Enable conditionally (2-param tuple).
2114 (operator=(tuple&&)): Suppress conditionally (2-param tuple).
2115 (operator=(const tuple<_U1, _U2>&)): Constrain.
2116 (operator=(tuple<_U1, _U2>&&)): Likewise.
2117 (operator=(const pair<_U1, _U2>&)): Likewise.
2118 (operator=(pair<_U1, _U2>&&)): Likewise.
2119 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
2120 * testsuite/20_util/tuple/tuple_traits.cc: New.
2122 2016-09-30 Jonathan Wakely <jwakely@redhat.com>
2125 * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check
2127 * config.h.in: Regenerate.
2128 * configure: Regenerate.
2129 * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare
2130 for C++98 and C++11.
2131 * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise.
2132 * testsuite/27_io/headers/cstdio/functions_neg.cc: New test.
2134 * doc/xml/manual/intro.xml: Document LWG 2192 changes.
2135 * doc/html/*: Regenerate.
2136 * include/Makefile.am: Add bits/std_abs.h.
2137 * include/Makefile.in: Regenerate.
2138 * include/bits/std_abs.h: New header defining all required overloads
2139 of std::abs in one place (LWG 2294).
2140 * include/c_global/cmath (abs(double), abs(float), abs(long double)):
2141 Move to bits/std_abs.h.
2142 (abs<_Tp>(_Tp)): Remove.
2143 * include/c_global/cstdlib (abs(long), abs(long long), abs(__int<N>)):
2144 Move to bits/std_abs.h.
2145 * testsuite/26_numerics/headers/cmath/dr2192.cc: New test.
2146 * testsuite/26_numerics/headers/cmath/dr2192_neg.cc: New test.
2147 * testsuite/26_numerics/headers/cstdlib/dr2192.cc: New test.
2148 * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: New test.
2151 * include/experimental/numeric: Include <numeric>.
2153 (gcd, lcm): Use __abs instead of std::abs.
2154 * testsuite/experimental/numeric/77801.cc: New test.
2155 * testsuite/experimental/numeric/gcd.cc: Test unsigned inputs.
2156 * testsuite/experimental/numeric/lcm.cc: Likewise.
2158 2016-09-29 Ville Voutilainen <ville.voutilainen@gmail.com>
2160 Make optional::reset noexcept, make optional::value
2161 work in constant expressions.
2162 * include/std/optional (_M_get): Make constexpr.
2163 (reset): Make noexcept.
2164 * testsuite/20_util/optional/assignment/7.cc: New.
2165 * testsuite/20_util/optional/observers/6.cc: New.
2167 2016-09-29 Jonathan Wakely <jwakely@redhat.com>
2169 * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads
2170 outside _GLIBCXX_USE_C99_MATH_TR1 condition.
2172 2016-09-29 Alan Modra <amodra@gmail.com>
2174 * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST.
2175 * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo):
2176 Use LONG_DOUBLE_COMPAT_FLAGS.
2177 * Makefile.in: Regenerate.
2178 * configure: Regenerate.
2179 * doc/Makefile.in: Regenerate.
2180 * include/Makefile.in: Regenerate.
2181 * libsupc++/Makefile.in: Regenerate.
2182 * po/Makefile.in: Regenerate.
2183 * python/Makefile.in: Regenerate.
2184 * src/Makefile.in: Regenerate.
2185 * src/c++11/Makefile.in: Regenerate.
2186 * src/c++98/Makefile.in: Regenerate.
2187 * src/filesystem/Makefile.in: Regenerate.
2188 * testsuite/Makefile.in: Regenerate.
2190 2016-09-28 Jonathan Wakely <jwakely@redhat.com>
2192 * include/std/chrono (system_clock): Fix typo in comment.
2194 * include/experimental/bits/fs_fwd.h (file_time_type): Simplify
2196 * src/filesystem/ops.cc (file_time): Take error_code parameter and
2198 (do_copy_file, last_write_time): Pass error_code in file_time calls.
2199 * testsuite/experimental/filesystem/operations/last_write_time.cc:
2201 * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper.
2204 * include/std/functional (_Any_data): Add may_alias attribute.
2206 2016-09-27 Jonathan Wakely <jwakely@redhat.com>
2208 * doc/xml/manual/status_cxx2017.xml: Update status.
2209 * doc/html/*: Regenerate.
2210 * include/std/functional (__cpp_lib_boyer_moore_searcher): Define.
2211 * testsuite/20_util/function_objects/searchers.cc: Test feature macro.
2213 * doc/xml/manual/status_cxx2017.xml: Update status.
2214 * include/c_global/cmath (hypot): Add three-dimensional overloads.
2215 * testsuite/26_numerics/headers/cmath/hypot.cc: New.
2217 2016-09-26 Ville Voutilainen <ville.voutilainen@gmail.com>
2220 * include/std/optional (optional(const optional<_Up>&)):
2221 Default-initialize the base and use emplace.
2222 (optional(optional<_Up>&&)): Likewise.
2223 * testsuite/20_util/optional/cons/77727.cc: New.
2225 2016-09-26 François Dumont <fdumont@gcc.gnu.org>
2227 * include/debug/safe_base.h
2228 (_Safe_iterator_base::_M_detach_single): Make public.
2230 2016-09-26 Jonathan Wakely <jwakely@redhat.com>
2232 * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
2233 redefine macro defined in <bits/stl_iterator.h>.
2235 * include/bits/stl_map.h (map::extract(const_iterator)): Assert that
2236 iterator is not past-the-end.
2237 * include/bits/stl_multimap.h (multimap::extract(const_iterator)):
2239 * include/bits/stl_multiset.h (multiset::extract(const_iterator)):
2241 * include/bits/stl_set.h (set::extract(const_iterator)): Likewise.
2242 * include/bits/unordered_map.h (unordered_map::extract(const_iterator))
2243 (unordered_multimap::extract(const_iterator)): Likewise.
2244 * include/bits/unordered_set.h (unordered_set::extract(const_iterator))
2245 (unordered_multiset::extract(const_iterator)): Likewise.
2247 2016-09-26 Ville Voutilainen <ville.voutilainen@gmail.com>
2250 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
2251 Fix an out-of-bounds access.
2253 2016-09-26 Marek Polacek <polacek@redhat.com>
2256 * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]].
2258 2016-09-25 François Dumont <fdumont@gcc.gnu.org>
2260 * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
2262 (get_safe_base_mutex): Get mutex based on address lowest non nil bits.
2263 * testsuite/23_containers/vector/debug/mutex_association.cc: New.
2265 * include/debug/bitset (bitset::reference::reference(const _Base_ref&,
2266 bitset*)): Remove __unused__ attribute.
2267 * include/debug/safe_base.h (_Safe_iterator_base): Make
2268 _Safe_sequence_base a friend.
2269 (_Safe_iterator_base::_M_attach): Make protected.
2270 (_Safe_iterator_base::_M_attach_single): Likewise.
2271 (_Safe_iterator_base::_M_detach): Likewise.
2272 (_Safe_iterator_base::_M_detach_single): Likewise.
2273 (_Safe_sequence_base): Make _Safe_iterator_base a friend.
2274 (_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New.
2275 (_Safe_sequence_base::_M_swap): Make protected.
2276 (_Safe_sequence_base::_M_attach): Make private.
2277 (_Safe_sequence_base::_M_attach_single): Likewise.
2278 (_Safe_sequence_base::_M_detach): Likewise.
2279 (_Safe_sequence_base::_M_detach_single): Likewise.
2280 * include/debug/safe_container.h
2281 (_Safe_container::_Safe_container(_Safe_container&&)): Make default.
2282 * include/debug/safe_iterator.h
2283 (_Safe_iterator::operator++()): Name __scoped_lock instance.
2284 * include/debug/safe_iterator.tcc: Remove trailing line.
2285 * include/debug/safe_unordered_base.h
2286 (_Safe_local_iterator_base::_M_attach): Make protected.
2287 (_Safe_local_iterator_base::_M_attach_single): Likewise.
2288 (_Safe_local_iterator_base::_M_detach): Likewise.
2289 (_Safe_local_iterator_base::_M_detach_single): Likewise.
2290 (_Safe_unordered_container_base): Make _Safe_local_iterator_base friend.
2291 (_Safe_unordered_container_base::_M_attach_local): Make private.
2292 (_Safe_unordered_container_base::_M_attach_local_single): Likewise.
2293 (_Safe_unordered_container_base::_M_detach_local): Likewise.
2294 (_Safe_unordered_container_base::_M_detach_local_single): Likewise.
2296 * include/parallel/algo.h: Generalize usage of std::__iterator_category.
2299 2016-09-23 Jonathan Wakely <jwakely@redhat.com>
2303 * include/bits/basic_string.h (basic_string::clear()): Drop reference
2305 * include/ext/rc_string_base.h (__rc_string_base::_M_clear()):
2307 * testsuite/21_strings/basic_string/56166.cc: New.
2308 * testsuite/ext/vstring/modifiers/clear/56166.cc: New.
2310 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
2311 (basic_string::erase(size_type, size_type)): Add fast path for
2312 truncating the string, by calling _M_set_length directly.
2313 (basic_string::erase(__const_iterator, __const_iterator)): Likewise.
2314 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
2315 (basic_string::resize(size_type, _CharT)): Likewise.
2317 2016-09-22 Jason Merrill <jason@redhat.com>
2319 * configure.ac: Define HAVE_MEMALIGN for newlib.
2321 2015-09-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
2323 * config/cpu/m68k/atomicity.h: Adjust comment.
2324 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
2325 explicit atomicity_dir setup via configure.host.
2326 * configure.host (rtems-*): Set atomicity_dir.
2327 * configure: Regenerate.
2329 2016-09-22 Jonathan Wakely <jwakely@redhat.com>
2331 Implement C++17 node extraction and insertion (P0083R5)
2332 * doc/xml/manual/status_cxx2017.xml: Document status.
2333 * doc/html/*: Regenerate.
2334 * include/Makefile.am: Add bits/node_handle.h and reorder.
2335 * include/Makefile.in: Regenerate.
2336 * include/bits/hashtable.h (_Hashtable::node_type)
2337 (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node)
2338 (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract)
2339 (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define.
2340 (_Hash_merge_helper): Define primary template.
2341 * include/bits/node_handle.h: New header.
2342 * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as
2344 (map::node_type, map::insert_return_type, map::extract, map::merge)
2345 (map::insert(node_type&&), map::insert(const_iterator, node_type&&)):
2347 (_Rb_tree_merge_helper): Specialize for map.
2348 * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper
2350 (multimap::node_type, multimap::extract, multimap::merge)
2351 (multimap::insert(node_type&&))
2352 (multimap::insert(const_iterator, node_type&&)): Define.
2353 (_Rb_tree_merge_helper): Specialize for multimap.
2354 * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper
2356 (multiset::node_type, multiset::extract, multiset::merge)
2357 (multiset::insert(node_type&&))
2358 (multiset::insert(const_iterator, node_type&&)): Define.
2359 * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as
2361 (set::node_type, set::insert_return_type, set::extract, set::merge)
2362 (set::insert(node_type&&), set::insert(const_iterator, node_type&&)):
2364 (_Rb_tree_merge_helper): Specialize for set.
2365 * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend.
2366 (_Rb_tree::node_type, _Rb_tree::insert_return_type)
2367 (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal)
2368 (_Rb_tree::_M_reinsert_node_hint_unique)
2369 (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract)
2370 (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define.
2371 (_Rb_tree_merge_helper): Specialize for multiset.
2372 * include/bits/unordered_map.h (unordered_map): Declare
2373 unordered_map<> and unordered_multimap<> as friends.
2374 (unordered_map::node_type, unordered_map::insert_return_type)
2375 (unordered_map::extract, unordered_map::merge)
2376 (unordered_map::insert(node_type&&))
2377 (unordered_map::insert(const_iterator, node_type&&))
2378 (unordered_multimap): Declare _Hash_merge_helper as friend.
2379 (unordered_multimap::node_type, unordered_multimap::extract)
2380 (unordered_multimap::merge, unordered_multimap::insert(node_type&&))
2381 (unordered_multimap::insert(const_iterator, node_type&&)): Define.
2382 (_Hash_merge_helper): Specialize for unordered maps and multimaps.
2383 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
2384 Declare _Hash_merge_helper as friend.
2385 (unordered_set::node_type, unordered_set::insert_return_type)
2386 (unordered_set::extract, unordered_set::merge)
2387 (unordered_set::insert(node_type&&))
2388 (unordered_set::insert(const_iterator, node_type&&)): Define.
2389 (unordered_multiset::node_type, unordered_multiset::extract)
2390 (unordered_multiset::merge, unordered_multiset::insert(node_type&&))
2391 (unordered_multiset::insert(const_iterator, node_type&&)): Define.
2392 (_Hash_merge_helper): Specialize for unordered sets and multisets.
2393 * include/debug/map.h (map): Add using declarations or forwarding
2394 functions for new members.
2395 * include/debug/map.h (multimap): Likewise.
2396 * include/debug/map.h (multiset): Likewise.
2397 * include/debug/map.h (set): Likewise.
2398 * include/debug/unordered_map (unordered_map, unordered_multimap):
2400 * include/debug/unordered_set( unordered_set, unordered_multiset):
2402 * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New
2404 (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper.
2405 (StdNodeHandlePrinter): Define printer for node handles.
2406 (build_libstdcxx_dictionary): Register StdNodeHandlePrinter.
2407 * testsuite/23_containers/map/modifiers/extract.cc: New.
2408 * testsuite/23_containers/map/modifiers/merge.cc: New.
2409 * testsuite/23_containers/multimap/modifiers/extract.cc: New.
2410 * testsuite/23_containers/multimap/modifiers/merge.cc: New.
2411 * testsuite/23_containers/multiset/modifiers/extract.cc: New.
2412 * testsuite/23_containers/multiset/modifiers/merge.cc: New.
2413 * testsuite/23_containers/set/modifiers/extract.cc: New.
2414 * testsuite/23_containers/set/modifiers/merge.cc: New.
2415 * testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
2416 * testsuite/23_containers/unordered_map/modifiers/merge.cc: New.
2417 * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
2419 * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New.
2420 * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
2422 * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New.
2423 * testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
2424 * testsuite/23_containers/unordered_set/modifiers/merge.cc: New.
2425 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2427 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles.
2429 2016-09-22 Ville Voutilainen <ville.voutilainen@gmail.com>
2431 Fix tests on old arm platforms for optional.
2432 * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
2434 2016-09-22 Jonathan Wakely <jwakely@redhat.com>
2436 * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for
2437 recent change to _Variant_storage.
2438 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with
2441 * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify
2442 std::forward and ::new. Cast pointer to void*.
2443 * include/std/variant (_Variant_storage, _Union, _Variant_base)
2444 (__access, __visit_invoke, variant, visit): Qualify std::forward.
2445 * testsuite/20_util/variant/compile.cc: Test for ADL problems.
2447 2016-09-22 Tim Shen <timshen@google.com>
2449 * include/std/variant (variant::operator=): Fix assignment
2451 * testsuite/20_util/variant/compile.cc: Add test.
2453 2016-09-22 Tim Shen <timshen@google.com>
2456 * include/std/variant (_Variant_storage::_Variant_storage):
2457 Change _Variant_storage's union to be default constructible.
2458 * testsuite/20_util/variant/compile.cc: New test.
2460 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
2463 * include/std/optional (__is_optional_impl, __is_optional): Remove.
2464 (__converts_from_optional, __assigns_from_optional): New.
2465 (optional(_Up&&)): Use is_same instead of __is_optional.
2466 (optional(const optional<_Up>&)): Constrain with
2467 __converts_from_optional.
2468 (optional(optional<_Up>&&)): Likewise.
2469 (operator=(_Up&&)): Use is_same instead of __is_optional, check
2470 is_same and is_scalar.
2471 (operator=(const optional<_Up>&)): Constrain with
2472 __converts_from_optional and __assigns_from_optional.
2473 (operator=(optional<_Up>&&)): Likewise.
2474 * testsuite/20_util/optional/77288.cc: New.
2475 * testsuite/20_util/optional/cons/value.cc: Adjust.
2477 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
2479 Implement LWG 2729 for tuple.
2480 * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
2481 Suppress conditionally.
2482 (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
2483 (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
2484 (_Tuple_impl(const _Head&)): Constrain.
2485 (_Tuple_impl(_UHead&&)): Likewise.
2486 (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
2487 (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
2488 (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
2489 (operator=(const tuple&)): Enable conditionally.
2490 (operator=(tuple&&)): Suppress conditionally.
2491 (operator=(const tuple<_UElements...>&)): Constrain.
2492 (operator=(tuple<_UElements...>&&)): Likewise.
2493 (operator=(const tuple&)): Enable conditionally (2-param tuple).
2494 (operator=(tuple&&)): Suppress conditionally (2-param tuple).
2495 (operator=(const tuple<_U1, _U2>&)): Constrain.
2496 (operator=(tuple<_U1, _U2>&&)): Likewise.
2497 (operator=(const pair<_U1, _U2>&)): Likewise.
2498 (operator=(pair<_U1, _U2>&&)): Likewise.
2499 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
2500 * testsuite/20_util/tuple/tuple_traits.cc: New.
2502 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
2505 Implement LWG 2729 for pair.
2506 * include/bits/stl_pair.h (_PCC): New.
2507 (_ConstructiblePair, _ImplicitlyConvertiblePair):
2508 Turn into static member functions of _PCC.
2509 (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
2511 (pair(const _T1&, const _T2&)): Adjust.
2513 (pair(const pair<_U1, _U2>&)): Adjust.
2514 (pair(_U1&&, const _T2&)): Likewise.
2515 (pair(const _T1&, _U2&&)): Likewise.
2516 (pair(_U1&&, _U2&&)): Likewise.
2517 (pair(pair<_U1, _U2>&&)): Likewise.
2518 (operator=(const pair&)): Make conditionally deleted.
2519 (operator=(pair&&)): Make conditionally suppressed.
2520 (operator=(const pair<_U1, _U2>&)): Constrain.
2521 (operator=(pair<_U1, _U2>&&): Likewise.
2522 * include/std/type_traits (__nonesuch): New.
2523 * testsuite/20_util/pair/traits.cc: New.
2525 2016-09-20 Ville Voutilainen <ville.voutilainen@gmail.com>
2528 * include/bits/stl_construct.h: (_Construct_novalue): New.
2529 (_Destroy_n_aux, _Destroy_n): New.
2530 * include/bits/stl_uninitialized.h: (type_traits):
2531 New include in C++11 mode.
2532 (__uninitialized_default_novalue_1): New.
2533 (__uninitialized_default_novalue_n_1): Likewise.
2534 (__uninitialized_default_novalue): Likewise.
2535 (__uninitialized_default_novalue_n): Likewise.
2536 (__uninitialized_copy_n_pair): Likewise.
2537 (uninitialized_default_construct):
2538 Use __uninitialized_default_novalue.
2539 (uninitialized_default_construct_n):
2540 Use __uninitialized_default_novalue_n.
2541 (uninitialized_value_construct): Use __uninitialized_default.
2542 (uninitialized_value_construct_n): Use __uninitialized_default_n.
2543 (uninitialized_move): Use uninitialized_copy.
2544 (uninitialized_move_n): Use __uninitialized_copy_n_pair.
2545 (destroy_at): Use _Destroy.
2546 (destroy): Likewise.
2547 (destroy_n): Likewise.
2548 * testsuite/20_util/specialized_algorithms/
2549 memory_management_tools/1.cc: Add tests for exceptions,
2550 add tests for trivial cases for construct and move.
2552 2016-09-20 Jonathan Wakely <jwakely@redhat.com>
2554 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
2555 (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
2557 2016-09-19 Jonathan Wakely <jwakely@redhat.com>
2560 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
2561 (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
2562 division to int to work with Python 3.
2564 * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
2566 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
2567 display_hint to be set by subclasses.
2568 (StdVariantPrinter): Use array for display_hint. Adjust output to be
2569 more similar to std::any and std::optional output.
2570 (register_type_printers): Add type printers for basic_string_view
2571 typedefs and experimental::any. Adjust type printers for
2572 fundamentals_v1 templates to match fundamentals_v2 and later.
2573 * testsuite/libstdc++-prettyprinters/cxx17.cc: New.
2576 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
2578 (ListWorkerBase.get_value_from_node): Define new method.
2579 (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
2581 2016-09-17 Jonathan Wakely <jwakely@redhat.com>
2583 * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
2584 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
2585 Register for C++17 components in namespace std. Strip inline namespace
2588 2016-09-16 Jonathan Wakely <jwakely@redhat.com>
2590 * doc/xml/manual/profile_mode.xml: Fix typo.
2591 * doc/html/manual/profile_mode_devel.html: Regenerate.
2593 2016-09-16 Jonathan Wakely <jwakely@redhat.com>
2594 Marc Glisse <marc.glisse@inria.fr>
2596 * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
2597 (operator new(size_t, align_val_t)): Replace modulus operator with
2600 2016-09-16 Jonathan Wakely <jwakely@redhat.com>
2602 * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
2603 Increase alignment if less than sizeof(void*).
2604 [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
2605 Increase size if not a multiple of alignment.
2607 2016-09-15 Jonathan Wakely <jwakely@redhat.com>
2609 * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
2610 * doc/html/*: Regenerate.
2612 * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
2614 * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
2616 2016-09-14 Marek Polacek <polacek@redhat.com>
2618 * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
2621 2016-09-14 Christophe Lyon <christophe.lyon@linaro.org>
2623 * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
2624 Move dg-do directive before dg-skip.
2625 * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
2626 Move dg-do directive before dg-require.
2627 * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
2628 * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
2629 * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
2630 * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
2631 * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
2632 * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
2633 * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
2634 * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
2635 * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
2636 * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
2637 * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
2638 * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
2639 * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
2640 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
2641 * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
2643 * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
2644 * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
2645 * testsuite/27_io/objects/char/12048-5.cc: Likewise.
2646 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
2647 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
2649 2016-09-13 Ville Voutilainen <ville.voutilainen@gmail.com>
2651 Implement P0040R3, Extending memory management tools.
2652 * include/bits/stl_uninitialized.h (utility): New include
2654 (uninitialized_default_construct): New.
2655 (uninitialized_default_construct_n): Likewise.
2656 (uninitialized_value_construct): Likewise.
2657 (uninitialized_value_construct_n): Likewise.
2658 (uninitialized_move): Likewise.
2659 (uninitialized_move_n): Likewise.
2660 (destroy_at, destroy, destroy_n): Likewise.
2661 * testsuite/20_util/specialized_algorithms/memory_management_tools/
2664 2016-09-12 Jason Merrill <jason@redhat.com>
2666 * config/abi/pre/gnu.ver: Use [jmy] for size_t.
2668 2016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
2670 Implement P0253R1, Fixing a design mistake in the searchers
2671 interface in Library Fundamentals.
2672 * include/std/functional: (utility): New include in C++17 mode.
2673 (default_searcher): Use a pair as return type, adjust the definition.
2674 (boyer_moore_searcher): Likewise.
2675 (boyer_moore_horspool_searcher): Likewise.
2676 * testsuite/20_util/function_objects/searchers.cc: Adjust.
2678 2016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
2680 Implement C++17 string searchers.
2681 * include/std/functional: (unordered_map, vector): New includes
2683 (array, bits/stl_algo.h): Likewise.
2684 (default_searcher, __boyer_moore_map_base): New.
2685 (__boyer_moore_array_base, __is_std_equal_to): Likewise.
2686 (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
2687 (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
2688 (make_boyer_moore_searcher): Likewise.
2689 (make_boyer_moore_horspool_searcher): Likewise.
2690 * testsuite/20_util/function_objects/searchers.cc: New.
2692 2016-09-12 Matthew Wahab <matthew.wahab@arm.com>
2694 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
2695 Move dg-do directive before dg-require.
2696 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
2697 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
2699 * testsuite/22_locale/codecvt/utf8.cc: Likewise.
2700 * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
2701 * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
2702 * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
2703 * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
2704 * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
2705 * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
2706 * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
2707 * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
2708 * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
2709 * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
2710 * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
2711 * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
2713 * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
2715 * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
2716 * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
2717 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
2719 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
2721 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
2723 * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
2725 * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
2727 * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
2729 * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
2731 * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
2733 * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
2735 * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
2737 * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
2739 * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
2741 * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
2743 * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
2745 * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
2747 * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
2749 * testsuite/23_containers/forward_list/debug/
2750 iterator_self_move_assign_neg.cc: Likewise.
2751 * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
2753 * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
2755 * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
2757 * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
2759 * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
2761 * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
2763 * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
2765 * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
2767 * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
2768 * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
2769 * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
2770 * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
2771 * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
2772 * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
2773 * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
2774 * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
2775 * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
2776 * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
2777 * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
2779 * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
2780 * testsuite/23_containers/map/debug/60499.cc: Likewise.
2781 * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
2782 * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
2783 * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
2784 * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
2785 * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
2786 * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
2787 * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
2789 * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
2790 * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
2791 * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
2792 * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
2793 * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
2794 * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
2795 * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
2796 * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
2797 * testsuite/23_containers/multimap/debug/
2798 iterator_self_move_assign_neg.cc: Likewise.
2799 * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
2801 * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
2802 * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
2803 * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
2804 * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
2805 * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
2806 * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
2807 * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
2808 * testsuite/23_containers/multiset/debug/
2809 iterator_self_move_assign_neg.cc: Likewise.
2810 * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
2812 * testsuite/23_containers/set/debug/60499.cc: Likewise.
2813 * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
2814 * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
2815 * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
2816 * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
2817 * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
2818 * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
2819 * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
2821 * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
2822 * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
2823 * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
2824 * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
2825 * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
2827 * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
2828 * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
2829 * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
2831 * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
2833 * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
2835 * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
2836 * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
2837 * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
2838 * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
2839 * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
2840 * testsuite/23_containers/unordered_map/debug/
2841 invalid_local_iterator_compare_neg.cc: Likewise.
2842 * testsuite/23_containers/unordered_map/debug/
2843 invalid_local_iterator_range_neg.cc: Likewise.
2844 * testsuite/23_containers/unordered_map/debug/
2845 iterator_self_move_assign_neg.cc: Likewise.
2846 * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
2848 * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
2850 * testsuite/23_containers/unordered_map/debug/
2851 use_erased_local_iterator_neg.cc: Likewise.
2852 * testsuite/23_containers/unordered_map/debug/
2853 use_invalid_iterator_neg.cc: Likewise.
2854 * testsuite/23_containers/unordered_map/debug/
2855 use_invalid_local_iterator_neg.cc: Likewise.
2856 * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
2857 * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc:
2859 * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
2861 * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
2863 * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
2865 * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
2867 * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
2869 * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
2871 * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
2873 * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
2875 * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
2877 * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
2879 * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
2881 * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
2883 * testsuite/23_containers/unordered_multimap/debug/
2884 invalid_local_iterator_compare_neg.cc: Likewise.
2885 * testsuite/23_containers/unordered_multimap/debug/
2886 invalid_local_iterator_range_neg.cc: Likewise.
2887 * testsuite/23_containers/unordered_multimap/debug/
2888 iterator_self_move_assign_neg.cc: Likewise.
2889 * testsuite/23_containers/unordered_multimap/debug/
2890 max_load_factor_neg.cc: Likewise.
2891 * testsuite/23_containers/unordered_multimap/debug/
2892 self_move_assign_neg.cc: Likewise.
2893 * testsuite/23_containers/unordered_multimap/debug/
2894 use_erased_local_iterator_neg.cc: Likewise.
2895 * testsuite/23_containers/unordered_multimap/debug/
2896 use_invalid_iterator_neg.cc: Likewise.
2897 * testsuite/23_containers/unordered_multimap/debug/
2898 use_invalid_local_iterator_neg.cc: Likewise.
2899 * testsuite/23_containers/unordered_multiset/debug/60499.cc:
2901 * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
2903 * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
2905 * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
2907 * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
2909 * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
2911 * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
2913 * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
2915 * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
2917 * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
2919 * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
2921 * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
2923 * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
2925 * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
2927 * testsuite/23_containers/unordered_multiset/debug/
2928 invalid_local_iterator_compare_neg.cc: Likewise.
2929 * testsuite/23_containers/unordered_multiset/debug/
2930 invalid_local_iterator_range_neg.cc: Likewise.
2931 * testsuite/23_containers/unordered_multiset/debug/
2932 iterator_self_move_assign_neg.cc: Likewise.
2933 * testsuite/23_containers/unordered_multiset/debug/
2934 max_load_factor_neg.cc: Likewise.
2935 * testsuite/23_containers/unordered_multiset/debug/
2936 self_move_assign_neg.cc: Likewise.
2937 * testsuite/23_containers/unordered_multiset/debug/
2938 use_erased_local_iterator_neg.cc: Likewise.
2939 * testsuite/23_containers/unordered_multiset/debug/
2940 use_invalid_iterator_neg.cc: Likewise.
2941 * testsuite/23_containers/unordered_multiset/debug/
2942 use_invalid_local_iterator_neg.cc: Likewise.
2943 * testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
2944 * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
2945 * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
2946 * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
2948 * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
2949 * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
2950 * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
2952 * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
2954 * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
2956 * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
2957 * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
2958 * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
2959 * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
2960 * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
2961 * testsuite/23_containers/unordered_set/debug/
2962 invalid_local_iterator_compare_neg.cc: Likewise.
2963 * testsuite/23_containers/unordered_set/debug/
2964 invalid_local_iterator_range_neg.cc: Likewise.
2965 * testsuite/23_containers/unordered_set/debug/
2966 iterator_self_move_assign_neg.cc: Likewise.
2967 * testsuite/23_containers/unordered_set/debug/
2968 max_load_factor_neg.cc: Likewise.
2969 * testsuite/23_containers/unordered_set/debug/
2970 self_move_assign_neg.cc: Likewise.
2971 * testsuite/23_containers/unordered_set/debug/
2972 use_erased_local_iterator_neg.cc: Likewise.
2973 * testsuite/23_containers/unordered_set/debug/
2974 use_invalid_iterator_neg.cc: Likewise.
2975 * testsuite/23_containers/unordered_set/debug/
2976 use_invalid_local_iterator_neg.cc: Likewise.
2977 * testsuite/23_containers/vector/debug/52433.cc: Likewise.
2978 * testsuite/23_containers/vector/debug/60499.cc: Likewise.
2979 * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
2980 * testsuite/23_containers/vector/debug/
2981 iterator_self_move_assign_neg.cc: Likewise.
2982 * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
2984 * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
2985 * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
2986 * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
2987 * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
2988 * testsuite/29_atomics/atomic/60658.cc: Likewise.
2989 * testsuite/29_atomics/atomic/60695.cc: Likewise.
2990 * testsuite/29_atomics/atomic/62259.cc: Likewise.
2991 * testsuite/29_atomics/atomic/64658.cc: Likewise.
2992 * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
2993 * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
2994 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
2997 2016-09-11 Jonathan Wakely <jwakely@redhat.com>
2999 * libsupc++/new_opant.cc: Include exception_defines.h.
3000 * libsupc++/new_opvant.cc: Likewise.
3002 2016-09-09 Jason Merrill <jason@redhat.com>
3004 Implement P0035R4, C++17 new of over-aligned types.
3005 * libsupc++/new: Declare aligned new/delete operators.
3006 * config/abi/pre/gnu.ver: Export them.
3007 * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
3009 * libsupc++/new_opa.cc: New.
3010 * libsupc++/new_opant.cc: New.
3011 * libsupc++/new_opva.cc: New.
3012 * libsupc++/new_opva.cc: New.
3013 * libsupc++/del_opa.cc: New.
3014 * libsupc++/del_opant.cc: New.
3015 * libsupc++/del_opsa.cc: New.
3016 * libsupc++/del_opva.cc: New.
3017 * libsupc++/del_opvant.cc: New.
3018 * libsupc++/del_opvsa.cc: New.
3019 * libsupc++/Makefile.am: Build them.
3021 2016-09-05 Tim Shen <timshen@google.com>
3023 * include/std/variant: include bits/move.h for std::addressof.
3025 2016-09-05 Mikhail Strelnikov <mikhail.strelnikov@gmail.com>
3027 * include/std/variant (_Variant_storage::_M_storage()): Use
3028 std::addressof instead of operator& to take address.
3030 2016-09-02 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
3032 * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
3033 setrlimit on both native and cross targets.
3034 * configure: Regenerate.
3036 2016-08-31 Jonathan Wakely <jwakely@redhat.com>
3038 * include/bits/shared_ptr.h (_Assignable): New alias template.
3039 (shared_ptr::operator=(const shared_ptr<_Tp1>&))
3040 (shared_ptr::operator=(shared_ptr<_Tp1>&&))
3041 (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
3043 * include/bits/shared_ptr_base.h (_Assignable): New alias template.
3044 (__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
3045 (__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
3046 (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
3048 (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
3049 (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
3051 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
3053 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
3054 * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
3055 * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
3056 expected errors. Remove unnecessary code.
3057 * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
3059 * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
3061 * testsuite/23_containers/set/move_comparison.cc: New test.
3063 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
3066 2016-08-30 Ville Voutilainen <ville.voutilainen@gmail.com>
3069 * include/std/type_traits (is_constructible): Forward-declare...
3070 (__is_base_to_derived_ref): ...and use here.
3071 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
3072 * testsuite/20_util/is_constructible/77395.cc: New.
3073 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
3074 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3076 * testsuite/20_util/tuple/77395.cc: New.
3078 2016-08-30 Uros Bizjak <ubizjak@gmail.com>
3080 * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
3081 directive above dg-require-namedlocale directive.
3082 * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
3083 * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
3084 * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
3085 * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
3086 * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
3088 2016-08-27 Tim Shen <timshen@google.com>
3091 * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
3092 _M_expression_term): Modify to support dash literal.
3093 * include/bits/regex_scanner.h: Add dash as a token type to make
3094 a different from the mandated dash literal by escaping.
3095 * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
3096 token in bracket expression parsing.
3097 * testsuite/28_regex/regression.cc: Add new testcases.
3099 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
3102 * doc/xml/manual/intro.xml: Document DR 2127 change.
3103 * doc/html/*: Regenerate.
3104 * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
3105 (operator++(), operator++(int)): Use injected class name.
3106 * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
3108 * testsuite/*: Use { target c++11 } or { target c++14 } instead of
3109 using -std in dg-options.
3111 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
3112 Pedro Alves <palves@redhat.com>
3114 * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
3115 and restore dg-interpreter-batch-mode.
3116 * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
3117 gdb-dg-runtest instead of dg-runtest.
3118 * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
3120 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
3122 * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
3123 precise patterns for basic_string constructors.
3124 (GLIBCXX_3.4.23): Export new constructors.
3125 * doc/xml/manual/intro.xml: Document LWG 2583 status.
3126 * doc/html/*: Regenerate.
3127 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
3128 (basic_string(const basic_string&, size_type, const Alloc&)): Add
3129 new constructor for LWG 2583.
3130 (basic_string(const basic_string&, size_type, size_type)): Remove
3132 [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
3133 * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
3134 * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
3135 * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
3137 2016-08-24 Aditya Kumar <hiraditya@msn.com>
3139 * include/bits/algorithmfwd.h: Remove trailing whitespace.
3140 * include/bits/shared_ptr_base.h: Likewise.
3142 2016-08-23 Jonathan Wakely <jwakely@redhat.com>
3144 * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
3145 * include/profile/array (array): Likewise.
3146 (array::swap): Fix exception specification for zero-sized arrays.
3149 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
3150 (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
3151 * testsuite/23_containers/map/77334.cc: New test.
3153 * doc/xml/manual/using.xml: Remove reference to -pthreads option.
3154 * doc/html/*: Regenerate.
3156 * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
3157 * testsuite/experimental/feat-lib-fund.cc: Likewise.
3160 * include/bits/stl_iterator.h
3161 (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
3162 define for C++98 mode.
3163 (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
3164 * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
3166 * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
3167 * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
3168 * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
3169 * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
3170 difference operator.
3171 * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
3172 difference operator for C++98.
3173 * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
3175 * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
3176 * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
3177 (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
3178 * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
3179 (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
3181 * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
3182 _GLIBCXX14_CONSTEXPR.
3183 (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
3184 * include/std/array (array::begin, array::end, array::rbegin)
3185 (array::rend, array::cbegin, array:cend, array::crbegin)
3186 (array::crend, array::operator[], array::at, array::front)
3187 (array::back, array::data): Likewise.
3188 * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
3189 with separate tests for C++11, C++14, and C++17.
3190 * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
3191 * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
3192 * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
3194 2016-08-22 Tim Shen <timshen@google.com>
3196 Split _M_dfs() into smaller functions.
3197 * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
3198 (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
3199 (_M_handle_line_end_assertion, _M_handle_word_boundary)
3200 (_M_handle_subexpr_lookahead, _M_handle_match)
3201 (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
3202 Add separate function declarations.
3203 * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
3205 2016-08-22 Gleb Natapov <gleb@scylladb.com>
3208 * config/abi/pre/gnu-versioned-namespace.ver: Export
3209 __cxa_init_primary_exception and std::exception_ptr(void*).
3210 * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
3211 export __cxa_init_primary_exception and std::exception_ptr(void*).
3212 * include/Makefile.am: Add new headers.
3213 * include/Makefile.in: Regenerate.
3214 * libsupc++/Makefile.am: Add new headers.
3215 * libsupc++/Makefile.in: Regenerate.
3216 * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
3217 * libsupc++/cxxabi_init_exception.h: New header.
3218 (__cxa_init_primary_exception): Declare.
3219 * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
3220 (__cxa_throw): Use __cxa_init_primary_exception.
3221 * libsupc++/exception (std::exception): Move to ...
3222 * libsupc++/exception.h: New header.
3223 * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
3225 (__exception_ptr::__dest_thunk): New function template.
3226 (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
3227 Use __cxa_allocate_exception and __cxa_init_primary_exception to
3228 create exception_ptr.
3229 * libsupc++/typeinfo: Include bits/exception.h instead of exception.
3230 * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
3232 2016-08-22 Jonathan Wakely <jwakely@redhat.com>
3234 * doc/xml/api.xml: Replace hardcoded links for specific versions with
3235 link to docs for all releases.
3236 * doc/html/*: Regenerate.
3239 * doc/xml/manual/intro.xml: Document DR 2062 change.
3240 * include/std/functional (function::swap): Add noexcept.
3241 (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
3242 * testsuite/20_util/function/77322.cc: New test.
3244 2016-08-19 Jonathan Wakely <jwakely@redhat.com>
3246 * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
3247 *-*-solaris* instead of -pthreads.
3248 * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
3249 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
3250 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
3251 * testsuite/23_containers/list/pthread1.cc: Likewise.
3252 * testsuite/23_containers/list/pthread5.cc: Likewise.
3253 * testsuite/23_containers/map/pthread6.cc: Likewise.
3254 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
3255 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
3256 * testsuite/30_threads/shared_mutex/*: Likewise.
3257 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
3258 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3259 default_weaktoshared.cc: Likewise.
3260 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3261 mutex_weaktoshared.cc: Likewise.
3262 * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
3263 dg-require-effective-target instead of using -std option.
3264 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
3266 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
3267 * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
3269 * testsuite/30_threads/async/*: Likewise.
3270 * testsuite/30_threads/call_once/*: Likewise.
3271 * testsuite/30_threads/condition_variable/*: Likewise.
3272 * testsuite/30_threads/condition_variable_any/*: Likewise.
3273 * testsuite/30_threads/future/*: Likewise.
3274 * testsuite/30_threads/lock/*: Likewise.
3275 * testsuite/30_threads/mutex/*: Likewise.
3276 * testsuite/30_threads/packaged_task/*: Likewise.
3277 * testsuite/30_threads/promise/*: Likewise.
3278 * testsuite/30_threads/recursive_mutex/*: Likewise.
3279 * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
3280 * testsuite/30_threads/shared_future/*: Likewise.
3281 * testsuite/30_threads/shared_lock/*: Likewise.
3282 * testsuite/30_threads/shared_timed_mutex/*: Likewise.
3283 * testsuite/30_threads/this_thread/*: Likewise.
3284 * testsuite/30_threads/thread/*: Likewise.
3285 * testsuite/30_threads/timed_mutex/*: Likewise.
3286 * testsuite/30_threads/try_lock/*: Likewise.
3287 * testsuite/30_threads/unique_lock/*: Likewise.
3289 * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
3290 * doc/html/*: Regenerate.
3291 * include/experimental/functional (_Not_fn, not_fn): Match C++17
3293 * include/std/functional (_Not_fn, not_fn): Define for C++17.
3294 * testsuite/20_util/not_fn/1.cc: New.
3295 * testsuite/experimental/functional/not_fn.cc: Test abstract class.
3296 Remove test for volatile-qualified wrapper.
3298 * include/std/atomic (atomic::is_always_lock_free): Define.
3299 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
3300 * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
3301 * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
3302 * doc/xml/manual/status_cxx2017.xml: Update status.
3303 * doc/html/*: Regenerate.
3305 * include/experimental/tuple (apply): Qualify call to __apply_impl.
3306 * include/std/tuple (apply): Likewise.
3307 * testsuite/experimental/system_error/value.cc: Fix ambiguities in
3309 * testsuite/experimental/tuple/tuple_size.cc: Likewise.
3310 * testsuite/experimental/type_traits/value.cc: Likewise.
3312 * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
3314 * doc/html/*: Regenerate.
3316 2016-08-18 Ville Voutilainen <ville.voutilainen@gmail.com>
3318 Implement the latest proposed resolution of LWG 2756.
3319 * include/std/optional (Optional_base(const _Tp&))
3320 (Optional_base(_Tp&&), using _Base::_Base): Remove.
3321 (optional(nullopt_t)): New.
3322 (optional(_Up&&)): Invoke base directly with in_place
3323 rather than creating a temporary, add default template
3324 argument, change constraints.
3325 (optional(const optional<_Up>&)): Invoke base directly
3326 with in_place, remove unnecessary constraints.
3327 (optional(optional<_Up>&& __t)): Likewise.
3328 (optional(in_place_t, _Args&&...)): New.
3329 (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
3330 (operator=(_Up&&)): Add default template argument, change constraints.
3331 (operator=(const optional<_Up>&)): Put is_same first in the
3333 (operator=(optional<_Up>&&)): Likewise.
3334 * testsuite/20_util/optional/assignment/5.cc: Add a test to
3335 verify assignment from something that can't be perfect-forwarded.
3336 * testsuite/20_util/optional/cons/value.cc: Add tests to verify
3337 that a nested optional is disengaged when constructed
3338 from a disengaged element type, and to verify that assignments
3339 from an engaged element type engage the optional.
3341 2016-08-18 Tim Shen <timshen@google.com>
3345 * include/Makefile.am: Add new file std/variant.
3346 * include/Makefile.in: Generated from Makefile.am.
3347 * include/bits/enable_special_members.h: Add a tag type to allow
3348 the construction in non-default constructor.
3349 * include/bits/uses_allocator.h: Add convenience traits to
3350 detect constructibility.
3351 * include/std/variant: Implement <variant>.
3352 * testsuite/20_util/variant/compile.cc: Compile-time tests.
3353 * testsuite/20_util/variant/run.cc: Runtime tests.
3355 2016-08-18 Jonathan Wakely <jwakely@redhat.com>
3357 * doc/xml/manual/test.xml (test.run.permutations): Expand section.
3358 (test.new_tests): Rewrite section.
3359 (tests.dg.directives): New section.
3360 * doc/html/*: Regenerate.
3362 * doc/xml/manual/test.xml: Improve documentation of test targets.
3363 Document new-abi-baseline, check-debug, and check-parallel targets.
3365 * doc/xml/manual/build_hacking.xml: New section on shared library
3368 * doc/xml/manual/build_hacking.xml: Improve markup.
3369 * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
3371 * doc/xml/faq.xml: Change link text to "Testing".
3373 * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
3374 dg-options directive.
3376 2016-08-17 Jonathan Wakely <jwakely@redhat.com>
3378 * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
3379 directive and use effective target instead of dg-options.
3381 * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
3382 instead of -std in dg-options.
3383 * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
3384 * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
3385 * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
3386 * testsuite/20_util/hash/quality.cc: Likewise.
3387 * testsuite/25_algorithms/heap/moveable.cc: Likewise.
3388 * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
3389 * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
3390 * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
3391 * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
3392 * testsuite/25_algorithms/sort/random_test.cc: Likewise.
3394 * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
3395 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
3396 * testsuite/27_io/rvalue_streams.cc: Likewise.
3398 * testsuite/26_numerics/complex/literals/types.cc: Add comment.
3400 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
3401 Remove duplicate dg-options directive.
3403 * testsuite/ext/profile/all.cc: Use effective target instead of
3404 -std=gnu++11. Use dg-additional-options instead of repeating options.
3406 * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
3407 -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
3408 instead of dg-excess-errors.
3410 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
3412 * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
3413 * testsuite/experimental/ratio/value.cc: Likewise.
3414 * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
3416 * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
3417 * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
3418 * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
3419 * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
3420 * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
3421 * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
3422 * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
3423 * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
3424 * testsuite/tr1/5_numerical_facilities/special_functions/
3425 10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
3426 C++17 compatibility.
3428 * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
3429 expected signatures for C++14 compatibility.
3432 * include/bits/basic_string.h (operator=(__sv_type)
3433 (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
3434 (replace(size_type, size_type, __sv_type))
3435 (replace(const_iterator, const_iterator, __sv_type))
3436 (find(__sv_type, size_type), rfind(__sv_type, size_type))
3437 (compare(size_type, size_type, __sv_type)): Reformat.
3438 (_If_sv): Define helper for SFINAE constaints.
3439 (append(const _Tp&, size_type, size_type))
3440 (assign(const _Tp&, size_type, size_type))
3441 (insert(size_type, const _Tp&, size_type, size_type))
3442 (replace(size_type, size_type, const _Tp&, size_type, size_type)):
3444 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
3446 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
3448 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
3450 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
3452 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
3454 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
3456 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
3458 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
3460 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
3462 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
3464 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
3467 2016-08-16 Jonathan Wakely <jwakely@redhat.com>
3470 * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
3471 pointers to start and end of storage.
3472 * testsuite/23_containers/vector/bool/72847.cc: New test.
3473 * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
3474 _M_finish after deallocating.
3475 (vector<bool>::_M_fill_insert): Likewise.
3476 (vector<bool>::_M_insert_range): Likewise.
3477 (vector<bool>::_M_insert_aux): Likewise.
3479 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
3481 Implement LWG 2744 and LWG 2754.
3482 * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
3483 (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
3484 (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
3486 (emplace(_Args&&...)): Likewise.
3487 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
3488 * include/std/utility: (__is_in_place_type_impl): New.
3489 (__is_in_place_type): Likewise.
3490 * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
3492 * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
3493 in_place constructor.
3494 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
3495 * testsuite/20_util/any/requirements.cc: Add a test for
3496 in_place-constructing a non-default-constructible type.
3498 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
3500 Add a feature macro for C++17 make_from_tuple.
3501 * include/std/tuple (__cpp_lib_make_from_tuple): New.
3502 (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
3503 Qualify the call to get<>().
3504 * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
3506 2016-08-15 Uros Bizjak <ubizjak@gmail.com>
3508 * src/filesystem/ops.cc: Always include ostream and
3509 ext/stdio_filebuf.h.
3510 (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
3511 [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
3512 sendfile fails with ENOSYS or EINVAL.
3514 2016-08-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
3517 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
3520 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
3522 Implement C++17 make_from_tuple.
3523 * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
3524 * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
3526 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
3529 * include/bits/basic_string.h
3530 (append(__sv_type, size_type, size_type)): Turn into a template,
3531 change parameter type, constrain, add a conversion to __sv_type
3532 from the dependent parameter type.
3533 (assign(__sv_type, size_type, size_type)): Likewise.
3534 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
3535 (replace(size_type, size_type, __sv_type, size_type, size_type)):
3537 (compare(size_type, size_type,__sv_type, size_type, size_type)):
3539 * testsuite/21_strings/basic_string/lwg2758.cc: New.
3541 2016-08-06 Jonathan Wakely <jwakely@redhat.com>
3543 * doc/xml/manual/status_cxx2017.xml: Update status table.
3544 * doc/html/manual/status.html: Regenerate.
3546 * testsuite/lib/libstdc++.exp: Fix typo in comment.
3549 * include/std/functional (_Function_base::_Base_manager::_M_clone):
3550 Qualify new operator.
3551 * testsuite/20_util/function/cons/72820.cc: New test.
3553 * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
3554 * doc/html/manual/status.html: Regenerate.
3555 * include/Makefile.am: Add new header.
3556 * include/Makefile.in: Regenerate.
3557 * include/bits/invoke.h: New header.
3558 (__invoke): Make constexpr. Add && to types in exception specification.
3559 * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
3560 names. Include <bits/invoke.h> and use std::__invoke.
3561 * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
3563 (invoke): Add && to types in exception specification.
3564 * include/std/tuple (apply, __apply_impl): Define for C++17.
3565 * testsuite/20_util/tuple/apply/1.cc: New test.
3566 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
3569 2016-08-05 Jonathan Wakely <jwakely@redhat.com>
3571 * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
3572 * doc/html/manual/status.html: Regenerate.
3574 * include/std/chrono (floor, ceil, round, abs): New for C++17.
3575 * testsuite/20_util/duration_cast/rounding.cc: New test.
3576 * testsuite/20_util/time_point_cast/rounding.cc: New test.
3577 * doc/xml/manual/status_cxx2017.xml: Update status table.
3578 * doc/html/manual/status.html: Regenerate.
3579 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
3581 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
3582 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
3583 * testsuite/20_util/duration/literals/range.cc: Likewise.
3585 * include/std/functional (__callable_functor): Remove.
3586 (_Function_handler::_M_invoke): Use __invoke instead of
3587 __callable_functor or mem_fn.
3588 (function::_Callable): Use lvalue in result_of expression.
3589 (function): Remove TODO comments about allocators.
3590 * testsuite/20_util/function/cons/refqual.cc: New test.
3592 2016-08-04 Jonathan Wakely <jwakely@redhat.com>
3594 * doc/xml/manual/status_cxx2017.xml: Update status table.
3595 * include/std/functional (__inv_unwrap): Move to <type_traits>.
3596 (__invoke_impl): Remove exception specifications.
3597 (__invoke, invoke): Add exception specifications using
3598 __is_nothrow_callable.
3599 * include/std/type_traits (__inv_unwrap): Move from <functional>.
3600 (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
3601 (__is_callable, __is_nothrow_callable): New traits.
3602 (is_callable, is_callable_v): New C++17 traits.
3603 (is_nothrow_callable, is_nothrow_callable_v): Likewise.
3604 * testsuite/20_util/is_callable/requirements/
3605 explicit_instantiation.cc: New test.
3606 * testsuite/20_util/is_callable/requirements/
3607 explicit_instantiation_ext.cc: New test.
3608 * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
3609 * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
3611 * testsuite/20_util/is_callable/value.cc: New test.
3612 * testsuite/20_util/is_callable/value_ext.cc: New test.
3613 * testsuite/20_util/is_nothrow_callable/requirements/
3614 explicit_instantiation.cc: New test.
3615 * testsuite/20_util/is_nothrow_callable/requirements/
3616 explicit_instantiation_ext.cc: New test.
3617 * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
3619 * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
3621 * testsuite/20_util/is_nothrow_callable/value.cc: New test.
3622 * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
3624 * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
3625 * doc/html/manual/status.html: Regenerate.
3627 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
3628 effective target not dg-options. Move check for feature-test macro to:
3629 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
3632 * include/std/functional (_Unwrap): Rename to __inv_unwrap.
3634 (__invoke_impl): Remove unused template parameters.
3635 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
3637 * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
3638 and test __invoke extension for C++11.
3640 2016-08-03 Jonathan Wakely <jwakely@redhat.com>
3642 * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
3643 Define feature-test macro.
3644 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
3647 * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
3648 * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
3649 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
3650 * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
3651 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
3653 * include/std/utility (as_const): Define.
3654 * testsuite/20_util/as_const/1.cc: New test.
3655 * testsuite/20_util/as_const/rvalue_neg.cc: New test.
3657 * include/bits/shared_ptr.h (owner_less): Add default template
3659 * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
3661 (owner_less<void>): Define specialization.
3662 * include/bits/stl_function.h (__cpp_lib_transparent_operators):
3664 * testsuite/20_util/owner_less/void.cc: New test.
3665 * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
3667 * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
3668 Define feature-test macro.
3669 * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
3670 * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
3671 * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
3672 (__cpp_lib_type_trait_variable_templates): Define.
3674 * include/bits/stl_function.h: Remove commented-out macro.
3675 * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
3676 Define feature-test macro.
3677 * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
3679 * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
3680 C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
3682 * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
3683 do #error for C++17.
3684 * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
3685 of __STDCPP_WANT_MATH_SPEC_FUNCS__.
3686 * include/tr1/bessel_function.tcc: Likewise.
3687 * include/tr1/beta_function.tcc: Likewise.
3688 * include/tr1/cmath: Likewise.
3689 * include/tr1/ell_integral.tcc: Likewise.
3690 * include/tr1/exp_integral.tcc: Likewise.
3691 * include/tr1/gamma.tcc: Likewise.
3692 * include/tr1/hypergeometric.tcc: Likewise.
3693 * include/tr1/legendre_function.tcc: Likewise.
3694 * include/tr1/modified_bessel_func.tcc: Likewise.
3695 * include/tr1/poly_hermite.tcc: Likewise.
3696 * include/tr1/poly_laguerre.tcc: Likewise.
3697 * include/tr1/riemann_zeta.tcc: Likewise.
3698 * include/tr1/special_function_util.h: Likewise.
3699 * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
3701 * include/std/type_traits (has_trivial_default_constructor): Remove.
3702 (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
3703 * testsuite/20_util/has_trivial_copy_assign/requirements/
3704 explicit_instantiation.cc: Remove test.
3705 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
3707 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
3709 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
3710 * testsuite/20_util/has_trivial_copy_constructor/requirements/
3711 explicit_instantiation.cc: Likewise.
3712 * testsuite/20_util/has_trivial_copy_constructor/requirements/
3713 typedefs.cc: Likewise.
3714 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
3715 * testsuite/20_util/has_trivial_default_constructor/requirements/
3716 explicit_instantiation.cc: Likewise.
3717 * testsuite/20_util/has_trivial_default_constructor/requirements/
3718 typedefs.cc: Likewise.
3719 * testsuite/20_util/has_trivial_default_constructor/value.cc:
3721 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
3722 Check has_trivial_default_constructor, has_trivial_copy_constructor,
3723 and has_trivial_copy_assign are not defined.
3724 * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
3726 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
3727 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
3728 dg-error line number.
3729 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3732 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
3734 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
3735 Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
3736 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
3738 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
3740 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
3742 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
3744 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
3746 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
3749 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
3752 * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
3753 dg-error to relevant line.
3754 * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
3756 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
3758 * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
3760 * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
3761 options are present that aren't valid for C.
3762 * testsuite/abi/header_cxxabi.c: Likewise.
3764 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
3765 check_value.cc: Do not add special functions to namespace std in TR1
3768 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
3769 run for C++11 and later.
3770 * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
3772 * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
3773 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
3774 * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
3775 * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
3776 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
3778 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
3780 * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
3781 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
3783 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
3785 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
3787 * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
3788 * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
3789 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
3790 * testsuite/special_functions/03_beta/check_value.cc: Likewise.
3791 * testsuite/special_functions/03_beta/compile.cc: Likewise.
3792 * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
3793 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
3794 * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
3796 * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
3797 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
3798 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
3799 * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
3801 * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
3802 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
3803 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
3804 * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
3806 * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
3807 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
3808 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
3809 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
3811 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
3812 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
3813 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
3814 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
3815 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
3817 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
3818 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
3819 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
3820 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
3822 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
3823 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
3824 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
3825 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
3826 * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
3827 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
3828 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
3829 * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
3830 * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
3831 * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
3832 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
3833 * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
3834 * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
3835 * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
3836 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
3837 * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
3838 * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
3839 * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
3840 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
3841 * testsuite/special_functions/14_expint/check_value.cc: Likewise.
3842 * testsuite/special_functions/14_expint/compile.cc: Likewise.
3843 * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
3844 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
3845 * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
3846 * testsuite/special_functions/15_hermite/compile.cc: Likewise.
3847 * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
3848 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
3849 * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
3850 * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
3851 * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
3852 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
3853 * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
3854 * testsuite/special_functions/17_legendre/compile.cc: Likewise.
3855 * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
3856 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
3857 * testsuite/special_functions/18_riemann_zeta/check_value.cc:
3859 * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
3860 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
3861 * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
3862 * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
3863 * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
3864 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
3865 * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
3866 * testsuite/special_functions/20_sph_legendre/check_value.cc:
3868 * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
3869 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
3870 * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
3871 * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
3872 * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
3873 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
3875 * testsuite/tr1/5_numerical_facilities/special_functions/
3876 08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
3878 * testsuite/tr1/5_numerical_facilities/special_functions/
3879 09_cyl_bessel_j/check_value.cc: Likewise.
3880 * testsuite/tr1/5_numerical_facilities/special_functions/
3881 10_cyl_bessel_k/check_value.cc: Likewise.
3882 * testsuite/tr1/5_numerical_facilities/special_functions/
3883 11_cyl_neumann/check_value.cc: Likewise.
3884 * testsuite/tr1/5_numerical_facilities/special_functions/
3885 21_sph_bessel/check_value.cc: Likewise.
3886 * testsuite/tr1/5_numerical_facilities/special_functions/
3887 23_sph_neumann/check_value.cc: Likewise.
3889 2016-08-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3891 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
3892 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
3893 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
3894 * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
3895 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
3896 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
3898 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
3900 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
3903 * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
3904 additional flags for compiling libtestc++.a objects.
3906 2016-08-01 Jonathan Wakely <jwakely@redhat.com>
3908 * include/bits/basic_string.h (data() const): Update comment.
3909 (data()): Add non-const overload for C++17.
3910 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
3911 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
3913 * include/bits/basic_string.tcc: Disable explicit instantiation
3914 declarations for C++17.
3916 * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
3917 ignored "xfail" from { dg-do compile { xfail selector } } directive.
3918 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
3920 * testsuite/26_numerics/headers/cmath/
3921 c99_classification_macros_c++11.cc: Likewise.
3922 * testsuite/26_numerics/headers/cmath/
3923 c99_classification_macros_c++98.cc: Likewise.
3924 * testsuite/26_numerics/headers/cmath/
3925 c99_classification_macros_c.cc: Likewise.
3927 * testsuite/backward/hash_set/check_construct_destroy.cc: Account
3928 for different construct/destroy counts in C++98 mode.
3930 * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
3932 * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
3934 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
3937 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
3938 C++98-compatible initialization for array.
3940 * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
3941 unused header and variable from compile-only test.
3942 * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
3943 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
3944 * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
3945 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
3948 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
3949 Remove duplicate dg-options directive.
3951 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
3952 808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
3954 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
3955 linker options from compile-only tests.
3956 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
3959 * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
3960 supported for C++11 and later.
3961 * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
3962 * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
3964 2016-08-01 Uros Bizjak <ubizjak@gmail.com>
3966 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
3968 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
3970 * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
3973 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
3974 Ensure test is compiled with optimization.
3976 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
3977 Adjust dg-prune-output pattern for error in C++98 mode.
3979 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
3980 run for C++11 or later.
3982 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
3983 test to not rely on GNU extension (escaped normal characters in POSIX
3984 BRE). Enable tests for other strings which are now supported.
3986 * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
3987 c++11 instead of setting -std=gnu++14.
3990 * include/std/array (get): Use positive message for static assertions.
3991 * include/std/functional (_Safe_tuple_element_t): Fix indentation.
3992 * include/std/tuple (tuple_element<I, tuple<>>): Add partial
3993 specialization for invalid indices, with static assertion.
3994 * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
3996 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
3997 dg-error to relevant line.
3998 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
4000 * testsuite/23_containers/forward_list/requirements/dr438/
4001 assign_neg.cc: Likewise.
4002 * testsuite/23_containers/forward_list/requirements/dr438/
4003 constructor_1_neg.cc: Likewise.
4004 * testsuite/23_containers/forward_list/requirements/dr438/
4005 constructor_2_neg.cc: Likewise.
4006 * testsuite/23_containers/forward_list/requirements/dr438/
4007 insert_neg.cc: Likewise.
4008 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
4010 * testsuite/26_numerics/random/linear_congruential_engine/
4011 requirements/non_uint_neg.cc: Likewise.
4012 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
4013 Likewise. Also test for std::atomic_address.
4015 2016-07-31 Ville Voutilainen <ville.voutilainen@gmail.com>
4017 Add missing variable traits, fix testsuite failures.
4018 * include/bits/uses_allocator.h (uses_allocator_v): New.
4019 * include/std/functional (is_bind_expression_v, is_placeholder_v):
4021 * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
4022 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
4023 * testsuite/20_util/duration/literals/range.cc: Likewise.
4024 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
4025 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
4026 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
4027 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
4028 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
4030 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
4031 * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
4034 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
4036 * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
4037 not test 128-bit types.
4038 * testsuite/20_util/is_floating_point/value.cc: Likewise.
4039 * testsuite/20_util/is_integral/value.cc: Likewise.
4040 * testsuite/20_util/is_signed/value.cc: Likewise.
4041 * testsuite/20_util/is_unsigned/value.cc: Likewise.
4042 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
4043 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
4044 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
4046 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
4049 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
4051 2016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
4053 Implement C++17 variable templates for type traits.
4054 * include/std/chrono (treat_as_floating_point_v): New.
4055 * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
4056 (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
4057 (ratio_greater_equal_v): Likewise.
4058 * include/std/system_error (is_error_code_enum_v)
4059 (is_error_condition_enum_v): Likewise.
4060 * include/std/tuple (tuple_size_v): Likewise.
4061 * type_traits (conjunction_v, disjunction_v, negation_v)
4062 (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
4063 (is_array_v, is_pointer_v, is_lvalue_reference_v)
4064 (is_rvalue_reference_v, is_member_object_pointer_v)
4065 (is_member_function_pointer_v, is_enum_v, is_union_v)
4066 (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
4067 (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
4068 (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
4069 (is_trivially_copyable_v, is_standard_layout_v)
4070 (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
4071 (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
4072 (is_constructible_v, is_default_constructible_v)
4073 (is_copy_constructible_v, is_move_constructible_v)
4074 (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
4075 (is_destructible_v, is_trivially_constructible_v)
4076 (is_trivially_default_constructible_v)
4077 (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
4078 (is_trivially_assignable_v, is_trivially_copy_assignable_v)
4079 (is_trivially_move_assignable_v, is_trivially_destructible_v)
4080 (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
4081 (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
4082 (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
4083 (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
4084 (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
4085 (is_same_v, is_base_of_v, is_convertible_v): Likewise.
4086 * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
4087 * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
4089 * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
4090 * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
4091 * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
4093 2016-07-29 Andreas Schwab <schwab@linux-m68k.org>
4095 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
4096 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
4097 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
4099 2016-07-29 Jonathan Wakely <jwakely@redhat.com>
4101 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
4102 * doc/html/manual/abi.html: Regenerate.
4104 * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
4105 * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
4107 * configure: Regenerate.
4108 * testsuite/util/testsuite_abi.cc: Add new symbol version.
4110 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
4111 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
4112 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
4113 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
4115 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
4116 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
4117 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
4119 2016-07-28 Jonathan Wakely <jwakely@redhat.com>
4121 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
4122 Adjust dg-prune-output pattern for error in C++98 mode.
4123 * testsuite/23_containers/deque/requirements/dr438/
4124 constructor_1_neg.cc: Likewise.
4125 * testsuite/23_containers/deque/requirements/dr438/
4126 constructor_2_neg.cc: Likewise.
4127 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
4129 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
4131 * testsuite/23_containers/list/requirements/dr438/
4132 constructor_1_neg.cc: Likewise.
4133 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
4135 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
4137 * testsuite/23_containers/vector/requirements/dr438/
4138 constructor_1_neg.cc: Likewise.
4139 * testsuite/23_containers/vector/requirements/dr438/
4140 constructor_2_neg.cc: Likewise.
4141 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
4144 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
4145 for different construct/destroy counts in C++98 mode.
4147 * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
4148 dg-options to dg-additional-options so that default options are used.
4149 * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
4151 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
4152 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
4154 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
4155 Use dg-additional-options instead of repeating the common options.
4157 * testsuite/22_locale/conversions/string/1.cc: Remove unintended
4158 dg-do compile directive.
4159 * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
4161 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
4163 2016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
4165 Implement std::string_view and P0254r2,
4166 Integrating std::string_view and std::string.
4167 * include/Makefile.am: Add string_view and string_view.tcc
4168 to the exported headers.
4169 * include/Makefile.in: Likewise.
4170 * include/bits/basic_string.h: Include <string_view> in C++17 mode.
4172 (basic_string(__sv_type, const _Alloc&)): Likewise.
4173 (operator=(__sv_type)): Likewise.
4174 (operator __sv_type()): Likewise.
4175 (operator+=(__sv_type)): Likewise.
4176 (append(__sv_type __sv)): Likewise.
4177 (append(__sv_type, size_type, size_type)): Likewise.
4178 (assign(__sv_type)): Likewise.
4179 (assign(__sv_type, size_type, size_type)): Likewise.
4180 (insert(size_type, __sv_type)): Likewise.
4181 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
4182 (replace(size_type, size_type, __sv_type)): Likewise.
4183 (replace(size_type, size_type, __sv_type, size_type, size_type)):
4185 (replace(const_iterator, const_iterator, __sv_type)): Likewise.
4186 (find(__sv_type, size_type)): Likewise.
4187 (rfind(__sv_type, size_type)): Likewise.
4188 (find_first_of(__sv_type, size_type)): Likewise.
4189 (find_last_of(__sv_type, size_type)): Likewise.
4190 (find_first_not_of(__sv_type, size_type)): Likewise.
4191 (find_last_not_of(__sv_type, size_type)): Likewise.
4192 (compare(__sv_type)): Likewise.
4193 (compare(size_type, size_type, __sv_type)): Likewise.
4194 (compare(size_type, size_type, __sv_type, size_type, size_type)):
4196 * include/bits/string_view.tcc: New.
4197 * include/std/string_view: Likewise.
4198 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
4199 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
4200 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
4202 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
4204 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
4206 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
4208 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
4210 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
4212 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
4214 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
4216 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
4218 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
4220 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
4222 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
4224 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
4225 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
4226 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
4227 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
4228 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
4229 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
4230 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
4231 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
4232 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
4233 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
4235 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
4237 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
4239 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
4241 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
4243 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
4245 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
4247 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
4249 * testsuite/21_strings/basic_string_view/include.cc: Likewise.
4250 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
4251 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
4252 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
4253 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
4255 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
4257 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
4259 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
4261 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
4263 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
4265 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
4267 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
4269 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
4271 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
4273 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
4275 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
4277 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
4279 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
4281 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
4283 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
4285 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
4287 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
4289 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
4291 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
4293 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
4295 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
4297 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
4299 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
4301 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
4303 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
4305 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
4307 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
4309 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
4311 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
4313 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
4315 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
4317 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
4319 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
4320 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
4322 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
4324 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
4326 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
4328 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
4330 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
4332 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
4334 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
4336 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
4338 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
4339 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
4341 2016-07-27 Jonathan Wakely <jwakely@redhat.com>
4343 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
4345 2016-07-25 Georeth Chow <georeth2010@gmail.com>
4347 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
4348 _S_concat enumerator.
4349 * testsuite/ext/rope/6.cc: New test.
4351 2016-07-25 Jonathan Wakely <jwakely@redhat.com>
4353 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
4354 std::mt19937, std::thread and std::atomic to simplify test.
4355 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4357 2016-07-22 Jonathan Wakely <jwakely@redhat.com>
4360 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
4361 (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
4362 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
4363 * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
4364 * testsuite/23_containers/set/allocator/71964.cc: New test.
4366 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
4367 delete[] instead of delete.
4369 2016-07-21 Jonathan Wakely <jwakely@redhat.com>
4371 * include/experimental/propagate_const (propagate_const::__t): Rename
4372 to _M_t and remove comment. Qualify std::move and std::forward.
4373 * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
4375 * testsuite/23_containers/vector/zero_sized_allocations.cc:
4376 Define sized deallocation function.
4377 * testsuite/util/testsuite_new_operators.h:
4378 (operator delete(void*, const std::nothrow_t&)): Define nothrow
4379 deallocation function.
4381 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
4382 reads past the end of strings.
4383 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
4385 * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
4386 invalid array accesses.
4387 * testsuite/experimental/string_view/operations/compare/char/1.cc:
4388 Fix read past the end of string.
4389 * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
4391 * testsuite/24_iterators/container_access.cc: Fix missing returns.
4392 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
4394 * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
4395 leak) memory for arguments to placement delete.
4396 * testsuite/20_util/addressof/1.cc: Don't leak memory.
4397 * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
4398 * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
4401 2016-07-20 Jonathan Wakely <jwakely@redhat.com>
4403 * doc/xml/manual/intro.xml: Document DR 2684 status.
4404 * doc/html/*: Regenerate.
4406 * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
4407 (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
4408 (atomic_uint64_t): Define (LWG 2441).
4409 * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
4411 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
4413 * doc/xml/manual/intro.xml: Document DR 2441 status.
4415 * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
4416 to use perfect forwarding (LWG 2328).
4417 * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
4418 * doc/xml/manual/intro.xml: Document DR 2328 status.
4420 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
4421 static objects for catching nullptr as pointer to member types.
4423 2016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
4425 Clean up optional's comments.
4426 * include/std/optional: Remove incorrect section headers
4427 from comments when redundant, replace bare section
4428 headers with more descriptive comments.
4430 2016-07-15 Jonathan Wakely <jwakely@redhat.com>
4432 * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
4433 * include/bits/move.h: Likewise.
4434 * include/bits/postypes.h: Likewise.
4435 * include/debug/bitset: Likewise.
4436 * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
4437 * include/ext/string_conversions.h: Change C++0x to __cxx11 in
4439 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
4440 * testsuite/util/thread/all.h: Likewise.
4442 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
4446 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
4447 nullptr match handlers of pointer type.
4449 2016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
4451 Implement C++17 P0025 clamp.
4452 * include/bits/algorithmfwd.h: Declare clamp overloads.
4453 * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp.
4454 * testsuite/25_algorithms/clamp/1.cc: New test.
4455 * testsuite/25_algorithms/clamp/2.cc: New test.
4456 * testsuite/25_algorithms/clamp/constexpr.cc: New test.
4457 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
4459 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
4462 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
4464 Fix the constraints for any's assignment operator template to properly
4465 reject assignment from a non-copyable lvalue.
4466 * include/std/any (operator=(_ValueType&&)): Constrain the decayed
4467 type for is_copy_constructible,
4468 * testsuite/20_util/any/requirements.cc: Add a test for
4469 non-copyable lvalues.
4471 2016-07-14 Jonathan Wakely <jwakely@redhat.com>
4473 * include/experimental/functional: Include <parallel/algorithm> in
4476 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
4480 * include/bits/forward_list.h (forward_list): Update doxygen comments
4481 to reflect allocator propagation semantics. Remove ambiguous
4482 statements about data being lost.
4483 * include/bits/stl_deque.h (deque): Likewise.
4484 * include/bits/stl_list.h (list): Likewise.
4485 * include/bits/stl_map.h (map): Likewise.
4486 * include/bits/stl_multimap.h (multimap): Likewise.
4487 * include/bits/stl_multiset.h (multiset): Likewise.
4488 * include/bits/stl_set.h (set): Likewise.
4489 * include/bits/stl_vector.h (vector): Likewise.
4490 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
4492 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
4495 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
4497 Implement P0032R3, Homogeneous interface for variant, any and optional,
4498 for the parts concerning any and optional.
4499 * include/std/any (_Storage()): Make constexpr and have it
4501 (any()): Make constexpr.
4502 (any(const any&)): Adjust.
4503 (any(any&&)): Likewise.
4504 (__any_constructible_t): New.
4505 (any(_ValueType&&)): Constrain.
4506 (any(in_place_type_t<_Tp>, _Args&&...)): New.
4507 (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
4510 (operator=(const any&)): Likewise.
4511 (operator=(any&&)): Likewise.
4512 (operator=(_ValueType&&)): Constrain.
4513 (emplace(_Args&&...)): New.
4514 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
4517 (swap(any&)): Adjust.
4521 (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
4522 (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
4523 (make_any(_Args&&...)): Likewise.
4524 (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
4525 * include/std/optional (in_place_t, in_place): Remove.
4526 (bad_optional_access): Add a comment referring to LEWG 72.
4527 (emplace(_Args&&...)): Constrain.
4529 (reset()): Likewise.
4530 (make_optional(_Args&&...)): Likewise.
4531 (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
4532 * include/std/utility (in_place_tag): New.
4533 (__in_place, __in_place_type, __in_place_index): Likewise.
4534 (in_place_t, in_place_type_t, in_place_index_t): Likewise.
4535 (in_place(__in_place*)): Likewise.
4536 (in_place(__in_place_type<_Tp>*)): Likewise.
4537 (in_place(__in_place_index<_Idx>*)): Likewise.
4538 * testsuite/20_util/any/assign/1.cc: Adjust.
4539 * testsuite/20_util/any/assign/emplace.cc: New.
4540 * testsuite/20_util/any/assign/self.cc: Adjust.
4541 * testsuite/20_util/any/cons/1.cc: Likewise.
4542 * testsuite/20_util/any/cons/in_place.cc: New.
4543 * testsuite/20_util/any/make_any.cc: Likewise.
4544 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
4545 * testsuite/20_util/any/misc/swap.cc: Likewise.
4546 * testsuite/20_util/any/modifiers/1.cc: Likewise.
4547 * testsuite/20_util/any/requirements.cc: New.
4548 * testsuite/20_util/in_place/requirements.cc: Likewise.
4549 * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
4550 * testsuite/20_util/optional/in_place.cc: Likewise.
4551 * testsuite/20_util/optional/make_optional.cc: Add tests for
4552 the new overloads of make_optional.
4554 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
4556 Implement P0307R2, Making Optional Greater Equal Again.
4557 * include/experimental/optional (_Has_addressof): Fix the comment.
4558 * include/std/optional (_Has_addressof): Likewise.
4559 (operator=(_Up&&)): Constrain.
4560 (operator=(const optional<_Up>&)): Likewise.
4561 (operator=(optional<_Up>&&)): Likewise.
4562 (__optional_relop_t): New.
4563 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
4564 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
4565 Constrain and make transparent.
4566 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
4567 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
4568 Constrain and make transparent.
4569 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
4570 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
4571 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
4572 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
4573 (operator!=(const optional<_Tp>&, _Tp const&)):
4574 Constrain and make transparent.
4575 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
4576 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
4577 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
4578 (operator>(const optional<_Tp>&, const _Tp&)):
4579 Constrain and make transparent.
4580 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
4581 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
4582 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
4583 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
4584 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
4585 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
4586 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
4587 * testsuite/20_util/optional/relops/1.cc: Likewise.
4588 * testsuite/20_util/optional/relops/2.cc: Likewise.
4589 * testsuite/20_util/optional/relops/3.cc: Likewise.
4590 * testsuite/20_util/optional/relops/4.cc: Likewise.
4591 * testsuite/20_util/optional/requirements.cc: Add tests to verify
4592 that optional's relops are transparent and don't synthesize
4593 operators. Also test that assignment sfinaes.
4595 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
4598 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
4599 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
4600 Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
4601 on _GLIBCXX_ASSERTIONS.
4602 * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
4603 Include <unistd.h> for sleep.
4604 * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
4605 * include/parallel/merge.h: Likewise.
4606 * include/parallel/multiway_merge.h: Likewise.
4607 * include/parallel/partition.h: Likewise.
4608 * include/parallel/queue.h: Likewise.
4609 * include/parallel/sort.h: Likewise.
4610 * testsuite/25_algorithms/headers/algorithm/
4611 parallel_algorithm_assert.cc: New.
4613 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
4614 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
4615 Forward to different overload.
4617 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
4620 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
4622 Revert "Add non-const overload of std::string::data()".
4624 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
4626 Implement P0307R2, Making Optional Greater Equal Again.
4627 * include/experimental/optional (_Has_addressof): Fix the comment.
4628 * include/std/optional (_Has_addressof): Likewise.
4629 (operator=(_Up&&)): Constrain.
4630 (operator=(const optional<_Up>&)): Likewise.
4631 (operator=(optional<_Up>&&)): Likewise.
4632 (__optional_relop_t): New.
4633 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
4634 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
4635 Constrain and make transparent.
4636 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
4637 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
4638 Constrain and make transparent.
4639 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
4640 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
4641 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
4642 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
4643 (operator!=(const optional<_Tp>&, _Tp const&)):
4644 Constrain and make transparent.
4645 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
4646 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
4647 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
4648 (operator>(const optional<_Tp>&, const _Tp&)):
4649 Constrain and make transparent.
4650 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
4651 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
4652 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
4653 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
4654 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
4655 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
4656 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
4657 * testsuite/20_util/optional/relops/1.cc: Likewise.
4658 * testsuite/20_util/optional/relops/2.cc: Likewise.
4659 * testsuite/20_util/optional/relops/3.cc: Likewise.
4660 * testsuite/20_util/optional/relops/4.cc: Likewise.
4661 * testsuite/20_util/optional/requirements.cc: Add tests to verify
4662 that optional's relops are transparent and don't synthesize
4663 operators. Also test that assignment sfinaes.
4665 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
4667 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
4669 (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
4670 instead of _M_data().
4671 (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
4673 (append(const basic_string&)): Likewise.
4674 (append(const basic_string&, size_type, size_type)): Likewise.
4675 (assign(const basic_string&, size_type, size_type)): Likewise.
4676 (insert(size_type, const basic_string&)): Likewise.
4677 (insert(size_type, const basic_string&, size_type, size_type)):
4679 (replace(size_type, size_type, const basic_string&, size_type,
4680 size_type)): Likewise.
4681 (replace(__const_iterator, __const_iterator, const basic_string&)):
4683 (c_str(), data()): Use c_str() instead of _M_data().
4684 (data()): Add non-const overload as per LWG 2391 and P0272R1.
4685 (compare(const basic_string&)): Use data() instead of _M_data().
4686 [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
4687 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
4688 Pass raw pointers to _S_copy.
4689 (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
4691 (find(const _CharT*, size_type, size_type)): Use data instead of
4693 * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
4694 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
4695 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
4697 2016-07-12 Jonathan Wakely <jwakely@redhat.com>
4699 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
4700 * doc/xml/manual/intro.xml: Document DR 2458 status.
4701 * doc/html*: Regenerate.
4703 * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
4704 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
4705 Only include <array>.
4706 * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
4708 * doc/xml/manual/intro.xml: Document LWG 2212 support.
4709 * doc/html*: Regenerate.
4711 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
4712 Add testcase from LWG 2164.
4714 2016-07-11 François Dumont <fdumont@gcc.gnu.org>
4716 * include/bits/stl_vector.h (push_back(const value_type&)): Forward
4717 to _M_realloc_insert.
4718 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
4719 (_M_realloc_insert): Declare new function.
4720 (_M_emplace_back_aux): Remove definition.
4721 * include/bits/vector.tcc (emplace_back(_Args...)):
4722 Use _M_realloc_insert.
4723 (insert(const_iterator, const value_type&)): Likewise.
4724 (_M_insert_rval, _M_emplace_aux): Likewise.
4725 (_M_emplace_back_aux): Remove declaration.
4726 (_M_realloc_insert): Define.
4727 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
4728 Adjust expected results for emplacing an lvalue with reallocation.
4730 2016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
4732 Implement std::optional.
4733 * include/Makefile.am: Add optional to exported headers.
4734 * include/Makefile.in: Likewise.
4735 * include/std/optional: New.
4736 * testsuite/20_util/optional/typedefs.cc: Likewise.
4737 * testsuite/20_util/optional/relops/2.cc: Likewise.
4738 * testsuite/20_util/optional/relops/3.cc: Likewise.
4739 * testsuite/20_util/optional/relops/4.cc: Likewise.
4740 * testsuite/20_util/optional/relops/5.cc: Likewise.
4741 * testsuite/20_util/optional/relops/1.cc: Likewise.
4742 * testsuite/20_util/optional/relops/6.cc: Likewise.
4743 * testsuite/20_util/optional/nullopt.cc: Likewise.
4744 * testsuite/20_util/optional/in_place.cc: Likewise.
4745 * testsuite/20_util/optional/make_optional.cc: Likewise.
4746 * testsuite/20_util/optional/assignment/2.cc: Likewise.
4747 * testsuite/20_util/optional/assignment/3.cc: Likewise.
4748 * testsuite/20_util/optional/assignment/4.cc: Likewise.
4749 * testsuite/20_util/optional/assignment/5.cc: Likewise.
4750 * testsuite/20_util/optional/assignment/1.cc: Likewise.
4751 * testsuite/20_util/optional/assignment/6.cc: Likewise.
4752 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
4753 * testsuite/20_util/optional/cons/default.cc: Likewise.
4754 * testsuite/20_util/optional/cons/move.cc: Likewise.
4755 * testsuite/20_util/optional/cons/value.cc: Likewise.
4756 * testsuite/20_util/optional/cons/copy.cc: Likewise.
4757 * testsuite/20_util/optional/requirements.cc: Likewise.
4758 * testsuite/20_util/optional/observers/2.cc: Likewise.
4759 * testsuite/20_util/optional/observers/3.cc: Likewise.
4760 * testsuite/20_util/optional/observers/4.cc: Likewise.
4761 * testsuite/20_util/optional/observers/5.cc: Likewise.
4762 * testsuite/20_util/optional/observers/1.cc: Likewise.
4763 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
4764 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
4765 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
4766 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
4767 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
4768 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
4769 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
4770 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
4771 * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
4772 * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
4773 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
4774 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
4775 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
4776 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
4777 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
4778 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
4779 * testsuite/20_util/optional/swap/1.cc: Likewise.
4781 2016-07-08 Jonathan Wakely <jwakely@redhat.com>
4783 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
4785 2016-07-07 Jonathan Wakely <jwakely@redhat.com>
4787 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
4788 * doc/html/*: Regenerate.
4790 2016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
4793 * include/Makefile.am: Add any and c++17_warning.h to exported headers.
4794 * include/Makefile.in: Likewise.
4795 * include/std/any: New.
4796 * testsuite/20_util/any/assign/1.cc: Likewise.
4797 * testsuite/20_util/any/assign/2.cc: Likewise.
4798 * testsuite/20_util/any/assign/self.cc: Likewise.
4799 * testsuite/20_util/any/cons/1.cc: Likewise.
4800 * testsuite/20_util/any/cons/2.cc: Likewise.
4801 * testsuite/20_util/any/cons/aligned.cc: Likewise.
4802 * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
4803 * testsuite/20_util/any/misc/any_cast.cc: Likewise.
4804 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
4805 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
4806 * testsuite/20_util/any/misc/swap.cc: Likewise.
4807 * testsuite/20_util/any/modifiers/1.cc: Likewise.
4808 * testsuite/20_util/any/observers/type.cc: Likewise.
4809 * testsuite/20_util/any/typedefs.cc: Likewise.
4811 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
4813 Add a new header for diagnosing the use of C++17 facilities
4815 * include/bits/c++17_warning.h: New.
4817 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
4819 Implement LWG 2451, optional<T> should 'forward' T's
4820 implicit conversions.
4821 * include/experimental/optional (__is_optional_impl, __is_optional):
4823 (optional()): Make constexpr and default.
4824 (optional(_Up&&), optional(const optional<_Up>&),
4825 optional(optional<_Up>&& __t): New.
4826 (operator=(_Up&&)): Constrain.
4827 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
4828 * testsuite/experimental/optional/cons/value.cc:
4829 Add tests for the functionality added by LWG 2451.
4830 * testsuite/experimental/optional/cons/value_neg.cc: New.
4832 2016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
4835 any_cast doesn't work with rvalue reference targets and cannot
4836 move with a value target.
4837 * include/experimental/any (any(_ValueType&&)): Constrain and
4838 add an overload that doesn't forward.
4839 (any_cast(any&&)): Constrain and add an overload that moves.
4840 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
4841 the functionality added by LWG 2509.
4843 2016-07-04 François Dumont <fdumont@gcc.gnu.org>
4845 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
4847 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
4850 2016-07-04 Jonathan Wakely <jwakely@redhat.com>
4852 * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
4853 Define inline. Forward to _M_emplace_aux.
4854 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
4855 (_M_insert_rval, _M_emplace_aux): Declare new functions.
4856 (_Temporary_value): New RAII type using allocator to construct/destroy.
4857 (_S_insert_aux_assign): Remove.
4858 (_M_insert_aux): Make non-variadic.
4859 * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
4860 Use _Temporary_value.
4861 (emplace(const_iterator, _Args&&...)): Remove definition.
4862 (_M_insert_rval, _M_emplace_aux): Define.
4863 (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
4864 (_M_fill_insert): Use _Temporary_value.
4865 * testsuite/23_containers/vector/allocator/construction.cc: New test.
4866 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
4867 Adjust expected results for emplacing an lvalue with reallocation.
4868 * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
4869 expected results to account for construction/destruction of temporary
4871 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
4873 2016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
4876 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
4877 Call remove_all for children of a directory.
4878 * testsuite/experimental/filesystem/operations/create_directories.cc:
4881 2016-07-02 François Dumont <fdumont@gcc.gnu.org>
4883 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
4884 dg-error line numbers.
4885 * testsuite/23_containers/array/tuple_interface/
4886 tuple_element_debug_neg.cc: Likewise.
4887 * testsuite/25_algorithms/lexicographical_compare/debug/
4888 irreflexive_neg.cc: Remove.
4890 2016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
4892 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
4893 than specific target.
4895 2016-06-27 François Dumont <fdumont@gcc.gnu.org>
4898 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
4901 2016-06-23 François Dumont <fdumont@gcc.gnu.org>
4903 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
4906 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
4908 * configure.host: Remove mep-* support.
4910 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
4912 * configure: Regenerate.
4913 * configure.host: Remove support for knetbsd.
4914 * crossconfig.m4: Likewise.
4916 2016-06-20 François Dumont <fdumont@gcc.gnu.org>
4919 * include/tr1/hashtable_policy.h
4920 (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
4921 dereferenceable to avoid check on lower_bound result.
4922 (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
4923 (_Prime_rehash_policy::_M_need_rehash): Likewise.
4924 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
4925 Always return a value greater than input value. Set _M_next_resize to
4926 max value when reaching highest prime number.
4927 * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
4929 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
4930 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
4932 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
4933 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
4936 2016-06-17 Jonathan Wakely <jwakely@redhat.com>
4939 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
4940 Remove irreflexive checks.
4941 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
4942 binary_search): Likewise.
4943 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
4944 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
4945 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
4946 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
4947 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
4948 Add constructor from array.
4950 2016-06-16 François Dumont <fdumont@gcc.gnu.org>
4952 * include/debug/debug.h
4953 (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
4954 (__glibcxx_requires_subscript): Move...
4955 * include/debug/assertions.h: ...here and add __builtin_expect.
4956 (_GLIBCXX_DEBUG_ONLY): Remove ; value.
4957 * include/bits/stl_deque.h
4958 (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
4959 (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
4960 (std::deque<>::back()): Likewise.
4961 (std::deque<>::pop_front()): Likewise.
4962 (std::deque<>::pop_back()): Likewise.
4963 (std::deque<>::swap(deque&)): Add allocator check.
4964 * include/bits/stl_vector.h
4965 (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
4966 (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
4967 (std::vector<>::back()): Likewise.
4968 (std::vector<>::pop_back()): Likewise.
4969 (std::vector<>::swap(vector&)): Add allocator check.
4971 2016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
4973 Provide swappable traits (p0185r1)
4974 * include/std/type_traits (is_swappable, is_nothrow_swappable,
4975 is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
4976 is_nothrow_swappable_v, is_swappable_with_v,
4977 is_nothrow_swappable_with_v): New.
4978 * include/bits/stl_pair.h: Use it as per p0185r1.
4979 * include/bits/stl_queue.h: Likewise.
4980 * include/bits/stl_stack.h: Likewise.
4981 * include/bits/unique_ptr.h: Likewise.
4982 * include/std/tuple: Likewise.
4983 * include/std/array: Likewise. Fix zero-size member swap.
4984 * include/bits/hashtable.h: Use __and_.
4985 * testsuite/20_util/is_nothrow_swappable/requirements/
4986 explicit_instantiation.cc: Change test options to std=gnu++17.
4987 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
4989 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
4990 * testsuite/20_util/is_swappable/requirements/
4991 explicit_instantiation.cc: Likewise.
4992 * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
4993 * testsuite/20_util/is_swappable/value.cc: Likewise.
4994 * testsuite/20_util/is_nothrow_swappable/requirements/
4995 explicit_instantiation_ext.cc: New.
4996 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
4998 * testsuite/20_util/is_nothrow_swappable/value.h: New.
4999 * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
5000 * testsuite/20_util/is_nothrow_swappable_with/requirements/
5001 explicit_instantiation.cc: New.
5002 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
5004 * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
5005 * testsuite/20_util/is_swappable/requirements/
5006 explicit_instantiation_ext.cc: New.
5007 * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
5008 * testsuite/20_util/is_swappable/value.h: New.
5009 * testsuite/20_util/is_swappable/value_ext.cc: New.
5010 * testsuite/20_util/is_swappable_with/requirements/
5011 explicit_instantiation.cc: New.
5012 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
5013 * testsuite/20_util/is_swappable_with/value.cc: New.
5014 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
5015 dg-error line numbers.
5016 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
5019 2016-06-16 Jonathan Wakely <jwakely@redhat.com>
5021 * include/std/array: Remove trailing whitespace.
5022 * include/std/atomic: Likewise.
5023 * include/std/bitset: Likewise.
5024 * include/std/chrono: Likewise.
5025 * include/std/complex: Likewise.
5026 * include/std/condition_variable: Likewise.
5027 * include/std/fstream: Likewise.
5028 * include/std/functional: Likewise.
5029 * include/std/future: Likewise.
5030 * include/std/iomanip: Likewise.
5031 * include/std/iosfwd: Likewise.
5032 * include/std/istream: Likewise.
5033 * include/std/limits: Likewise.
5034 * include/std/ratio: Likewise.
5035 * include/std/scoped_allocator: Likewise.
5036 * include/std/sstream: Likewise.
5037 * include/std/stdexcept: Likewise.
5038 * include/std/string: Likewise.
5039 * include/std/system_error: Likewise.
5040 * include/std/thread: Likewise.
5041 * include/std/tuple: Likewise.
5042 * include/std/type_traits: Likewise.
5043 * include/std/utility: Likewise.
5044 * include/std/valarray: Likewise.
5045 * include/std/vector: Likewise.
5047 * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
5048 new overloaded functions.
5049 * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
5050 to avoid creating a redundant temporary.
5051 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
5054 2016-06-15 François Dumont <fdumont@gcc.gnu.org>
5056 * include/bits/stl_deque.h
5057 (std::deque<>::operator=): Call _M_assign_aux.
5058 (std::deque<>::assign(initializer_list<>)): Likewise.
5059 (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
5060 (std::deque<>::insert(const_iterator, initializer_list<>)):
5061 Call _M_range_insert_aux.
5062 (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
5064 (std::deque<>::_M_fill_assign): Call _M_fill_insert.
5065 (std::deque<>::_M_move_assign2): Call _M_assign_aux.
5066 * include/bits/deque.tcc
5067 (std::deque<>::operator=): Call _M_range_insert_aux.
5068 (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
5070 * include/bits/stl_vector.h
5071 (std::vector<>::operator=): Call _M_assign_aux.
5072 (std::vector<>::assign(initializer_list<>)): Likewise.
5073 (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
5074 (std::vector<>::insert(const_iterator, initializer_list<>)):
5075 Call _M_range_insert.
5076 * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
5078 2016-06-07 François Dumont <fdumont@gcc.gnu.org>
5080 * include/std/tuple (_Head_base<>): Default specialization condition at
5083 2016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
5085 Support allocators in tuples of zero size.
5086 * include/std/tuple (tuple<>::tuple(),
5087 tuple<>::tuple(allocator_arg_t, const _Alloc&),
5088 tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
5089 * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
5091 2016-06-06 Jonathan Wakely <jwakely@redhat.com>
5094 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
5095 Add or remove permissions according to perms argument.
5096 * testsuite/experimental/filesystem/operations/permissions.cc: New
5099 2016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
5101 Protect allocator-overloads of tuple-from-tuple constructors
5102 from cases that would create dangling references.
5103 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
5104 const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
5105 tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
5106 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
5108 2016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
5110 * doc/xml/manual/backwards_compatibility.xml: Adjust
5111 lists.debian.org link to https.
5112 * doc/html/manual/backwards.html: Regenerate.
5114 2016-05-27 Jonathan Wakely <jwakely@redhat.com>
5116 * doc/xml/manual/abi.xml: Adjust URL to use https.
5117 * doc/html/manual/*: Regenerate.
5119 2016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
5122 * include/std/tuple (_TMC): Add a check for _NotSameTuple.
5123 * include/std/tuple (tuple(_UElements&&...)): Remove the separate
5124 check for _NotSameTuple.
5125 * include/std/tuple (_TMCT): New.
5126 * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
5127 * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
5128 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
5129 const tuple<_UElements...>&)): Likewise.
5130 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
5131 tuple<_UElements...>&&)): Likewise.
5132 * testsuite/20_util/tuple/cons/66338.cc: New.
5134 2016-05-25 Jonathan Wakely <jwakely@redhat.com>
5136 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
5137 * configure: Regenerate.
5138 * config.h.in: Regenerate.
5140 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
5141 * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
5142 Remove const qualification on function. Replace
5143 _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
5144 (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
5145 (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
5147 2016-05-24 François Dumont <fdumont@gcc.gnu.org>
5149 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
5150 * include/bits/hashtable_policy.h
5151 (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
5152 having load factor management.
5153 (_Mask_range_hashing): New.
5155 (_Power2_rehash_policy): New.
5156 (_Inserts<>): Remove last template parameter, _Unique_keys, so that
5157 partial specializations only depend on whether iterators are constant
5159 * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
5160 test new hash policy.
5161 * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
5163 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
5165 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
5167 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
5169 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
5171 * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
5172 using the new hash policy.
5173 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
5175 2016-05-24 Jonathan Wakely <jwakely@redhat.com>
5177 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
5179 2016-05-23 François Dumont <fdumont@gcc.gnu.org>
5181 * include/debug/safe_iterator.h
5182 (_Safe_iterator<>::operator->()): Implement using underlying iterator
5184 * include/debug/safe_local_iterator.h
5185 (_Safe_local_iterator<>::operator->()): Likewise.
5187 2016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
5189 * testsuite/experimental/memory_resource/1.cc: Add required argument
5190 to dg-require-atomic-builtins.
5192 2016-05-13 Jonathan Wakely <jwakely@redhat.com>
5195 * include/debug/bitset: Add #pragma GCC system_header.
5196 * include/debug/deque: Likewise.
5197 * include/debug/list: Likewise.
5198 * include/debug/map: Likewise.
5199 * include/debug/set: Likewise.
5200 * include/debug/string: Likewise.
5201 * include/debug/unordered_map: Likewise.
5202 * include/debug/unordered_set: Likewise.
5203 * include/debug/vector: Likewise.
5204 * include/debug/functions.h: Adjust whitespace.
5206 2016-05-12 Jonathan Wakely <jwakely@redhat.com>
5209 * testsuite/experimental/memory_resource/1.cc: Require atomics.
5211 2016-05-11 Jonathan Wakely <jwakely@redhat.com>
5214 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
5215 exception constructors with __sso_string parameters.
5217 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
5219 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
5220 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
5221 Test begin and end functions.
5222 * testsuite/experimental/filesystem/iterators/
5223 recursive_directory_iterator.cc: Likewise.
5226 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
5227 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
5229 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
5230 Overload operator* to move from rvalues.
5233 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
5234 * testsuite/experimental/filesystem/operations/create_directory.cc:
5238 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
5239 base path to exception.
5240 * testsuite/experimental/filesystem/operations/canonical.cc: Test
5241 paths contained in exception.
5243 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
5247 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
5249 (directory_iterator::operator++(int)): Return proxy.
5250 (recursive_directory_iterator::operator++(int)): Likewise.
5251 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
5252 Test post-increment.
5253 * testsuite/experimental/filesystem/iterators/
5254 recursive_directory_iterator.cc: Likewise.
5256 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
5259 * testsuite/experimental/filesystem/iterators/
5260 recursive_directory_iterator.cc: Fix test02 to not call member
5261 functions on invalid iterator, and use VERIFY not assert.
5263 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
5265 Avoid endless run-time recursion for copying single-element
5266 tuples where the element type is by-value constructible
5268 * include/std/tuple (_NotSameTuple): New.
5269 * include/std/tuple (tuple(_UElements&&...): Use it.
5270 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
5272 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
5275 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
5276 Initialize scalar member variables in default constructor.
5277 * testsuite/experimental/filesystem/iterators/
5278 recursive_directory_iterator.cc: Test default construction.
5280 2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5282 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
5284 2016-05-05 Jonathan Wakely <jwakely@redhat.com>
5286 * testsuite/experimental/filesystem/path/native/string.cc: Add
5287 dg-require-filesystem-ts directive.
5289 2016-05-04 Jonathan Wakely <jwakely@redhat.com>
5292 * include/experimental/memory_resource
5293 (__resource_adaptor_imp::do_allocate): Do not default-construct
5295 (__resource_adaptor_imp::do_deallocate): Likewise. Use
5296 allocator_traits to get pointer type.
5297 (__null_memory_resource::do_allocate): Remove unused parameters.
5298 (__null_memory_resource::do_deallocate): Likewise.
5299 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
5300 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
5301 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
5303 * testsuite/experimental/memory_resource/1.cc: Here.
5304 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
5305 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
5307 2016-04-29 Chris Gregory <czipperz@gmail.com>
5309 * config/*: Remove trailing whitespace.
5311 * testsuite/tr1/*: Likewise.
5312 * testsuite/util/*: Likewise.
5314 2016-04-28 Jonathan Wakely <jwakely@redhat.com>
5317 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
5319 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
5321 * include/std/atomic (atomic<_Tp>): Likewise.
5322 * include/std/shared_mutex (shared_lock): Likewise.
5323 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
5324 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
5325 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
5326 * testsuite/29_atomics/atomic/70766.cc: New test.
5327 * testsuite/30_threads/shared_lock/70766.cc: New test.
5329 * include/bits/hashtable_policy.h (__detail::_Insert_base,
5330 __detail::_Insert): Improve comments.
5332 2016-04-27 Jonathan Wakely <jwakely@redhat.com>
5335 * include/std/limits: Update comments about DRs.
5336 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
5337 numeric_limits<const volatile _Tp>): Define unconditionally.
5339 2016-04-24 Jonathan Wakely <jwakely@redhat.com>
5342 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
5343 static counter to return a different path on every call.
5345 2016-04-22 Tim Shen <timshen@google.com>
5348 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
5349 Fix the match_not_bow and match_not_eow behavior.
5350 * testsuite/28_regex/regression.cc: Add testcase.
5352 2016-04-20 Jonathan Wakely <jwakely@redhat.com>
5355 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
5356 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
5358 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
5361 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
5362 Override endianness bit in mode.
5363 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
5364 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
5365 that little_endian mode is ignored.
5366 * testsuite/experimental/filesystem/path/native/string.cc: New test.
5369 * src/filesystem/ops.cc (close_fd): New function.
5370 (do_copy_file): Set permissions before copying file contents. Check
5371 result of closing file descriptors. Don't copy streambuf when file
5373 (copy(const path&, const path&, copy_options, error_code&)): Use
5374 lstat for source file when copy_symlinks is set.
5375 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
5377 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
5378 operator~ operator&=, operator|=, operator^=): Add noexcept to
5379 overloaded operators for copy_options, perms and directory_options.
5380 * src/filesystem/ops.cc (make_file_type, make_file_status,
5381 is_not_found_errno, file_time): Add noexcept.
5383 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
5385 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
5387 2016-04-18 Jonathan Wakely <jwakely@redhat.com>
5390 * include/bits/random.h: Reword static assertion messages to state
5391 positive conditions.
5392 * include/bits/random.tcc: Likewise.
5393 * include/bits/uniform_int_dist.h: Likewise.
5394 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
5397 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
5399 * config/cpu/sh/atomicity.h: Fix typo in comment.
5402 * include/std/thread (operator<, operator==): Move definitions to
5404 * testsuite/30_threads/thread/id/70294.cc: New test.
5406 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
5407 -Wno-pedantic to dg-options.
5408 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
5409 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
5411 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
5412 Remove extra semi-colon.
5413 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
5414 Always supply second argument to static_assert.
5415 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
5417 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
5419 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
5420 * testsuite/29_atomics/atomic/60695.cc: Likewise.
5421 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
5422 alignof when operand is an object not a type.
5423 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
5424 * testsuite/decimal/make-decimal.cc: Likewise.
5425 * testsuite/experimental/type_traits/value.cc: Always supply second
5426 argument to static_assert.
5427 * testsuite/util/testsuite_common_types.h: Use __extension__ for
5430 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
5432 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
5433 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
5434 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
5435 Likewise. Add licence and change to compile-only test.
5437 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
5439 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
5441 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
5444 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
5446 * include/bits/specfun.h: Trivial comment misspelling.
5448 2016-04-14 Jason Merrill <jason@redhat.com>
5450 Revert Jonathan's empty ABI change from yesterday.
5452 2016-04-13 Martin Sebor <msebor@redhat.com>
5455 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
5456 upper bound is positive.
5458 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
5460 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
5461 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
5462 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
5463 of functions taking empty structs by value. Add a template parameter
5464 to overloads without hints. Rename overloads with hints to
5466 (_Hashtable::_M_erase(true_type, const_iterator),
5467 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
5468 by reordering parameters.
5469 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
5470 _M_emplace_hint instead of _M_emplace.
5471 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
5472 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
5473 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
5474 __shared_ptr): Likewise.
5475 * include/bits/stl_algo.h (replace_if): Likewise.
5476 * include/bits/stl_pair.h (piecewise_construct_t,
5477 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
5478 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
5479 __uses_alloc0): Likewise.
5480 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
5481 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
5482 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
5483 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
5484 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
5485 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
5486 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
5488 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
5490 Document C++17/TR29124 C++ Special Math Functions.
5491 * include/bits/specfun.h: Add Doxygen markup.
5493 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
5495 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
5497 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
5499 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
5500 * src/Makefile.in: Regenerate.
5502 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
5505 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
5506 __atomic_fetch_add for bool.
5507 * configure: Regenerate.
5509 * testsuite/30_threads/thread/70503.cc: Require -static to work.
5512 * src/c++11/thread.cc (execute_native_thread_routine,
5513 execute_native_thread_routine_compat): Give internal linkage.
5514 * testsuite/30_threads/thread/70503.cc: New test.
5516 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
5519 * include/bits/stl_pair.h (_ConstructiblePair,
5520 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
5521 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
5522 for same-type cases.
5523 * testsuite/20_util/pair/70437.cc: New.
5525 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
5528 * config/abi/pre/gnu.ver: Add new symbol.
5529 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
5530 * testsuite/18_support/free_eh_pool.cc: New test.
5532 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
5534 * include/Makefile.am (install-freestanding-headers): Add
5535 concept_check.h and move.h to the installed headers.
5536 * include/Makefile.in: Regenerated.
5537 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
5538 freestanding implementations.
5539 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
5540 that this macro has no effect for freestanding implementations.
5541 * doc/html/manual/using_macros.html: Likewise.
5543 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
5546 * include/experimental/tuple (__apply_impl): Qualify get and forward.
5548 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
5550 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
5551 * doc/html/*: Regenerate.
5554 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
5555 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
5556 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
5557 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
5558 trunc) [__cplusplus >= 201103L]: Import from namespace std.
5559 (fabs) [__cplusplus < 201103L]: Import from namespace std.
5560 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
5562 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
5563 namespace before including TR1 headers.
5564 * testsuite/tr1/headers/c++200x/math.cc: New test.
5566 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
5569 * include/c_global/cstdarg: Undefine __need___va_list.
5570 * include/c_global/cstddef: Undefine all kinds of __need_*.
5572 2016-02-16 Tim Shen <timshen@google.com>
5575 * include/bits/regex_scanner.h: Add different special character
5576 sets for grep and egrep regex.
5577 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
5578 * testsuite/28_regex/regression.cc: Add new testcase.
5580 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
5582 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
5583 added 'constexpr' in previous commit.
5584 * configure: Regenerate.
5587 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
5588 checks for all targets except *-*-solaris2.* and ensure we find the
5589 libc math.h header not our own.
5590 * configure: Regenerate.
5592 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
5594 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
5595 New file. Copied over from s390-linux-gnu.
5597 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
5600 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
5601 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
5602 * config.h.in: Regenerate.
5603 * configure: Regenerate.
5604 * testsuite/21_strings/c_strings/char/69626.cc: New.
5606 * doc/html/index.html: Regenerate.
5608 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
5609 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
5610 * doc/html/*: Regenerate.
5612 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
5615 * include/c_compatibility/math.h: Move header guards.
5616 * include/c_compatibility/stdlib.h: Likewise.
5618 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
5621 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
5623 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
5626 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
5627 isinf and isnan functions into two independent checks. Check on hpux.
5628 * config.h.in: Regenerate.
5629 * configure: Regenerate.
5630 * include/c_global/cmath (isinf(double), isnan(double)): Use
5631 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
5634 2016-01-27 Jakub Jelinek <jakub@redhat.com>
5636 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
5638 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
5641 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
5642 -ffp-contract=off, and -ffloat-store to disable excess precision.
5643 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
5646 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
5649 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
5650 random_access_iterator_tag>): Check is_move_assignable when moving.
5651 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
5653 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
5654 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
5655 * testsuite/25_algorithms/move/69478.cc: New.
5656 * testsuite/25_algorithms/move_backward/69478.cc: new.
5658 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
5660 * include/c_compatibility/stdlib.h: Include wide character related
5661 definitions only when they are available in cstdlib.
5663 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
5666 * include/Makefile.am: Add new header.
5667 * include/Makefile.in: Regenerate.
5668 * include/bits/random.h (uniform_int_distribution): Move to
5669 bits/uniform_int_dist.h.
5670 * include/bits/random.tcc (uniform_int_distribution::operator(),
5671 uniform_int_distribution::__generate_impl): Likewise.
5672 * include/bits/uniform_int_dist.h: New header.
5673 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
5674 <bits/uniform_int_dist.h> instead of <random>.
5675 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
5676 move_iterators/1.cc: Include correct header for uninitialized_copy.
5677 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
5678 move_iterators/1.cc: Likewise.
5679 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
5681 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
5683 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
5686 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
5688 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
5690 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
5691 * include/c_compatibility/math.h: Import the TR29124 functions
5692 into the global namespace.
5693 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
5694 xfail and make compile-only.
5695 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
5696 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
5697 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
5698 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
5699 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
5700 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
5701 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
5702 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
5703 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
5704 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
5705 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
5706 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
5707 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
5708 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
5709 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
5710 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
5711 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
5712 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
5713 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
5714 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
5716 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
5719 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
5720 define result_type for types which can be safely used with valarrays.
5721 * testsuite/26_numerics/valarray/69116.cc: New.
5724 * config/os/gnu-linux/os_defines.h: Define
5725 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
5726 * include/c_global/cmath (isinf, isnan): Check it.
5727 * doc/xml/manual/internals.xml: Document it.
5728 * doc/html/*: Regenerate.
5730 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
5733 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
5734 * include/ext/type_traits.h: Likewise.
5735 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
5736 for presence of C headers.
5737 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
5738 dg-error line number.
5739 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
5740 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
5741 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
5743 2016-01-20 Torvald Riegel <triegel@redhat.com>
5746 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
5748 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
5751 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
5752 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
5753 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
5754 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
5755 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
5756 Add using declarations.
5757 * testsuite/26_numerics/headers/cmath/60401.cc: New.
5760 * include/c_global/ccomplex: Ensure C++ language linkage.
5761 * include/c_global/cmath: Likewise.
5762 * include/c_global/cstdlib: Likewise.
5763 * include/c_global/ctgmath: Likewise.
5764 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
5766 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
5770 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
5771 --enable-cheaders=c_global configs.
5772 * include/Makefile.in: Regenerate.
5773 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
5774 test and allow inclusion from C files.
5775 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
5776 (at_quick_exit, quick_exit): Add using directives.
5777 * include/c_global/cmath: Use #include_next for math.h.
5778 * include/c_global/cstdlib: Use #include_next for stdlib.h.
5779 * testsuite/26_numerics/headers/cmath/14608.cc: New.
5780 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
5781 Remove xfail for most targets.
5782 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
5784 2016-01-18 Torvald Riegel <triegel@redhat.com>
5786 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
5787 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
5788 and move after its definition.
5789 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
5790 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
5791 __GXX_WEAK__, and only provide transactional clones if
5792 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
5795 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
5798 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
5801 * include/std/functional (_Function_base::_M_not_empty_function):
5802 Change overloads for pointers to take arguments by value.
5803 * testsuite/20_util/function/cons/57465.cc: Add tests for
5804 pointer-to-member cases.
5807 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
5808 Use macros for exception handling and fix unused parameter warning.
5810 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
5813 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
5815 2016-01-17 Torvald Riegel <triegel@redhat.com>
5817 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
5819 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
5821 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
5824 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
5827 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
5828 static assertion that type is constructible from the arguments.
5829 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
5830 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
5831 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
5834 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
5835 and isnan on AIX. Quote variables.
5836 * configure: Regenerate.
5838 2016-01-15 Torvald Riegel <triegel@redhat.com>
5840 * include/bits/basic_string.h (basic_string): Declare friends.
5841 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
5842 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
5843 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
5844 length_error, out_of_range, runtime_error, range_error,
5845 underflow_error, overflow_error): Declare members as transaction-safe.
5846 (logic_error, runtime_error): Declare friend functions.
5847 * libsupc++/exception (exception, bad_exception): Declare members as
5849 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
5850 transaction-safe members of exceptions and helper functions.
5851 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
5852 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
5853 (CXXABI_1.3.10): New.
5854 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
5855 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
5856 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
5857 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
5858 * include/Makefile.in: Regenerate.
5859 * config.h.in: Regenerate.
5860 * configure: Regenerate.
5861 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
5863 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
5865 * include/ext/random.tcc: Use __builtin_isfinite instead of
5868 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
5870 * include/bits/std_mutex.h: Fix Doxygen @file name.
5872 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
5873 Jonathan Wakely <jwakely@redhat.com>
5874 Florian Goth <CaptainSifff@gmx.de>
5876 Implement TR29124 C++ special Math Functions.
5877 * include/Makefile.am: Add new headers.
5878 * include/Makefile.in: Regenerate.
5879 * include/bits/specfun.h: New.
5880 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
5881 * include/tr1/bessel_function.tcc: Ditto.
5882 * include/tr1/beta_function.tcc: Ditto.
5883 * include/tr1/cmath: Ditto.
5884 * include/tr1/ell_integral.tcc: Ditto.
5885 * include/tr1/exp_integral.tcc: Ditto.
5886 * include/tr1/gamma.tcc: Ditto.
5887 * include/tr1/hypergeometric.tcc: Ditto.
5888 * include/tr1/legendre_function.tcc: Ditto.
5889 * include/tr1/modified_bessel_func.tcc: Ditto.
5890 * include/tr1/poly_hermite.tcc: Ditto.
5891 * include/tr1/poly_laguerre.tcc: Ditto.
5892 * include/tr1/riemann_zeta.tcc: Ditto.
5893 * include/tr1/special_function_util.h: Ditto.
5894 * testsuite/ext/special_functions/conf_hyperg: New.
5895 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
5896 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
5897 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
5898 * testsuite/ext/special_functions/hyperg: New.
5899 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
5900 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
5901 * testsuite/ext/special_functions/hyperg/compile.cc: New.
5902 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
5903 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
5904 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
5905 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
5906 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
5907 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
5908 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
5909 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
5910 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
5911 * testsuite/special_functions/03_beta/check_nan.cc: New.
5912 * testsuite/special_functions/03_beta/check_value.cc: New.
5913 * testsuite/special_functions/03_beta/compile.cc: New.
5914 * testsuite/special_functions/03_beta/compile_2.cc: New.
5915 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
5916 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
5917 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
5918 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
5919 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
5920 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
5921 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
5922 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
5923 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
5924 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
5925 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
5926 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
5927 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
5928 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
5929 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
5930 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
5931 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
5932 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
5933 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
5934 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
5935 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
5936 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
5937 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
5938 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
5939 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
5940 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
5941 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
5942 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
5943 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
5944 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
5945 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
5946 * testsuite/special_functions/11_ellint_1/compile.cc: New.
5947 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
5948 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
5949 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
5950 * testsuite/special_functions/12_ellint_2/compile.cc: New.
5951 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
5952 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
5953 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
5954 * testsuite/special_functions/13_ellint_3/compile.cc: New.
5955 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
5956 * testsuite/special_functions/14_expint/check_nan.cc: New.
5957 * testsuite/special_functions/14_expint/check_value.cc: New.
5958 * testsuite/special_functions/14_expint/compile.cc: New.
5959 * testsuite/special_functions/14_expint/compile_2.cc: New.
5960 * testsuite/special_functions/15_hermite/check_nan.cc: New.
5961 * testsuite/special_functions/15_hermite/check_value.cc: New.
5962 * testsuite/special_functions/15_hermite/compile.cc: New.
5963 * testsuite/special_functions/15_hermite/compile_2.cc: New.
5964 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
5965 * testsuite/special_functions/16_laguerre/check_value.cc: New.
5966 * testsuite/special_functions/16_laguerre/compile.cc: New.
5967 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
5968 * testsuite/special_functions/17_legendre/check_nan.cc: New.
5969 * testsuite/special_functions/17_legendre/check_value.cc: New.
5970 * testsuite/special_functions/17_legendre/compile.cc: New.
5971 * testsuite/special_functions/17_legendre/compile_2.cc: New.
5972 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
5973 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
5974 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
5975 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
5976 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
5977 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
5978 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
5979 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
5980 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
5981 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
5982 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
5983 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
5984 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
5985 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
5986 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
5987 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
5988 * testsuite/util/specfun_testcase.h: New.
5989 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
5990 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
5991 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
5992 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
5993 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
5994 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
5995 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
5997 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
6000 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
6001 and isnan functions.
6002 * config.h.in: Regenerate.
6003 * configure: Regenerate.
6004 * include/c_global/cmath (isinf(double), isnan(double))
6005 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
6006 * testsuite/26_numerics/headers/cmath/48891.cc: New.
6008 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6011 * configure.host (abi_baseline_pair): Use separate baseline for
6012 Solaris 11+ and Solaris 10 with gld.
6013 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
6014 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
6015 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
6017 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
6020 * include/std/type_traits: Following N4511, reimplement __is_swappable
6021 and __is_nothrow_swappable. Move __is_swappable to namespace std,
6022 adjust callers. Use __is_nothrow_swappable in swap.
6023 * include/bits/move.h: Use __is_nothrow_swappable in swap.
6024 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
6025 __is_swappable related tests.
6026 * testsuite/20_util/is_swappable/value.cc: New.
6027 * testsuite/20_util/is_swappable/requirements/
6028 explicit_instantiation.cc: New.
6029 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
6030 * testsuite/25_algorithms/swap/68877.cc: New.
6032 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
6034 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
6038 * include/std/functional (function::_Invoke): Remove, use result_of.
6039 (function::_Callable): Replace alias template with class template
6040 and use partial specialization instead of _NotSelf alias template.
6041 (function(_Functor)): Add "not self" constraint so that _Callable is
6042 not used while type is incomplete.
6043 * testsuite/20_util/function/69222.cc: New.
6045 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
6048 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
6049 Define partial specialization.
6050 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
6051 destroy members to std::allocator explicit specialization.
6053 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
6055 * testsuite/26_numerics/headers/cmath/
6056 c99_classification_macros_c++.cc: Rename to ...
6057 * testsuite/26_numerics/headers/cmath/
6058 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
6059 * testsuite/26_numerics/headers/cmath/
6060 c99_classification_macros_c++0x.cc: Rename to ...
6061 * testsuite/26_numerics/headers/cmath/
6062 c99_classification_macros_c++11.cc: Here.
6065 * include/bits/uses_allocator.h: Add missing include.
6067 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
6072 * include/bits/stl_iterator.h (back_insert_iterator,
6073 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
6074 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
6075 * include/std/future (__future::base::_State_baseV2::__setter):
6077 * include/std/scoped_allocator (__outermost): Likewise.
6078 * testsuite/20_util/scoped_allocator/69114.cc: New.
6079 * testsuite/20_util/uses_allocator/69114.cc: New.
6080 * testsuite/30_threads/promise/69106.cc: New.
6082 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
6085 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
6086 Remove _GLIBCXX_NOEXCEPT.
6087 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
6089 * include/Makefile.am: Adjust.
6090 * include/Makefile.in: Regenerate.
6091 * include/bits/mutex.h: Rename to bits/std_mutex.h.
6092 * include/std/condition_variable: Adjust include.
6093 * include/std/mutex: Likewise.
6095 2016-01-04 Jakub Jelinek <jakub@redhat.com>
6097 Update copyright years.
6099 Copyright (C) 2016 Free Software Foundation, Inc.
6101 Copying and distribution of this file, with or without modification,
6102 are permitted in any medium without royalty provided the copyright
6103 notice and this notice are preserved.