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