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