1.cc: Remove 'test' variables.
[official-gcc.git] / libstdc++-v3 / ChangeLog
bloba87971f9fe89a82abde3a4987b88d65e259d0d08
1 2016-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
3         * testsuite/26_numerics/accumulate/1.cc: Remove 'test' variables.
4         * testsuite/26_numerics/adjacent_difference/1.cc: Likewise.
5         * testsuite/26_numerics/complex/13450.cc: Likewise.
6         * testsuite/26_numerics/complex/50880.cc: Likewise.
7         * testsuite/26_numerics/complex/c99.cc: Likewise.
8         * testsuite/26_numerics/complex/cons/48760.cc: Likewise.
9         * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
10         * testsuite/26_numerics/complex/dr781_dr1137.cc: Likewise.
11         * testsuite/26_numerics/complex/dr844.cc: Likewise.
12         * testsuite/26_numerics/complex/inserters_extractors/char/1.cc:
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.
601 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
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.
623 2016-10-14  Tim Shen  <timshen@google.com>
625         PR libstdc++/77944
626         * include/std/variant: Include <bits/funcexcept.h> for __try and
627         __catch.
629 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
631         * include/std/functional (_Reference_wrapper_base_impl): Remove.
632         (_Refwrap_base_arg1, _Refwrap_base_arg2): New helpers using __void_t.
633         (_Reference_wrapper_base): Inherit from new helpers.
635 2016-10-13  Paolo Carlini  <paolo.carlini@oracle.com>
637         * testsuite/24_iterators/container_access.cc: Remove 'test' variables.
638         * testsuite/24_iterators/istream_iterator/2.cc: Likewise.
639         * testsuite/24_iterators/istreambuf_iterator/2.cc: Likewise.
640         * testsuite/24_iterators/istreambuf_iterator/2627.cc: Likewise.
641         * testsuite/24_iterators/operations/next.cc: Likewise.
642         * testsuite/24_iterators/operations/prev.cc: Likewise.
643         * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
644         * testsuite/24_iterators/random_access_iterator/26020.cc: Likewise.
645         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
646         * testsuite/24_iterators/reverse_iterator/11729.cc: Likewise.
647         * testsuite/24_iterators/reverse_iterator/3.cc: Likewise.
648         * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
649         * testsuite/25_algorithms/all_of/1.cc: Likewise.
650         * testsuite/25_algorithms/any_of/1.cc: Likewise.
651         * testsuite/25_algorithms/binary_search/2.cc: Likewise.
652         * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
653         * testsuite/25_algorithms/clamp/1.cc: Likewise.
654         * testsuite/25_algorithms/clamp/2.cc: Likewise.
655         * testsuite/25_algorithms/copy/1.cc: Likewise.
656         * testsuite/25_algorithms/copy/2.cc: Likewise.
657         * testsuite/25_algorithms/copy/3.cc: Likewise.
658         * testsuite/25_algorithms/copy/34595.cc: Likewise.
659         * testsuite/25_algorithms/copy/4.cc: Likewise.
660         * testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
661         * testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
662         * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
663         * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
664         * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
665         * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
666         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
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.
1035 2016-10-13  Jonathan Wakely  <jwakely@redhat.com>
1037         * include/bits/shared_ptr_base.h: Include <functional>.
1038         [!__cpp_rtti]: Do not include <typeinfo>.
1039         * include/experimental/array: Do not include <functional>.
1040         * include/experimental/memory: Include <bits/functional_hash.h>
1041         instead of <functional>.
1042         * include/experimental/propagate_const: Include <bits/stl_function.h>,
1043         <bits/functional_hash.h>, and <bits/move.h> instead of <functional>.
1044         * include/experimental/tuple: Do not include <functional>.
1045         * include/std/future: Include <functional>.
1046         * include/std/memory: Do not include <functional>.
1047         * include/std/mutex: [_GLIBCXX_HAVE_TLS]: Likewise.
1048         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
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.
1067         * testsuite/experimental/algorithm/sample.cc: Add missing header.
1069         * include/experimental/propagate_const (element_type): Qualify
1070         declval.
1072         * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
1073         instead of assert.
1075         * include/experiumental/functional (boyer_moore_searcher)
1076         (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
1077         with _GLIBCXX_STD_C.
1078         * include/std/functional: Likewise.
1080         * include/std/chrono (floor): Replace non-constexpr operation.
1081         * testsuite/20_util/duration_cast/rounding.cc: Test conversion to
1082         durations with floating pointer representations.
1084         * src/c++11/compatibility-thread-c++0x.cc (_Bind_simple)
1085         (_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols.
1087         * include/std/functional (_Bind_simple, _Bind_simple_helper)
1088         (__bind_simple): Remove.
1089         * include/std/future: Include <bits/invoke.h> instead of <functional>.
1090         (__future_base::_Task_state::_M_run)
1091         (__future_base::_Task_state::_M_run_delayed): Use lambda expressions
1092         instead of __bind_simple.
1093         (__future_base::_Task_state::_S_maybe_wrap_ref): Remove.
1094         (async): Use thread::__make_invoker instead of __bind_simple.
1095         * include/std/thread: Include <tuple> and <bits/invoke.h> instead of
1096         <functional>.
1097         (thread::_Invoker, thread::__make_invoker): Define helpers to do
1098         INVOKE(DECAY_COPY(f), DECAY_COPY(args)...).
1100         * include/std/functional (_Not_fn): Make exception specifications
1101         depend on whether negating the result can throw.
1102         * testsuite/20_util/not_fn/1.cc: Move to ...
1103         * testsuite/20_util/function_objects/not_fn/1.cc: ... here. Add tests
1104         for types that can throw when negated and that cannot be negated.
1106         * include/bits/invoke.h (__invoke): Fix exception-specification.
1107         * include/std/functional (invoke): Likewise.
1108         * testsuite/20_util/function_objects/invoke/1.cc: New test.
1110 2016-10-12  Paolo Carlini  <paolo.carlini@oracle.com>
1112         * testsuite/util/testsuite_hooks.h: Rewrite VERIFY in terms of
1113         __builtin_printf and __builtin_abort.
1114         * testsuite/lib/libstdc++.exp: Remove _GLIBCXX_ASSERT use.
1115         * scripts/testsuite_flags.in: Likewise.
1116         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
1117         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
1118         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
1119         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
1120         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise, adjust.
1121         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
1122         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
1123         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
1124         * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
1125         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1126         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
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.
1799         * doc/xml/manual/test.xml: Fix typo.
1801 2016-10-12  Jonathan Wakely  <jwakely@redhat.com>
1803         * doc/xml/manual/status_cxx2017.xml: Add std::sample status.
1804         * doc/html/*: Regenerate.
1805         * include/experimental/algorithm (__sample): Move to bits/stl_algo.h
1806         and into namespace std.
1807         * include/bits/stl_algo.h (__sample): Define here. Fix invalid use
1808         of input iterator. Defend against overloaded comma operator.
1809         (sample): Define for C++17.
1810         * testsuite/25_algorithms/sample/1.cc: New test.
1812         * testsuite/util/testsuite_common_types.h
1813         (bitwise_assignment_operators): Use direct-initialization for C++11
1814         and later, to avoid CopyConstructible requirement.
1815         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
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.
1823         * include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove.
1824         (call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call.
1826         * include/bits/stl_uninitialized.h
1827         (__uninitialized_default_novalue_n_1<true>): Add missing return.
1828         * testsuite/20_util/specialized_algorithms/memory_management_tools/
1829         1.cc: Check return values of uninitialized_xxx_n algorithms.
1831         * libsupc++/nested_exception.h (throw_with_nested): Remove return.
1833         * doc/xml/manual/intro.xml: Document LWG 2442 status.
1834         * include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
1835         [_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define
1836         partial specialization to unpack args and forward to std::invoke.
1837         (call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call
1838         instead of __bind_simple and __once_call_impl.
1839         (call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of
1840         __bind_simple.
1841         * testsuite/30_threads/call_once/dr2442.cc: New test.
1843 2016-10-11  Jonathan Wakely  <jwakely@redhat.com>
1845         * include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
1846         _M_assign_dispatch directly with correct tag.
1848         * doc/xml/manual/intro.xml: Document LWG 2484 status.
1849         * libsupc++/nested_exception.h (_Throw_with_nested_impl)
1850         (_Throw_with_nested_helper): Remove.
1851         (__throw_with_nested_impl): New overloaded functions to implement
1852         throw_with_nested logic.
1853         (throw_with_nested): Call __throw_with_nested_impl.
1854         (_Rethrow_if_nested_impl): Remove
1855         (__rethrow_if_nested_impl): New overloaded functions to implement
1856         rethrow_if_nested logic.
1857         (rethrow_if_nested): Call __rethrow_if_nested_impl.
1858         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
1859         problem cases from LWG 2484.
1861         * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
1862         Register printer for std::__cxx11::list.
1863         * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
1864         std::__cxx11::list as well as std::list.
1866         * include/experimental/string_view (basic_string_view::_S_compare):
1867         Remove redundant const from return type.
1868         * include/std/string_view (basic_string_view:_S_compare): Likewise.
1870         * include/bits/std_mutex.h (mutex::native_handle)
1871         (lock_guard(mutex_type&, adopt_lock_t)
1872         (unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
1873         * include/std/mutex (recursive_mutex, timed_mutex)
1874         (recursive_timed_mutex): Likewise.
1876 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
1878         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
1879         Replace <literallayout> with nested <variablelist> elements. Update
1880         some more outdated text.
1881         * doc/html/*: Regenerate.
1883 2016-10-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
1885         Make any's copy assignment operator exception-safe,
1886         don't copy the underlying value when any is moved,
1887         make in_place constructors explicit.
1888         * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)):
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.
1903 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
1905         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
1906         Describe other subdirectories and add markup. Remove outdated
1907         reference to check-script target.
1908         * doc/html/*: Regenerate.
1910         * doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
1912         * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
1913         with noexcept.
1915         * include/std/functional (_Bind_result::__enable_if_void): Use alias
1916         template instead of class template.
1917         (_Bind_result::__disable_if_void): Likewise.
1918         (_Bind_result::__call): Adjust uses of __enable_if_void and
1919         __disable_if_void.
1921         * doc/xml/manual/intro.xml: Document DR 2296 status.
1922         * doc/xml/manual/status_cxx2017.xml: Update status.
1923         * include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and
1924         call __builtin_addressof.
1925         (addressof): Add _GLIBCXX17_CONSTEXPR.
1926         * testsuite/20_util/addressof/requirements/constexpr.cc: New test.
1927         * testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno.
1928         * testsuite/20_util/forward/f_neg.cc: Likewise.
1930         * include/bits/allocator.h (allocator<T>::is_always_equal): Define.
1931         * testsuite/20_util/allocator/requirements/typedefs.cc: Test for
1932         is_always_equal.
1933         * testsuite/util/testsuite_allocator.h
1934         (uneq_allocator::is_always_equal): Define as false_type.
1936         * include/experimental/numeric (gcd, lcm): Make bool arguments
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.
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.
1949 2016-10-07  Jonathan Wakely  <jwakely@redhat.com>
1951         * doc/xml/manual/status_cxx1998.xml: Improve documentation of
1952         implementation-defined properties.
1953         * doc/xml/manual/status_cxx2011.xml: Likewise.
1954         * doc/xml/manual/status_cxx2017.xml: Likewise.
1956         * doc/xml/manual/status_cxx2017.xml: Update status.
1957         * include/std/type_traits (has_unique_object_representations): Define.
1958         * testsuite/20_util/has_unique_object_representations/value.cc: New.
1959         * testsuite/20_util/has_unique_object_representations/requirements/
1960         explicit_instantiation.cc: New.
1961         * testsuite/20_util/has_unique_object_representations/requirements/
1962         typedefs.cc: New.
1964 2016-10-06  Jonathan Wakely  <jwakely@redhat.com>
1966         * doc/xml/manual/status_cxx2011.xml: Update status.
1967         * include/std/scoped_allocator (__outer_allocator_t, __outermost_type):
1968         New helpers for recursive OUTERMOST.
1969         (__outermost): Use __outermost_type::_S_outermost.
1970         (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove.
1971         (scoped_allocator_adaptor::__outermost_alloc_traits): Use new
1972         __outermost_type helper.
1973         (scoped_allocator_adaptor::_Constructible): New alias template.
1974         (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>):
1975         Constrain template constructors.
1976         * testsuite/20_util/scoped_allocator/3.cc: New test.
1977         * testsuite/20_util/scoped_allocator/outermost.cc: New test.
1979 2016-10-05  Jonathan Wakely  <jwakely@redhat.com>
1981         PR libstdc++/70564
1982         * testsuite/20_util/not_fn/1.cc: Fix test.
1983         * testsuite/experimental/functional/not_fn.cc: Likewise.
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.
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.
2005         * include/bits/node_handle.h (_Node_handle): Remove invalid and unused
2006         alias declaration.
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.
2017 2016-10-03  François Dumont  <fdumont@gcc.gnu.org>
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.
2024 2016-10-03  Jonathan Wakely  <jwakely@redhat.com>
2026         * doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status.
2027         * doc/html/*: Regenerate.
2028         * include/experimental/numeric (__abs): Move to <numeric>.
2029         (gcd, lcm): Use __detail::gcd and __detail::lcm.
2030         * include/std/numeric (__detail::__abs_integral)
2031         (__detail::__gcd, __detail::__lcm): Define.
2032         (gcd, lcm): Define for C++17.
2033         * testsuite/26_numerics/gcd/1.cc: New test.
2034         * testsuite/26_numerics/lcm/1.cc: New test.
2035         * testsuite/experimental/numeric/gcd.cc: Swap contents with ...
2036         * testsuite/experimental/numeric/lcd.cc: ... this.
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.
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>.
2092 2016-10-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
2094         PR libstdc++/77802
2095         * testsuite/20_util/tuple/77802.cc: New.
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.
2122 2016-09-30  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
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.
2158 2016-09-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
2160         Make optional::reset noexcept, make optional::value
2161         work in constant expressions.
2162         * include/std/optional (_M_get): Make constexpr.
2163         (reset): Make noexcept.
2164         * testsuite/20_util/optional/assignment/7.cc: New.
2165         * testsuite/20_util/optional/observers/6.cc: New.
2167 2016-09-29  Jonathan Wakely  <jwakely@redhat.com>
2169         * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads
2170         outside _GLIBCXX_USE_C99_MATH_TR1 condition.
2172 2016-09-29  Alan Modra  <amodra@gmail.com>
2174         * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST.
2175         * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo):
2176         Use LONG_DOUBLE_COMPAT_FLAGS.
2177         * Makefile.in: Regenerate.
2178         * configure: Regenerate.
2179         * doc/Makefile.in: Regenerate.
2180         * include/Makefile.in: Regenerate.
2181         * libsupc++/Makefile.in: Regenerate.
2182         * po/Makefile.in: Regenerate.
2183         * python/Makefile.in: Regenerate.
2184         * src/Makefile.in: Regenerate.
2185         * src/c++11/Makefile.in: Regenerate.
2186         * src/c++98/Makefile.in: Regenerate.
2187         * src/filesystem/Makefile.in: Regenerate.
2188         * testsuite/Makefile.in: Regenerate.
2190 2016-09-28  Jonathan Wakely  <jwakely@redhat.com>
2192         * include/std/chrono (system_clock): Fix typo in comment.
2194         * include/experimental/bits/fs_fwd.h (file_time_type): Simplify
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.
2203         PR libstdc++/77686
2204         * include/std/functional (_Any_data): Add may_alias attribute.
2206 2016-09-27  Jonathan Wakely  <jwakely@redhat.com>
2208         * doc/xml/manual/status_cxx2017.xml: Update status.
2209         * doc/html/*: Regenerate.
2210         * include/std/functional (__cpp_lib_boyer_moore_searcher): Define.
2211         * testsuite/20_util/function_objects/searchers.cc: Test feature macro.
2213         * doc/xml/manual/status_cxx2017.xml: Update status.
2214         * include/c_global/cmath (hypot): Add three-dimensional overloads.
2215         * testsuite/26_numerics/headers/cmath/hypot.cc: New.
2217 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
2225 2016-09-26  François Dumont  <fdumont@gcc.gnu.org>
2227         * include/debug/safe_base.h
2228         (_Safe_iterator_base::_M_detach_single): Make public.
2230 2016-09-26  Jonathan Wakely  <jwakely@redhat.com>
2232         * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
2233         redefine macro defined in <bits/stl_iterator.h>.
2235         * include/bits/stl_map.h (map::extract(const_iterator)): Assert that
2236         iterator is not past-the-end.
2237         * include/bits/stl_multimap.h (multimap::extract(const_iterator)):
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.
2247 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
2249         PR libstdc++/77717
2250         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
2251         Fix an out-of-bounds access.
2253 2016-09-26  Marek Polacek  <polacek@redhat.com>
2255         PR c/7652
2256         * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]].
2258 2016-09-25  François Dumont  <fdumont@gcc.gnu.org>
2260         * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
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.
2265         * include/debug/bitset (bitset::reference::reference(const _Base_ref&,
2266         bitset*)): Remove __unused__ attribute.
2267         * include/debug/safe_base.h (_Safe_iterator_base): Make
2268         _Safe_sequence_base a friend.
2269         (_Safe_iterator_base::_M_attach): Make protected.
2270         (_Safe_iterator_base::_M_attach_single): Likewise.
2271         (_Safe_iterator_base::_M_detach): Likewise.
2272         (_Safe_iterator_base::_M_detach_single): Likewise.
2273         (_Safe_sequence_base): Make _Safe_iterator_base a friend.
2274         (_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New.
2275         (_Safe_sequence_base::_M_swap): Make protected.
2276         (_Safe_sequence_base::_M_attach): Make private.
2277         (_Safe_sequence_base::_M_attach_single): Likewise.
2278         (_Safe_sequence_base::_M_detach): Likewise.
2279         (_Safe_sequence_base::_M_detach_single): Likewise.
2280         * include/debug/safe_container.h
2281         (_Safe_container::_Safe_container(_Safe_container&&)): Make default.
2282         * include/debug/safe_iterator.h
2283         (_Safe_iterator::operator++()): Name __scoped_lock instance.
2284         * include/debug/safe_iterator.tcc: Remove trailing line.
2285         * include/debug/safe_unordered_base.h
2286         (_Safe_local_iterator_base::_M_attach): Make protected.
2287         (_Safe_local_iterator_base::_M_attach_single): Likewise.
2288         (_Safe_local_iterator_base::_M_detach): Likewise.
2289         (_Safe_local_iterator_base::_M_detach_single): Likewise.
2290         (_Safe_unordered_container_base): Make _Safe_local_iterator_base friend.
2291         (_Safe_unordered_container_base::_M_attach_local): Make private.
2292         (_Safe_unordered_container_base::_M_attach_local_single): Likewise.
2293         (_Safe_unordered_container_base::_M_detach_local): Likewise.
2294         (_Safe_unordered_container_base::_M_detach_local_single): Likewise.
2296         * include/parallel/algo.h: Generalize usage of std::__iterator_category.
2297         Adjust whitespaces.
2299 2016-09-23  Jonathan Wakely  <jwakely@redhat.com>
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.
2310         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
2311         (basic_string::erase(size_type, size_type)): Add fast path for
2312         truncating the string, by calling _M_set_length directly.
2313         (basic_string::erase(__const_iterator, __const_iterator)): Likewise.
2314         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
2315         (basic_string::resize(size_type, _CharT)): Likewise.
2317 2016-09-22  Jason Merrill  <jason@redhat.com>
2319         * configure.ac: Define HAVE_MEMALIGN for newlib.
2321 2015-09-23  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2323         * config/cpu/m68k/atomicity.h: Adjust comment.
2324         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
2325         explicit atomicity_dir setup via configure.host.
2326         * configure.host (rtems-*): Set atomicity_dir.
2327         * configure: Regenerate.
2329 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
2331         Implement C++17 node extraction and insertion (P0083R5)
2332         * doc/xml/manual/status_cxx2017.xml: Document status.
2333         * doc/html/*: Regenerate.
2334         * include/Makefile.am: Add bits/node_handle.h and reorder.
2335         * include/Makefile.in: Regenerate.
2336         * include/bits/hashtable.h (_Hashtable::node_type)
2337         (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node)
2338         (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract)
2339         (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define.
2340         (_Hash_merge_helper): Define primary template.
2341         * include/bits/node_handle.h: New header.
2342         * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as
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.
2429 2016-09-22  Ville Voutilainen  <ville.voutilainen@gmail.com>
2431         Fix tests on old arm platforms for optional.
2432         * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
2434 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
2436         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for
2437         recent change to _Variant_storage.
2438         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with
2439         reference type.
2441         * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify
2442         std::forward and ::new. Cast pointer to void*.
2443         * include/std/variant (_Variant_storage, _Union, _Variant_base)
2444         (__access, __visit_invoke, variant, visit): Qualify std::forward.
2445         * testsuite/20_util/variant/compile.cc: Test for ADL problems.
2447 2016-09-22  Tim Shen  <timshen@google.com>
2449         * include/std/variant (variant::operator=): Fix assignment
2450         on references.
2451         * testsuite/20_util/variant/compile.cc: Add test.
2453 2016-09-22  Tim Shen  <timshen@google.com>
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.
2460 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
2477 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
2479         Implement LWG 2729 for tuple.
2480         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
2481         Suppress conditionally.
2482         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
2483         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
2484         (_Tuple_impl(const _Head&)): Constrain.
2485         (_Tuple_impl(_UHead&&)): Likewise.
2486         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
2487         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
2488         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
2489         (operator=(const tuple&)): Enable conditionally.
2490         (operator=(tuple&&)): Suppress conditionally.
2491         (operator=(const tuple<_UElements...>&)): Constrain.
2492         (operator=(tuple<_UElements...>&&)): Likewise.
2493         (operator=(const tuple&)): Enable conditionally (2-param tuple).
2494         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
2495         (operator=(const tuple<_U1, _U2>&)): Constrain.
2496         (operator=(tuple<_U1, _U2>&&)): Likewise.
2497         (operator=(const pair<_U1, _U2>&)): Likewise.
2498         (operator=(pair<_U1, _U2>&&)): Likewise.
2499         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
2500         * testsuite/20_util/tuple/tuple_traits.cc: New.
2502 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
2525 2016-09-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
2552 2016-09-20  Jonathan Wakely  <jwakely@redhat.com>
2554         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
2555         (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
2557 2016-09-19  Jonathan Wakely  <jwakely@redhat.com>
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.
2564         * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
2566         * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
2567         display_hint to be set by subclasses.
2568         (StdVariantPrinter): Use array for display_hint. Adjust output to be
2569         more similar to std::any and std::optional output.
2570         (register_type_printers): Add type printers for basic_string_view
2571         typedefs and experimental::any. Adjust type printers for
2572         fundamentals_v1 templates to match fundamentals_v2 and later.
2573         * testsuite/libstdc++-prettyprinters/cxx17.cc: New.
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.
2581 2016-09-17  Jonathan Wakely  <jwakely@redhat.com>
2583         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
2584         (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
2585         Register for C++17 components in namespace std. Strip inline namespace
2586         from typename.
2588 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
2590         * doc/xml/manual/profile_mode.xml: Fix typo.
2591         * doc/html/manual/profile_mode_devel.html: Regenerate.
2593 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
2594             Marc Glisse  <marc.glisse@inria.fr>
2596         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
2597         (operator new(size_t, align_val_t)): Replace modulus operator with
2598         mask.
2600 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
2602         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
2603         Increase alignment if less than sizeof(void*).
2604         [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
2605         Increase size if not a multiple of alignment.
2607 2016-09-15  Jonathan Wakely  <jwakely@redhat.com>
2609         * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
2610         * doc/html/*: Regenerate.
2612         * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
2613         -Wno-deprecated.
2614         * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
2616 2016-09-14  Marek Polacek  <polacek@redhat.com>
2618         * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
2619         -Wno-deprecated.
2621 2016-09-14  Christophe Lyon  <christophe.lyon@linaro.org>
2623         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
2624         Move dg-do directive before dg-skip.
2625         * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
2626         Move dg-do directive before dg-require.
2627         * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
2628         * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
2629         * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
2630         * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
2631         * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
2632         * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
2633         * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
2634         * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
2635         * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
2636         * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
2637         * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
2638         * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
2639         * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
2640         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
2641         * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
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.
2649 2016-09-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
2651         Implement P0040R3, Extending memory management tools.
2652         * include/bits/stl_uninitialized.h (utility): New include
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.
2664 2016-09-12  Jason Merrill  <jason@redhat.com>
2666         * config/abi/pre/gnu.ver: Use [jmy] for size_t.
2668 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
2670         Implement P0253R1, Fixing a design mistake in the searchers
2671         interface in Library Fundamentals.
2672         * include/std/functional: (utility): New include in C++17 mode.
2673         (default_searcher): Use a pair as return type, adjust the definition.
2674         (boyer_moore_searcher): Likewise.
2675         (boyer_moore_horspool_searcher): Likewise.
2676         * testsuite/20_util/function_objects/searchers.cc: Adjust.
2678 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
2680         Implement C++17 string searchers.
2681         * include/std/functional: (unordered_map, vector): New includes
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.
2692 2016-09-12  Matthew Wahab  <matthew.wahab@arm.com>
2694         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
2695         Move dg-do directive before dg-require.
2696         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
2697         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
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.
2997 2016-09-11  Jonathan Wakely  <jwakely@redhat.com>
2999         * libsupc++/new_opant.cc: Include exception_defines.h.
3000         * libsupc++/new_opvant.cc: Likewise.
3002 2016-09-09  Jason Merrill  <jason@redhat.com>
3004         Implement P0035R4, C++17 new of over-aligned types.
3005         * libsupc++/new: Declare aligned new/delete operators.
3006         * config/abi/pre/gnu.ver: Export them.
3007         * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
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.
3021 2016-09-05  Tim Shen  <timshen@google.com>
3023         * include/std/variant: include bits/move.h for std::addressof.
3025 2016-09-05  Mikhail Strelnikov  <mikhail.strelnikov@gmail.com>
3027         * include/std/variant (_Variant_storage::_M_storage()): Use
3028         std::addressof instead of operator& to take address.
3030 2016-09-02  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
3032         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
3033         setrlimit on both native and cross targets.
3034         * configure: Regenerate.
3036 2016-08-31  Jonathan Wakely  <jwakely@redhat.com>
3038         * include/bits/shared_ptr.h (_Assignable): New alias template.
3039         (shared_ptr::operator=(const shared_ptr<_Tp1>&))
3040         (shared_ptr::operator=(shared_ptr<_Tp1>&&))
3041         (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
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.
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.
3063         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
3064         New test.
3066 2016-08-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
3078 2016-08-30  Uros Bizjak  <ubizjak@gmail.com>
3080         * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
3081         directive above dg-require-namedlocale directive.
3082         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
3083         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
3084         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
3085         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
3086         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
3088 2016-08-27  Tim Shen  <timshen@google.com>
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.
3099 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
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.
3108         * testsuite/*: Use { target c++11 } or { target c++14 } instead of
3109         using -std in dg-options.
3111 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
3112             Pedro Alves  <palves@redhat.com>
3114         * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
3115         and restore dg-interpreter-batch-mode.
3116         * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
3117         gdb-dg-runtest instead of dg-runtest.
3118         * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
3120 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
3122         * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
3123         precise patterns for basic_string constructors.
3124         (GLIBCXX_3.4.23): Export new constructors.
3125         * doc/xml/manual/intro.xml: Document LWG 2583 status.
3126         * doc/html/*: Regenerate.
3127         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
3128         (basic_string(const basic_string&, size_type, const Alloc&)): Add
3129         new constructor for LWG 2583.
3130         (basic_string(const basic_string&, size_type, size_type)): Remove
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.
3137 2016-08-24  Aditya Kumar  <hiraditya@msn.com>
3139         * include/bits/algorithmfwd.h: Remove trailing whitespace.
3140         * include/bits/shared_ptr_base.h: Likewise.
3142 2016-08-23  Jonathan Wakely  <jwakely@redhat.com>
3144         * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
3145         * include/profile/array (array): Likewise.
3146         (array::swap): Fix exception specification for zero-sized arrays.
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.
3153         * doc/xml/manual/using.xml: Remove reference to -pthreads option.
3154         * doc/html/*: Regenerate.
3156         * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
3157         * testsuite/experimental/feat-lib-fund.cc: Likewise.
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.
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.
3194 2016-08-22  Tim Shen  <timshen@google.com>
3196         Split _M_dfs() into smaller functions.
3197         * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
3198         (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
3199         (_M_handle_line_end_assertion, _M_handle_word_boundary)
3200         (_M_handle_subexpr_lookahead, _M_handle_match)
3201         (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
3202         Add separate function declarations.
3203         * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
3205 2016-08-22  Gleb Natapov  <gleb@scylladb.com>
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.
3232 2016-08-22  Jonathan Wakely  <jwakely@redhat.com>
3234         * doc/xml/api.xml: Replace hardcoded links for specific versions with
3235         link to docs for all releases.
3236         * doc/html/*: Regenerate.
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.
3244 2016-08-19  Jonathan Wakely  <jwakely@redhat.com>
3246         * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
3247         *-*-solaris* instead of -pthreads.
3248         * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
3249         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
3250         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
3251         * testsuite/23_containers/list/pthread1.cc: Likewise.
3252         * testsuite/23_containers/list/pthread5.cc: Likewise.
3253         * testsuite/23_containers/map/pthread6.cc: Likewise.
3254         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
3255         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
3256         * testsuite/30_threads/shared_mutex/*: Likewise.
3257         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
3258         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3259         default_weaktoshared.cc: Likewise.
3260         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3261         mutex_weaktoshared.cc: Likewise.
3262         * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
3263         dg-require-effective-target instead of using -std option.
3264         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
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.
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.
3298         * include/std/atomic (atomic::is_always_lock_free): Define.
3299         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
3300         * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
3301         * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
3302         * doc/xml/manual/status_cxx2017.xml: Update status.
3303         * doc/html/*: Regenerate.
3305         * include/experimental/tuple (apply): Qualify call to __apply_impl.
3306         * include/std/tuple (apply): Likewise.
3307         * testsuite/experimental/system_error/value.cc: Fix ambiguities in
3308         C++17 mode.
3309         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
3310         * testsuite/experimental/type_traits/value.cc: Likewise.
3312         * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
3313         and variant.
3314         * doc/html/*: Regenerate.
3316 2016-08-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
3318         Implement the latest proposed resolution of LWG 2756.
3319         * include/std/optional (Optional_base(const _Tp&))
3320         (Optional_base(_Tp&&), using _Base::_Base): Remove.
3321         (optional(nullopt_t)): New.
3322         (optional(_Up&&)): Invoke base directly with in_place
3323         rather than creating a temporary, add default template
3324         argument, change constraints.
3325         (optional(const optional<_Up>&)): Invoke base directly
3326         with in_place, remove unnecessary constraints.
3327         (optional(optional<_Up>&& __t)): Likewise.
3328         (optional(in_place_t, _Args&&...)): New.
3329         (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
3330         (operator=(_Up&&)): Add default template argument, change constraints.
3331         (operator=(const optional<_Up>&)): Put is_same first in the
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.
3341 2016-08-18  Tim Shen  <timshen@google.com>
3343         Implement <variant>
3345         * include/Makefile.am: Add new file std/variant.
3346         * include/Makefile.in: Generated from Makefile.am.
3347         * include/bits/enable_special_members.h: Add a tag type to allow
3348         the construction in non-default constructor.
3349         * include/bits/uses_allocator.h: Add convenience traits to
3350         detect constructibility.
3351         * include/std/variant: Implement <variant>.
3352         * testsuite/20_util/variant/compile.cc: Compile-time tests.
3353         * testsuite/20_util/variant/run.cc: Runtime tests.
3355 2016-08-18  Jonathan Wakely  <jwakely@redhat.com>
3357         * doc/xml/manual/test.xml (test.run.permutations): Expand section.
3358         (test.new_tests): Rewrite section.
3359         (tests.dg.directives): New section.
3360         * doc/html/*: Regenerate.
3362         * doc/xml/manual/test.xml: Improve documentation of test targets.
3363         Document new-abi-baseline, check-debug, and check-parallel targets.
3365         * doc/xml/manual/build_hacking.xml: New section on shared library
3366         versioning.
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".
3373         * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
3374         dg-options directive.
3376 2016-08-17  Jonathan Wakely  <jwakely@redhat.com>
3378         * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
3379         directive and use effective target instead of dg-options.
3381         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
3382         instead of -std in dg-options.
3383         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
3384         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
3385         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
3386         * testsuite/20_util/hash/quality.cc: Likewise.
3387         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
3388         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
3389         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
3390         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
3391         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
3392         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
3394         * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
3395         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
3396         * testsuite/27_io/rvalue_streams.cc: Likewise.
3398         * testsuite/26_numerics/complex/literals/types.cc: Add comment.
3400         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
3401         Remove duplicate dg-options directive.
3403         * testsuite/ext/profile/all.cc: Use effective target instead of
3404         -std=gnu++11. Use dg-additional-options instead of repeating options.
3406         * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
3407         -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
3408         instead of dg-excess-errors.
3410         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
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.
3428         * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
3429         expected signatures for C++14 compatibility.
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.
3467 2016-08-16  Jonathan Wakely  <jwakely@redhat.com>
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.
3479 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
3481         Implement LWG 2744 and LWG 2754.
3482         * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
3483         (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
3484         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
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.
3498 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
3500         Add a feature macro for C++17 make_from_tuple.
3501         * include/std/tuple (__cpp_lib_make_from_tuple): New.
3502         (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
3503         Qualify the call to get<>().
3504         * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
3506 2016-08-15  Uros Bizjak  <ubizjak@gmail.com>
3508         * src/filesystem/ops.cc: Always include ostream and
3509         ext/stdio_filebuf.h.
3510         (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
3511         [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
3512         sendfile fails with ENOSYS or EINVAL.
3514 2016-08-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
3516         PR libstdc++/72840
3517         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
3518         syntax.
3520 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
3522         Implement C++17 make_from_tuple.
3523         * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
3524         * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
3526 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
3541 2016-08-06  Jonathan Wakely  <jwakely@redhat.com>
3543         * doc/xml/manual/status_cxx2017.xml: Update status table.
3544         * doc/html/manual/status.html: Regenerate.
3546         * testsuite/lib/libstdc++.exp: Fix typo in comment.
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.
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.
3569 2016-08-05  Jonathan Wakely  <jwakely@redhat.com>
3571         * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
3572         * doc/html/manual/status.html: Regenerate.
3574         * include/std/chrono (floor, ceil, round, abs): New for C++17.
3575         * testsuite/20_util/duration_cast/rounding.cc: New test.
3576         * testsuite/20_util/time_point_cast/rounding.cc: New test.
3577         * doc/xml/manual/status_cxx2017.xml: Update status table.
3578         * doc/html/manual/status.html: Regenerate.
3579         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
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.
3585         * include/std/functional (__callable_functor): Remove.
3586         (_Function_handler::_M_invoke): Use __invoke instead of
3587         __callable_functor or mem_fn.
3588         (function::_Callable): Use lvalue in result_of expression.
3589         (function): Remove TODO comments about allocators.
3590         * testsuite/20_util/function/cons/refqual.cc: New test.
3592 2016-08-04  Jonathan Wakely  <jwakely@redhat.com>
3594         * doc/xml/manual/status_cxx2017.xml: Update status table.
3595         * include/std/functional (__inv_unwrap): Move to <type_traits>.
3596         (__invoke_impl): Remove exception specifications.
3597         (__invoke, invoke): Add exception specifications using
3598         __is_nothrow_callable.
3599         * include/std/type_traits (__inv_unwrap): Move from <functional>.
3600         (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
3601         (__is_callable, __is_nothrow_callable): New traits.
3602         (is_callable, is_callable_v): New C++17 traits.
3603         (is_nothrow_callable, is_nothrow_callable_v): Likewise.
3604         * testsuite/20_util/is_callable/requirements/
3605         explicit_instantiation.cc: New test.
3606         * testsuite/20_util/is_callable/requirements/
3607         explicit_instantiation_ext.cc: New test.
3608         * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
3609         * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
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.
3624         * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
3625         * doc/html/manual/status.html: Regenerate.
3627         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
3628         effective target not dg-options. Move check for feature-test macro to:
3629         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
3630         New test.
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.
3640 2016-08-03  Jonathan Wakely  <jwakely@redhat.com>
3642         * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
3643         Define feature-test macro.
3644         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
3645         for the macro.
3647         * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
3648         * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
3649         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
3650         * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
3651         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
3653         * include/std/utility (as_const): Define.
3654         * testsuite/20_util/as_const/1.cc: New test.
3655         * testsuite/20_util/as_const/rvalue_neg.cc: New test.
3657         * include/bits/shared_ptr.h (owner_less): Add default template
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.
3667         * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
3668         Define feature-test macro.
3669         * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
3670         * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
3671         * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
3672         (__cpp_lib_type_trait_variable_templates): Define.
3674         * include/bits/stl_function.h: Remove commented-out macro.
3675         * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
3676         Define feature-test macro.
3677         * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
3679         * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
3680         C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
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.
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.
3732 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
3734         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
3735         Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
3736         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
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.
3749         * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
3750         comments.
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.
3758         * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
3760         * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
3761         options are present that aren't valid for C.
3762         * testsuite/abi/header_cxxabi.c: Likewise.
3764         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
3765         check_value.cc: Do not add special functions to namespace std in TR1
3766         test.
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.
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.
3889 2016-08-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3891         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
3892         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
3893         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
3894         * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
3895         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
3896         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
3898 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
3900         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
3901         test if -flto used.
3903         * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
3904         additional flags for compiling libtestc++.a objects.
3906 2016-08-01  Jonathan Wakely  <jwakely@redhat.com>
3908         * include/bits/basic_string.h (data() const): Update comment.
3909         (data()): Add non-const overload for C++17.
3910         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
3911         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
3913         * include/bits/basic_string.tcc: Disable explicit instantiation
3914         declarations for C++17.
3916         * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
3917         ignored "xfail" from { dg-do compile { xfail selector } } directive.
3918         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
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.
3927         * testsuite/backward/hash_set/check_construct_destroy.cc: Account
3928         for different construct/destroy counts in C++98 mode.
3930         * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
3932         * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
3933         later.
3934         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
3935         Likewise.
3937         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
3938         C++98-compatible initialization for array.
3940         * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
3941         unused header and variable from compile-only test.
3942         * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
3943         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
3944         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
3945         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
3946         Likewise.
3948         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
3949         Remove duplicate dg-options directive.
3951         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
3952         808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
3954         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
3955         linker options from compile-only tests.
3956         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
3957         Likewise.
3959         * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
3960         supported for C++11 and later.
3961         * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
3962         * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
3964 2016-08-01  Uros Bizjak  <ubizjak@gmail.com>
3966         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
3968 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
3970         * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
3971         compile-only test.
3973         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
3974         Ensure test is compiled with optimization.
3976         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
3977         Adjust dg-prune-output pattern for error in C++98 mode.
3979         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
3980         run for C++11 or later.
3982         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
3983         test to not rely on GNU extension (escaped normal characters in POSIX
3984         BRE). Enable tests for other strings which are now supported.
3986         * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
3987         c++11 instead of setting -std=gnu++14.
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.
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.
4015 2016-07-31  Ville Voutilainen  <ville.voutilainen@gmail.com>
4017         Add missing variable traits, fix testsuite failures.
4018         * include/bits/uses_allocator.h (uses_allocator_v): New.
4019         * include/std/functional (is_bind_expression_v, is_placeholder_v):
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.
4034 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
4036         * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
4037         not test 128-bit types.
4038         * testsuite/20_util/is_floating_point/value.cc: Likewise.
4039         * testsuite/20_util/is_integral/value.cc: Likewise.
4040         * testsuite/20_util/is_signed/value.cc: Likewise.
4041         * testsuite/20_util/is_unsigned/value.cc: Likewise.
4042         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
4043         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
4044         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
4045         Likewise.
4046         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
4047         Likewise.
4049         * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
4051 2016-07-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
4053         Implement C++17 variable templates for type traits.
4054         * include/std/chrono (treat_as_floating_point_v): New.
4055         * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
4056         (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
4057         (ratio_greater_equal_v): Likewise.
4058         * include/std/system_error (is_error_code_enum_v)
4059         (is_error_condition_enum_v): Likewise.
4060         * include/std/tuple (tuple_size_v): Likewise.
4061         * type_traits (conjunction_v, disjunction_v, negation_v)
4062         (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
4063         (is_array_v, is_pointer_v, is_lvalue_reference_v)
4064         (is_rvalue_reference_v, is_member_object_pointer_v)
4065         (is_member_function_pointer_v, is_enum_v, is_union_v)
4066         (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
4067         (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
4068         (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
4069         (is_trivially_copyable_v, is_standard_layout_v)
4070         (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
4071         (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
4072         (is_constructible_v, is_default_constructible_v)
4073         (is_copy_constructible_v, is_move_constructible_v)
4074         (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
4075         (is_destructible_v, is_trivially_constructible_v)
4076         (is_trivially_default_constructible_v)
4077         (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
4078         (is_trivially_assignable_v, is_trivially_copy_assignable_v)
4079         (is_trivially_move_assignable_v, is_trivially_destructible_v)
4080         (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
4081         (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
4082         (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
4083         (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
4084         (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
4085         (is_same_v, is_base_of_v, is_convertible_v): Likewise.
4086         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
4087         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
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.
4093 2016-07-29  Andreas Schwab  <schwab@linux-m68k.org>
4095         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
4096         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
4097         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
4099 2016-07-29  Jonathan Wakely  <jwakely@redhat.com>
4101         * doc/xml/manual/abi.xml: Document 6.0.22 library version.
4102         * doc/html/manual/abi.html: Regenerate.
4104         * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
4105         * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
4106         symbols.
4107         * configure: Regenerate.
4108         * testsuite/util/testsuite_abi.cc: Add new symbol version.
4110         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
4111         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
4112         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
4113         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
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.
4119 2016-07-28  Jonathan Wakely  <jwakely@redhat.com>
4121         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
4122         Adjust dg-prune-output pattern for error in C++98 mode.
4123         * testsuite/23_containers/deque/requirements/dr438/
4124         constructor_1_neg.cc: Likewise.
4125         * testsuite/23_containers/deque/requirements/dr438/
4126         constructor_2_neg.cc: Likewise.
4127         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
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.
4144         * testsuite/23_containers/vector/check_construct_destroy.cc: Account
4145         for different construct/destroy counts in C++98 mode.
4147         * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
4148         dg-options to dg-additional-options so that default options are used.
4149         * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
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.
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.
4163 2016-07-28  Ville Voutilainen  <ville.voutilainen@gmail.com>
4165         Implement std::string_view and P0254r2,
4166         Integrating std::string_view and std::string.
4167         * include/Makefile.am: Add string_view and string_view.tcc
4168         to the exported headers.
4169         * include/Makefile.in: Likewise.
4170         * include/bits/basic_string.h: Include <string_view> in C++17 mode.
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.
4341 2016-07-27  Jonathan Wakely  <jwakely@redhat.com>
4343         * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
4345 2016-07-25  Georeth Chow  <georeth2010@gmail.com>
4347         * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
4348         _S_concat enumerator.
4349         * testsuite/ext/rope/6.cc: New test.
4351 2016-07-25  Jonathan Wakely  <jwakely@redhat.com>
4353         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
4354         std::mt19937, std::thread and std::atomic to simplify test.
4355         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4357 2016-07-22  Jonathan Wakely  <jwakely@redhat.com>
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.
4366         * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
4367         delete[] instead of delete.
4369 2016-07-21  Jonathan Wakely  <jwakely@redhat.com>
4371         * include/experimental/propagate_const (propagate_const::__t): Rename
4372         to _M_t and remove comment. Qualify std::move and std::forward.
4373         * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
4375         * testsuite/23_containers/vector/zero_sized_allocations.cc:
4376         Define sized deallocation function.
4377         * testsuite/util/testsuite_new_operators.h:
4378         (operator delete(void*, const std::nothrow_t&)): Define nothrow
4379         deallocation function.
4381         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
4382         reads past the end of strings.
4383         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
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.
4391         * testsuite/24_iterators/container_access.cc: Fix missing returns.
4392         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
4394         * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
4395         leak) memory for arguments to placement delete.
4396         * testsuite/20_util/addressof/1.cc: Don't leak memory.
4397         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
4398         * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
4399         Likewise.
4401 2016-07-20  Jonathan Wakely  <jwakely@redhat.com>
4403         * doc/xml/manual/intro.xml: Document DR 2684 status.
4404         * doc/html/*: Regenerate.
4406         * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
4407         (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
4408         (atomic_uint64_t): Define (LWG 2441).
4409         * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
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.
4415         * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
4416         to use perfect forwarding (LWG 2328).
4417         * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
4418         * doc/xml/manual/intro.xml: Document DR 2328 status.
4420         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
4421         static objects for catching nullptr as pointer to member types.
4423 2016-07-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
4425         Clean up optional's comments.
4426         * include/std/optional: Remove incorrect section headers
4427         from comments when redundant, replace bare section
4428         headers with more descriptive comments.
4430 2016-07-15  Jonathan Wakely  <jwakely@redhat.com>
4432         * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
4433         * include/bits/move.h: Likewise.
4434         * include/bits/postypes.h: Likewise.
4435         * include/debug/bitset: Likewise.
4436         * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
4437         * include/ext/string_conversions.h: Change C++0x to __cxx11 in
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.
4442         * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
4443         and adjust comment.
4445         PR c++/58796
4446         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
4447         nullptr match handlers of pointer type.
4449 2016-07-15  Edward Smith-Rowland  <3dw4rd@verizon.net>
4451         Implement C++17 P0025 clamp.
4452         * include/bits/algorithmfwd.h: Declare clamp overloads.
4453         * include/bits/stl_algo.h: Implement clamp.  Feature __cpp_lib_clamp.
4454         * testsuite/25_algorithms/clamp/1.cc: New test.
4455         * testsuite/25_algorithms/clamp/2.cc: New test.
4456         * testsuite/25_algorithms/clamp/constexpr.cc: New test.
4457         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
4458         1.cc: New test.
4459         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
4460         pod.cc: New test.
4462 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
4464         Fix the constraints for any's assignment operator template to properly
4465         reject assignment from a non-copyable lvalue.
4466         * include/std/any (operator=(_ValueType&&)): Constrain the decayed
4467         type for is_copy_constructible,
4468         * testsuite/20_util/any/requirements.cc: Add a test for
4469         non-copyable lvalues.
4471 2016-07-14  Jonathan Wakely  <jwakely@redhat.com>
4473         * include/experimental/functional: Include <parallel/algorithm> in
4474         Parallel Mode.
4476         * testsuite/experimental/functional/searchers.cc: Include <algorithm>
4477         for std::search.
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.
4495 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
4497         Implement P0032R3, Homogeneous interface for variant, any and optional,
4498         for the parts concerning any and optional.
4499         * include/std/any (_Storage()): Make constexpr and have it
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.
4554 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
4556         Implement P0307R2, Making Optional Greater Equal Again.
4557         * include/experimental/optional (_Has_addressof): Fix the comment.
4558         * include/std/optional (_Has_addressof): Likewise.
4559         (operator=(_Up&&)): Constrain.
4560         (operator=(const optional<_Up>&)): Likewise.
4561         (operator=(optional<_Up>&&)): Likewise.
4562         (__optional_relop_t): New.
4563         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
4564         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
4565         Constrain and make transparent.
4566         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
4567         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
4568         Constrain and make transparent.
4569         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
4570         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
4571         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
4572         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
4573         (operator!=(const optional<_Tp>&, _Tp const&)):
4574         Constrain and make transparent.
4575         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
4576         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
4577         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
4578         (operator>(const optional<_Tp>&, const _Tp&)):
4579         Constrain and make transparent.
4580         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
4581         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
4582         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
4583         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
4584         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
4585         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
4586         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
4587         * testsuite/20_util/optional/relops/1.cc: Likewise.
4588         * testsuite/20_util/optional/relops/2.cc: Likewise.
4589         * testsuite/20_util/optional/relops/3.cc: Likewise.
4590         * testsuite/20_util/optional/relops/4.cc: Likewise.
4591         * testsuite/20_util/optional/requirements.cc: Add tests to verify
4592         that optional's relops are transparent and don't synthesize
4593         operators. Also test that assignment sfinaes.
4595 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
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.
4613         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
4614         (replace(__const_iterator, __const_iterator, initializer_list<C>)):
4615         Forward to different overload.
4617         * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
4618         static.
4620 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
4622         Revert "Add non-const overload of std::string::data()".
4624 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
4626         Implement P0307R2, Making Optional Greater Equal Again.
4627         * include/experimental/optional (_Has_addressof): Fix the comment.
4628         * include/std/optional (_Has_addressof): Likewise.
4629         (operator=(_Up&&)): Constrain.
4630         (operator=(const optional<_Up>&)): Likewise.
4631         (operator=(optional<_Up>&&)): Likewise.
4632         (__optional_relop_t): New.
4633         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
4634         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
4635         Constrain and make transparent.
4636         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
4637         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
4638         Constrain and make transparent.
4639         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
4640         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
4641         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
4642         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
4643         (operator!=(const optional<_Tp>&, _Tp const&)):
4644         Constrain and make transparent.
4645         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
4646         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
4647         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
4648         (operator>(const optional<_Tp>&, const _Tp&)):
4649         Constrain and make transparent.
4650         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
4651         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
4652         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
4653         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
4654         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
4655         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
4656         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
4657         * testsuite/20_util/optional/relops/1.cc: Likewise.
4658         * testsuite/20_util/optional/relops/2.cc: Likewise.
4659         * testsuite/20_util/optional/relops/3.cc: Likewise.
4660         * testsuite/20_util/optional/relops/4.cc: Likewise.
4661         * testsuite/20_util/optional/requirements.cc: Add tests to verify
4662         that optional's relops are transparent and don't synthesize
4663         operators. Also test that assignment sfinaes.
4665 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
4667         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
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.
4697 2016-07-12  Jonathan Wakely  <jwakely@redhat.com>
4699         * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
4700         * doc/xml/manual/intro.xml: Document DR 2458 status.
4701         * doc/html*: Regenerate.
4703         * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
4704         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
4705         Only include <array>.
4706         * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
4707         Likewise.
4708         * doc/xml/manual/intro.xml: Document LWG 2212 support.
4709         * doc/html*: Regenerate.
4711         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
4712         Add testcase from LWG 2164.
4714 2016-07-11  François Dumont  <fdumont@gcc.gnu.org>
4716         * include/bits/stl_vector.h (push_back(const value_type&)): Forward
4717         to _M_realloc_insert.
4718         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
4719         (_M_realloc_insert): Declare new function.
4720         (_M_emplace_back_aux): Remove definition.
4721         * include/bits/vector.tcc (emplace_back(_Args...)):
4722         Use _M_realloc_insert.
4723         (insert(const_iterator, const value_type&)): Likewise.
4724         (_M_insert_rval, _M_emplace_aux): Likewise.
4725         (_M_emplace_back_aux): Remove declaration.
4726         (_M_realloc_insert): Define.
4727         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
4728         Adjust expected results for emplacing an lvalue with reallocation.
4730 2016-07-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
4732         Implement std::optional.
4733         * include/Makefile.am: Add optional to exported headers.
4734         * include/Makefile.in: Likewise.
4735         * include/std/optional: New.
4736         * testsuite/20_util/optional/typedefs.cc: Likewise.
4737         * testsuite/20_util/optional/relops/2.cc: Likewise.
4738         * testsuite/20_util/optional/relops/3.cc: Likewise.
4739         * testsuite/20_util/optional/relops/4.cc: Likewise.
4740         * testsuite/20_util/optional/relops/5.cc: Likewise.
4741         * testsuite/20_util/optional/relops/1.cc: Likewise.
4742         * testsuite/20_util/optional/relops/6.cc: Likewise.
4743         * testsuite/20_util/optional/nullopt.cc: Likewise.
4744         * testsuite/20_util/optional/in_place.cc: Likewise.
4745         * testsuite/20_util/optional/make_optional.cc: Likewise.
4746         * testsuite/20_util/optional/assignment/2.cc: Likewise.
4747         * testsuite/20_util/optional/assignment/3.cc: Likewise.
4748         * testsuite/20_util/optional/assignment/4.cc: Likewise.
4749         * testsuite/20_util/optional/assignment/5.cc: Likewise.
4750         * testsuite/20_util/optional/assignment/1.cc: Likewise.
4751         * testsuite/20_util/optional/assignment/6.cc: Likewise.
4752         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
4753         * testsuite/20_util/optional/cons/default.cc: Likewise.
4754         * testsuite/20_util/optional/cons/move.cc: Likewise.
4755         * testsuite/20_util/optional/cons/value.cc: Likewise.
4756         * testsuite/20_util/optional/cons/copy.cc: Likewise.
4757         * testsuite/20_util/optional/requirements.cc: Likewise.
4758         * testsuite/20_util/optional/observers/2.cc: Likewise.
4759         * testsuite/20_util/optional/observers/3.cc: Likewise.
4760         * testsuite/20_util/optional/observers/4.cc: Likewise.
4761         * testsuite/20_util/optional/observers/5.cc: Likewise.
4762         * testsuite/20_util/optional/observers/1.cc: Likewise.
4763         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
4764         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
4765         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
4766         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
4767         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
4768         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
4769         * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
4770         * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
4771         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
4772         * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
4773         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
4774         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
4775         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
4776         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
4777         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
4778         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
4779         * testsuite/20_util/optional/swap/1.cc: Likewise.
4781 2016-07-08  Jonathan Wakely  <jwakely@redhat.com>
4783         * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
4785 2016-07-07  Jonathan Wakely  <jwakely@redhat.com>
4787         * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
4788         * doc/html/*: Regenerate.
4790 2016-07-07  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
4811 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
4817 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
4819         Implement LWG 2451, optional<T> should 'forward' T's
4820         implicit conversions.
4821         * include/experimental/optional (__is_optional_impl, __is_optional):
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.
4832 2016-07-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
4843 2016-07-04  François Dumont  <fdumont@gcc.gnu.org>
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.
4850 2016-07-04  Jonathan Wakely  <jwakely@redhat.com>
4852         * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
4853         Define inline. Forward to _M_emplace_aux.
4854         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
4855         (_M_insert_rval, _M_emplace_aux): Declare new functions.
4856         (_Temporary_value): New RAII type using allocator to construct/destroy.
4857         (_S_insert_aux_assign): Remove.
4858         (_M_insert_aux): Make non-variadic.
4859         * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
4860         Use _Temporary_value.
4861         (emplace(const_iterator, _Args&&...)): Remove definition.
4862         (_M_insert_rval, _M_emplace_aux): Define.
4863         (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
4864         (_M_fill_insert): Use _Temporary_value.
4865         * testsuite/23_containers/vector/allocator/construction.cc: New test.
4866         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
4867         Adjust expected results for emplacing an lvalue with reallocation.
4868         * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
4869         expected results to account for construction/destruction of temporary
4870         using allocator.
4871         * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
4873 2016-07-04  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
4881 2016-07-02  François Dumont  <fdumont@gcc.gnu.org>
4883         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
4884         dg-error line numbers.
4885         * testsuite/23_containers/array/tuple_interface/
4886         tuple_element_debug_neg.cc: Likewise.
4887         * testsuite/25_algorithms/lexicographical_compare/debug/
4888         irreflexive_neg.cc: Remove.
4890 2016-06-30  Thomas Preud'homme  <thomas.preudhomme@arm.com>
4892         * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
4893         than specific target.
4895 2016-06-27  François Dumont  <fdumont@gcc.gnu.org>
4897         PR libstdc++/71640
4898         * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
4899         friend declaration.
4901 2016-06-23  François Dumont  <fdumont@gcc.gnu.org>
4903         * include/debug/array (array<>::swap): Fix noexcept qualificaton for
4904         zero-size array.
4906 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
4908         * configure.host: Remove mep-* support.
4910 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
4912         * configure: Regenerate.
4913         * configure.host: Remove support for knetbsd.
4914         * crossconfig.m4: Likewise.
4916 2016-06-20  François Dumont  <fdumont@gcc.gnu.org>
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.
4936 2016-06-17  Jonathan Wakely  <jwakely@redhat.com>
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.
4950 2016-06-16  François Dumont  <fdumont@gcc.gnu.org>
4952         * include/debug/debug.h
4953         (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
4954         (__glibcxx_requires_subscript): Move...
4955         * include/debug/assertions.h: ...here and add __builtin_expect.
4956         (_GLIBCXX_DEBUG_ONLY): Remove ; value.
4957         * include/bits/stl_deque.h
4958         (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
4959         (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
4960         (std::deque<>::back()): Likewise.
4961         (std::deque<>::pop_front()): Likewise.
4962         (std::deque<>::pop_back()): Likewise.
4963         (std::deque<>::swap(deque&)): Add allocator check.
4964         * include/bits/stl_vector.h
4965         (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
4966         (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
4967         (std::vector<>::back()): Likewise.
4968         (std::vector<>::pop_back()): Likewise.
4969         (std::vector<>::swap(vector&)): Add allocator check.
4971 2016-06-16  Daniel Kruegler  <daniel.kruegler@gmail.com>
4973         Provide swappable traits (p0185r1)
4974         * include/std/type_traits (is_swappable, is_nothrow_swappable,
4975         is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
4976         is_nothrow_swappable_v, is_swappable_with_v,
4977         is_nothrow_swappable_with_v): New.
4978         * include/bits/stl_pair.h: Use it as per p0185r1.
4979         * include/bits/stl_queue.h: Likewise.
4980         * include/bits/stl_stack.h: Likewise.
4981         * include/bits/unique_ptr.h: Likewise.
4982         * include/std/tuple: Likewise.
4983         * include/std/array: Likewise. Fix zero-size member swap.
4984         * include/bits/hashtable.h: Use __and_.
4985         * testsuite/20_util/is_nothrow_swappable/requirements/
4986         explicit_instantiation.cc: Change test options to std=gnu++17.
4987         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
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.
5019 2016-06-16  Jonathan Wakely  <jwakely@redhat.com>
5021         * include/std/array: Remove trailing whitespace.
5022         * include/std/atomic: Likewise.
5023         * include/std/bitset: Likewise.
5024         * include/std/chrono: Likewise.
5025         * include/std/complex: Likewise.
5026         * include/std/condition_variable: Likewise.
5027         * include/std/fstream: Likewise.
5028         * include/std/functional: Likewise.
5029         * include/std/future: Likewise.
5030         * include/std/iomanip: Likewise.
5031         * include/std/iosfwd: Likewise.
5032         * include/std/istream: Likewise.
5033         * include/std/limits: Likewise.
5034         * include/std/ratio: Likewise.
5035         * include/std/scoped_allocator: Likewise.
5036         * include/std/sstream: Likewise.
5037         * include/std/stdexcept: Likewise.
5038         * include/std/string: Likewise.
5039         * include/std/system_error: Likewise.
5040         * include/std/thread: Likewise.
5041         * include/std/tuple: Likewise.
5042         * include/std/type_traits: Likewise.
5043         * include/std/utility: Likewise.
5044         * include/std/valarray: Likewise.
5045         * include/std/vector: Likewise.
5047         * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
5048         new overloaded functions.
5049         * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
5050         to avoid creating a redundant temporary.
5051         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
5052         test.
5054 2016-06-15  François Dumont  <fdumont@gcc.gnu.org>
5056         * include/bits/stl_deque.h
5057         (std::deque<>::operator=): Call _M_assign_aux.
5058         (std::deque<>::assign(initializer_list<>)): Likewise.
5059         (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
5060         (std::deque<>::insert(const_iterator, initializer_list<>)):
5061         Call _M_range_insert_aux.
5062         (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
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.
5078 2016-06-07  François Dumont  <fdumont@gcc.gnu.org>
5080         * include/std/tuple (_Head_base<>): Default specialization condition at
5081         type declaration.
5083 2016-06-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
5085         Support allocators in tuples of zero size.
5086         * include/std/tuple (tuple<>::tuple(),
5087         tuple<>::tuple(allocator_arg_t, const _Alloc&),
5088         tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
5089         * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
5091 2016-06-06  Jonathan Wakely  <jwakely@redhat.com>
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.
5099 2016-06-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
5101         Protect allocator-overloads of tuple-from-tuple constructors
5102         from cases that would create dangling references.
5103         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
5104         const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
5105         tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
5106         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
5108 2016-05-29  Gerald Pfeifer  <gerald@pfeifer.com>
5110         * doc/xml/manual/backwards_compatibility.xml: Adjust
5111         lists.debian.org link to https.
5112         * doc/html/manual/backwards.html: Regenerate.
5114 2016-05-27  Jonathan Wakely  <jwakely@redhat.com>
5116         * doc/xml/manual/abi.xml: Adjust URL to use https.
5117         * doc/html/manual/*: Regenerate.
5119 2016-05-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
5134 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
5136         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
5137         * configure: Regenerate.
5138         * config.h.in: Regenerate.
5140         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
5141         * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
5142         Remove const qualification on function. Replace
5143         _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
5144         (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
5145         (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
5147 2016-05-24  François Dumont  <fdumont@gcc.gnu.org>
5149         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
5150         * include/bits/hashtable_policy.h
5151         (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
5152         having load factor management.
5153         (_Mask_range_hashing): New.
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.
5175 2016-05-24  Jonathan Wakely  <jwakely@redhat.com>
5177         * include/bits/stl_queue.h (priority_queue::value_compare): Define.
5179 2016-05-23  François Dumont  <fdumont@gcc.gnu.org>
5181         * include/debug/safe_iterator.h
5182         (_Safe_iterator<>::operator->()): Implement using underlying iterator
5183         operator ->.
5184         * include/debug/safe_local_iterator.h
5185         (_Safe_local_iterator<>::operator->()): Likewise.
5187 2016-05-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
5189         * testsuite/experimental/memory_resource/1.cc: Add required argument
5190         to dg-require-atomic-builtins.
5192 2016-05-13  Jonathan Wakely  <jwakely@redhat.com>
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.
5206 2016-05-12  Jonathan Wakely  <jwakely@redhat.com>
5208         PR libstdc++/71081
5209         * testsuite/experimental/memory_resource/1.cc: Require atomics.
5211 2016-05-11  Jonathan Wakely  <jwakely@redhat.com>
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.
5217 2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
5219         * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
5220         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
5221         Test begin and end functions.
5222         * testsuite/experimental/filesystem/iterators/
5223         recursive_directory_iterator.cc: Likewise.
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.
5229         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
5230         Overload operator* to move from rvalues.
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.
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.
5243         * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
5244         using declaration.
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.
5256 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
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.
5263 2016-05-09  Ville Voutilainen  <ville.voutilainen@gmail.com>
5265         Avoid endless run-time recursion for copying single-element
5266         tuples where the element type is by-value constructible
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.
5272 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
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.
5280 2016-05-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5282         * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
5284 2016-05-05  Jonathan Wakely  <jwakely@redhat.com>
5286         * testsuite/experimental/filesystem/path/native/string.cc: Add
5287         dg-require-filesystem-ts directive.
5289 2016-05-04  Jonathan Wakely  <jwakely@redhat.com>
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.
5307 2016-04-29  Chris Gregory  <czipperz@gmail.com>
5309         * config/*: Remove trailing whitespace.
5310         * src/*: Likewise.
5311         * testsuite/tr1/*: Likewise.
5312         * testsuite/util/*: Likewise.
5314 2016-04-28  Jonathan Wakely  <jwakely@redhat.com>
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.
5329         * include/bits/hashtable_policy.h (__detail::_Insert_base,
5330         __detail::_Insert): Improve comments.
5332 2016-04-27  Jonathan Wakely  <jwakely@redhat.com>
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.
5339 2016-04-24  Jonathan Wakely  <jwakely@redhat.com>
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.
5345 2016-04-22  Tim Shen  <timshen@google.com>
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.
5352 2016-04-20  Jonathan Wakely  <jwakely@redhat.com>
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.
5358 2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
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.
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().
5377         * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
5378         operator~ operator&=, operator|=, operator^=): Add noexcept to
5379         overloaded operators for copy_options, perms and directory_options.
5380         * src/filesystem/ops.cc (make_file_type, make_file_status,
5381         is_not_found_errno, file_time): Add noexcept.
5383 2016-04-19  Edward Smith-Rowland  <3dw4rd@verizon.net>
5385         * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
5387 2016-04-18  Jonathan Wakely  <jwakely@redhat.com>
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.
5397         * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
5399         * config/cpu/sh/atomicity.h: Fix typo in comment.
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.
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.
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.
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.
5441         * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
5442         warnings.
5444 2016-04-17  Edward Smith-Rowland  <3dw4rd@verizon.net>
5446         * include/bits/specfun.h: Trivial comment misspelling.
5448 2016-04-14  Jason Merrill  <jason@redhat.com>
5450         Revert Jonathan's empty ABI change from yesterday.
5452 2016-04-13  Martin Sebor  <msebor@redhat.com>
5454         PR c++/69517
5455         * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
5456         upper bound is positive.
5458 2016-04-13  Jonathan Wakely  <jwakely@redhat.com>
5460         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
5461         _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
5462         * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
5463         of functions taking empty structs by value. Add a template parameter
5464         to overloads without hints. Rename overloads with hints to
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.
5488 2016-04-12  Edward Smith-Rowland  <3dw4rd@verizon.net>
5490         Document C++17/TR29124 C++ Special Math Functions.
5491         * include/bits/specfun.h: Add Doxygen markup.
5493 2016-04-07  Jonathan Wakely  <jwakely@redhat.com>
5495         * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
5497 2016-04-06  Eric Botcazou  <ebotcazou@adacore.com>
5499         * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
5500         * src/Makefile.in: Regenerate.
5502 2016-04-05  Jonathan Wakely  <jwakely@redhat.com>
5504         PR libstdc++/70554
5505         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
5506         __atomic_fetch_add for bool.
5507         * configure: Regenerate.
5509         * testsuite/30_threads/thread/70503.cc: Require -static to work.
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.
5516 2016-04-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
5525 2016-03-24  Jonathan Wakely  <jwakely@redhat.com>
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.
5532 2016-03-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5534         * include/Makefile.am (install-freestanding-headers): Add
5535         concept_check.h and move.h to the installed headers.
5536         * include/Makefile.in: Regenerated.
5537         * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
5538         freestanding implementations.
5539         * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
5540         that this macro has no effect for freestanding implementations.
5541         * doc/html/manual/using_macros.html: Likewise.
5543 2016-02-24  Jonathan Wakely  <jwakely@redhat.com>
5545         PR libstdc++/69939
5546         * include/experimental/tuple (__apply_impl): Qualify get and forward.
5548 2016-02-23  Jonathan Wakely  <jwakely@redhat.com>
5550         * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
5551         * doc/html/*: Regenerate.
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.
5566 2016-02-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5568         PR libstdc++/69881
5569         * include/c_global/cstdarg: Undefine __need___va_list.
5570         * include/c_global/cstddef: Undefine all kinds of __need_*.
5572 2016-02-16  Tim Shen  <timshen@google.com>
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.
5580 2016-02-08  Jonathan Wakely  <jwakely@redhat.com>
5582         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
5583         added 'constexpr' in previous commit.
5584         * configure: Regenerate.
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.
5592 2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
5594         * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
5595         New file.  Copied over from s390-linux-gnu.
5597 2016-02-04  Jonathan Wakely  <jwakely@redhat.com>
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.
5606         * doc/html/index.html: Regenerate.
5608         * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
5609         * doc/xml/manual/spine.xml: Update copyright years and author blurb.
5610         * doc/html/*: Regenerate.
5612 2016-02-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5614         PR libstdc++/69581
5615         * include/c_compatibility/math.h: Move header guards.
5616         * include/c_compatibility/stdlib.h: Likewise.
5618 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
5620         PR libstdc++/69506
5621         * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
5623 2016-01-28  John David Anglin  <danglin@gcc.gnu.org>
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.
5634 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
5636         * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
5638 2016-01-27  Jonathan Wakely  <jwakely@redhat.com>
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.
5646 2016-01-26  Jonathan Wakely  <jwakely@redhat.com>
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.
5658 2016-01-26  Andris Pavenis  <andris.pavenis@iki.fi>
5660         * include/c_compatibility/stdlib.h: Include wide character related
5661         definitions only when they are available in cstdlib.
5663 2016-01-25  Jonathan Wakely  <jwakely@redhat.com>
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.
5683 2016-01-23  John David Anglin  <danglin@gcc.gnu.org>
5685         PR libstdc++/69446
5686         * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
5688 2016-01-22  Edward Smith-Rowland  <3dw4rd@verizon.net>
5690         TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
5691         * include/c_compatibility/math.h: Import the TR29124 functions
5692         into the global namespace.
5693         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
5694         xfail and make compile-only.
5695         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
5696         * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
5697         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
5698         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
5699         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
5700         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
5701         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
5702         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
5703         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
5704         * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
5705         * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
5706         * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
5707         * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
5708         * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
5709         * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
5710         * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
5711         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
5712         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
5713         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
5714         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
5716 2016-01-22  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
5730 2016-01-21  Jonathan Wakely  <jwakely@redhat.com>
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.
5743 2016-01-20  Torvald Riegel  <triegel@redhat.com>
5745         PR libstdc++/69310
5746         * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
5748 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
5766 2016-01-19  Jonathan Wakely  <jwakely@redhat.com>
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.
5784 2016-01-18  Torvald Riegel  <triegel@redhat.com>
5786         * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
5787         (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
5788         and move after its definition.
5789         * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
5790         * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
5791         __GXX_WEAK__, and only provide transactional clones if
5792         _GLIBCXX_USE_WEAK_REF is true.  Don't provide stubs of libitm
5793         functions.
5795 2016-01-18  Jonathan Wakely  <jwakely@redhat.com>
5797         PR libstdc++/60637
5798         * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
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.
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.
5810 2016-01-17  John David Anglin  <danglin@gcc.gnu.org>
5812         PR libstdc++/68734
5813         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
5815 2016-01-17  Torvald Riegel  <triegel@redhat.com>
5817         * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
5819 2016-01-16  H.J. Lu  <hongjiu.lu@intel.com>
5821         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
5822         __int128 symbols.
5824 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
5838 2016-01-15  Torvald Riegel  <triegel@redhat.com>
5840         * include/bits/basic_string.h (basic_string): Declare friends.
5841         * include/bits/c++config (_GLIBCXX_TXN_SAFE,
5842         _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
5843         * include/std/stdexcept (logic_error, domain_error, invalid_argument,
5844         length_error, out_of_range, runtime_error, range_error,
5845         underflow_error, overflow_error): Declare members as transaction-safe.
5846         (logic_error, runtime_error): Declare friend functions.
5847         * libsupc++/exception (exception, bad_exception): Declare members as
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.
5863 2016-01-15  Steve Ellcey  <sellcey@imgtec.com>
5865         * include/ext/random.tcc: Use __builtin_isfinite instead of
5866         std::isfinite.
5868 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
5870         * include/bits/std_mutex.h: Fix Doxygen @file name.
5872 2016-01-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
5873             Jonathan Wakely  <jwakely@redhat.com>
5874             Florian Goth <CaptainSifff@gmx.de>
5876         Implement TR29124 C++ special Math Functions.
5877         * include/Makefile.am: Add new headers.
5878         * include/Makefile.in: Regenerate.
5879         * include/bits/specfun.h: New.
5880         * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
5881         * include/tr1/bessel_function.tcc: Ditto.
5882         * include/tr1/beta_function.tcc: Ditto.
5883         * include/tr1/cmath: Ditto.
5884         * include/tr1/ell_integral.tcc: Ditto.
5885         * include/tr1/exp_integral.tcc: Ditto.
5886         * include/tr1/gamma.tcc: Ditto.
5887         * include/tr1/hypergeometric.tcc: Ditto.
5888         * include/tr1/legendre_function.tcc: Ditto.
5889         * include/tr1/modified_bessel_func.tcc: Ditto.
5890         * include/tr1/poly_hermite.tcc: Ditto.
5891         * include/tr1/poly_laguerre.tcc: Ditto.
5892         * include/tr1/riemann_zeta.tcc: Ditto.
5893         * include/tr1/special_function_util.h: Ditto.
5894         * testsuite/ext/special_functions/conf_hyperg: New.
5895         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
5896         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
5897         * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
5898         * testsuite/ext/special_functions/hyperg: New.
5899         * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
5900         * testsuite/ext/special_functions/hyperg/check_value.cc: New.
5901         * testsuite/ext/special_functions/hyperg/compile.cc: New.
5902         * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
5903         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
5904         * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
5905         * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
5906         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
5907         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
5908         * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
5909         * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
5910         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
5911         * testsuite/special_functions/03_beta/check_nan.cc: New.
5912         * testsuite/special_functions/03_beta/check_value.cc: New.
5913         * testsuite/special_functions/03_beta/compile.cc: New.
5914         * testsuite/special_functions/03_beta/compile_2.cc: New.
5915         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
5916         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
5917         * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
5918         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
5919         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
5920         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
5921         * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
5922         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
5923         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
5924         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
5925         * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
5926         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
5927         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
5928         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
5929         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
5930         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
5931         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
5932         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
5933         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
5934         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
5935         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
5936         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
5937         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
5938         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
5939         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
5940         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
5941         * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
5942         * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
5943         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
5944         * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
5945         * testsuite/special_functions/11_ellint_1/check_value.cc: New.
5946         * testsuite/special_functions/11_ellint_1/compile.cc: New.
5947         * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
5948         * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
5949         * testsuite/special_functions/12_ellint_2/check_value.cc: New.
5950         * testsuite/special_functions/12_ellint_2/compile.cc: New.
5951         * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
5952         * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
5953         * testsuite/special_functions/13_ellint_3/check_value.cc: New.
5954         * testsuite/special_functions/13_ellint_3/compile.cc: New.
5955         * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
5956         * testsuite/special_functions/14_expint/check_nan.cc: New.
5957         * testsuite/special_functions/14_expint/check_value.cc: New.
5958         * testsuite/special_functions/14_expint/compile.cc: New.
5959         * testsuite/special_functions/14_expint/compile_2.cc: New.
5960         * testsuite/special_functions/15_hermite/check_nan.cc: New.
5961         * testsuite/special_functions/15_hermite/check_value.cc: New.
5962         * testsuite/special_functions/15_hermite/compile.cc: New.
5963         * testsuite/special_functions/15_hermite/compile_2.cc: New.
5964         * testsuite/special_functions/16_laguerre/check_nan.cc: New.
5965         * testsuite/special_functions/16_laguerre/check_value.cc: New.
5966         * testsuite/special_functions/16_laguerre/compile.cc: New.
5967         * testsuite/special_functions/16_laguerre/compile_2.cc: New.
5968         * testsuite/special_functions/17_legendre/check_nan.cc: New.
5969         * testsuite/special_functions/17_legendre/check_value.cc: New.
5970         * testsuite/special_functions/17_legendre/compile.cc: New.
5971         * testsuite/special_functions/17_legendre/compile_2.cc: New.
5972         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
5973         * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
5974         * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
5975         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
5976         * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
5977         * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
5978         * testsuite/special_functions/19_sph_bessel/compile.cc: New.
5979         * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
5980         * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
5981         * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
5982         * testsuite/special_functions/20_sph_legendre/compile.cc: New.
5983         * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
5984         * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
5985         * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
5986         * testsuite/special_functions/21_sph_neumann/compile.cc: New.
5987         * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
5988         * testsuite/util/specfun_testcase.h: New.
5989         * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
5990         * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
5991         * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
5992         * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
5993         * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
5994         * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
5995         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
5997 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
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.
6008 2016-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
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.
6017 2016-01-12  Daniel Kruegler  <daniel.kruegler@gmail.com>
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.
6032 2016-01-12  Jonathan Wakely  <jwakely@redhat.com>
6034         * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
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.
6045 2016-01-11  Jonathan Wakely  <jwakely@redhat.com>
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.
6053 2016-01-08  Jonathan Wakely  <jwakely@redhat.com>
6055         * testsuite/26_numerics/headers/cmath/
6056         c99_classification_macros_c++.cc: Rename to ...
6057         * testsuite/26_numerics/headers/cmath/
6058         c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
6059         * testsuite/26_numerics/headers/cmath/
6060         c99_classification_macros_c++0x.cc: Rename to ...
6061         * testsuite/26_numerics/headers/cmath/
6062         c99_classification_macros_c++11.cc: Here.
6064         PR libstdc++/69190
6065         * include/bits/uses_allocator.h: Add missing include.
6067 2016-01-07  Jonathan Wakely  <jwakely@redhat.com>
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.
6082 2016-01-06  Jonathan Wakely  <jwakely@redhat.com>
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.
6089         * include/Makefile.am: Adjust.
6090         * include/Makefile.in: Regenerate.
6091         * include/bits/mutex.h: Rename to bits/std_mutex.h.
6092         * include/std/condition_variable: Adjust include.
6093         * include/std/mutex: Likewise.
6095 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
6097         Update copyright years.
6099 Copyright (C) 2016 Free Software Foundation, Inc.
6101 Copying and distribution of this file, with or without modification,
6102 are permitted in any medium without royalty provided the copyright
6103 notice and this notice are preserved.