]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
Fix testsuite to not increment bool
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
0273c10e
JW
12016-09-15 Jonathan Wakely <jwakely@redhat.com>
2
3 * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
4 -Wno-deprecated.
5 * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
700e2faa
JW
6
72016-09-15 Jonathan Wakely <jwakely@redhat.com>
8
9 * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
10 -Wno-deprecated.
11 * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
0273c10e 12
20a1e5b8
MP
132016-09-14 Marek Polacek <polacek@redhat.com>
14
15 * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
16 -Wno-deprecated.
17
13cddbc1
CL
182016-09-14 Christophe Lyon <christophe.lyon@linaro.org>
19
20 * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
21 Move dg-do directive before dg-skip.
22 * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
23 Move dg-do directive before dg-require.
24 * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
25 * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
26 * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
27 * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
28 * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
29 * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
30 * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
31 * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
32 * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
33 * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
34 * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
35 * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
36 * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
37 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
38 * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
39 Likewise.
40 * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
41 * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
42 * testsuite/27_io/objects/char/12048-5.cc: Likewise.
43 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
44 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
45
8e14a10c
VV
462016-09-13 Ville Voutilainen <ville.voutilainen@gmail.com>
47
48 Implement P0040R3, Extending memory management tools.
49 * include/bits/stl_uninitialized.h (utility): New include
50 in C++17 mode.
51 (uninitialized_default_construct): New.
52 (uninitialized_default_construct_n): Likewise.
53 (uninitialized_value_construct): Likewise.
54 (uninitialized_value_construct_n): Likewise.
55 (uninitialized_move): Likewise.
56 (uninitialized_move_n): Likewise.
57 (destroy_at, destroy, destroy_n): Likewise.
7a461e27
JW
58 * testsuite/20_util/specialized_algorithms/memory_management_tools/
59 1.cc: New.
8e14a10c 60
a313485b
JM
612016-09-12 Jason Merrill <jason@redhat.com>
62
63 * config/abi/pre/gnu.ver: Use [jmy] for size_t.
64
5e8037ba
VV
652016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
66
67 Implement P0253R1, Fixing a design mistake in the searchers
68 interface in Library Fundamentals.
69 * include/std/functional: (utility): New include in C++17 mode.
70 (default_searcher): Use a pair as return type, adjust the definition.
71 (boyer_moore_searcher): Likewise.
72 (boyer_moore_horspool_searcher): Likewise.
73 * testsuite/20_util/function_objects/searchers.cc: Adjust.
74
f82dfb8d
VV
752016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
76
77 Implement C++17 string searchers.
78 * include/std/functional: (unordered_map, vector): New includes
79 in C++17 mode.
80 (array, bits/stl_algo.h): Likewise.
81 (default_searcher, __boyer_moore_map_base): New.
82 (__boyer_moore_array_base, __is_std_equal_to): Likewise.
83 (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
84 (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
85 (make_boyer_moore_searcher): Likewise.
86 (make_boyer_moore_horspool_searcher): Likewise.
87 * testsuite/20_util/function_objects/searchers.cc: New.
88
684211e1
MW
892016-09-12 Matthew Wahab <matthew.wahab@arm.com>
90
91 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
92 Move dg-do directive before dg-require.
93 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
94 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
95 Likewise.
96 * testsuite/22_locale/codecvt/utf8.cc: Likewise.
97 * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
98 * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
99 * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
100 * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
101 * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
102 * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
103 * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
104 * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
105 * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
106 * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
107 * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
108 * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
109 Likewise.
7a461e27
JW
110 * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
111 Likewise.
684211e1
MW
112 * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
113 * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
7a461e27
JW
114 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
115 Likewise.
116 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
117 Likewise.
118 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
119 Likewise.
120 * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
121 Likewise.
122 * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
123 Likewise.
124 * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
125 Likewise.
126 * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
127 Likewise.
128 * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
129 Likewise.
130 * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
131 Likewise.
132 * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
133 Likewise.
134 * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
135 Likewise.
136 * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
137 Likewise.
138 * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
684211e1 139 Likewise.
7a461e27
JW
140 * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
141 Likewise.
142 * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
143 Likewise.
144 * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
145 Likewise.
146 * testsuite/23_containers/forward_list/debug/
147 iterator_self_move_assign_neg.cc: Likewise.
684211e1
MW
148 * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
149 Likewise.
7a461e27
JW
150 * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
151 Likewise.
152 * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
153 Likewise.
154 * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
155 Likewise.
156 * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
157 Likewise.
158 * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
159 Likewise.
160 * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
161 Likewise.
162 * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
163 Likewise.
684211e1
MW
164 * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
165 * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
166 * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
167 * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
168 * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
169 * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
170 * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
171 * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
172 * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
173 * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
174 * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
175 Likewise.
176 * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
177 * testsuite/23_containers/map/debug/60499.cc: Likewise.
178 * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
179 * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
180 * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
181 * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
182 * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
183 * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
184 * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
185 Likewise.
186 * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
187 * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
188 * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
189 * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
190 * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
191 * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
192 * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
193 * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
7a461e27
JW
194 * testsuite/23_containers/multimap/debug/
195 iterator_self_move_assign_neg.cc: Likewise.
196 * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
684211e1 197 Likewise.
684211e1
MW
198 * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
199 * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
200 * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
201 * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
202 * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
203 * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
204 * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
7a461e27
JW
205 * testsuite/23_containers/multiset/debug/
206 iterator_self_move_assign_neg.cc: Likewise.
207 * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
684211e1 208 Likewise.
684211e1
MW
209 * testsuite/23_containers/set/debug/60499.cc: Likewise.
210 * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
211 * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
212 * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
213 * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
214 * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
215 * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
216 * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
217 Likewise.
218 * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
219 * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
220 * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
221 * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
7a461e27
JW
222 * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
223 Likewise.
684211e1
MW
224 * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
225 * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
7a461e27
JW
226 * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
227 Likewise.
228 * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
229 Likewise.
230 * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
231 Likewise.
684211e1
MW
232 * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
233 * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
234 * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
235 * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
236 * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
7a461e27
JW
237 * testsuite/23_containers/unordered_map/debug/
238 invalid_local_iterator_compare_neg.cc: Likewise.
239 * testsuite/23_containers/unordered_map/debug/
240 invalid_local_iterator_range_neg.cc: Likewise.
241 * testsuite/23_containers/unordered_map/debug/
242 iterator_self_move_assign_neg.cc: Likewise.
684211e1
MW
243 * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
244 Likewise.
245 * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
246 Likewise.
7a461e27
JW
247 * testsuite/23_containers/unordered_map/debug/
248 use_erased_local_iterator_neg.cc: Likewise.
249 * testsuite/23_containers/unordered_map/debug/
250 use_invalid_iterator_neg.cc: Likewise.
251 * testsuite/23_containers/unordered_map/debug/
252 use_invalid_local_iterator_neg.cc: Likewise.
253 * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
254 * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc:
684211e1 255 Likewise.
7a461e27 256 * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
684211e1 257 Likewise.
684211e1
MW
258 * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
259 Likewise.
7a461e27
JW
260 * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
261 Likewise.
262 * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
263 Likewise.
684211e1
MW
264 * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
265 Likewise.
266 * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
267 Likewise.
268 * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
269 Likewise.
7a461e27 270 * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
684211e1 271 Likewise.
7a461e27 272 * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
684211e1 273 Likewise.
7a461e27 274 * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
684211e1 275 Likewise.
7a461e27 276 * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
684211e1 277 Likewise.
7a461e27 278 * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
684211e1 279 Likewise.
7a461e27
JW
280 * testsuite/23_containers/unordered_multimap/debug/
281 invalid_local_iterator_compare_neg.cc: Likewise.
282 * testsuite/23_containers/unordered_multimap/debug/
283 invalid_local_iterator_range_neg.cc: Likewise.
284 * testsuite/23_containers/unordered_multimap/debug/
285 iterator_self_move_assign_neg.cc: Likewise.
286 * testsuite/23_containers/unordered_multimap/debug/
287 max_load_factor_neg.cc: Likewise.
288 * testsuite/23_containers/unordered_multimap/debug/
289 self_move_assign_neg.cc: Likewise.
290 * testsuite/23_containers/unordered_multimap/debug/
291 use_erased_local_iterator_neg.cc: Likewise.
292 * testsuite/23_containers/unordered_multimap/debug/
293 use_invalid_iterator_neg.cc: Likewise.
294 * testsuite/23_containers/unordered_multimap/debug/
295 use_invalid_local_iterator_neg.cc: Likewise.
684211e1
MW
296 * testsuite/23_containers/unordered_multiset/debug/60499.cc:
297 Likewise.
298 * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
299 Likewise.
300 * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
301 Likewise.
302 * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
303 Likewise.
304 * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
305 Likewise.
306 * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
307 Likewise.
308 * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
309 Likewise.
310 * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
311 Likewise.
312 * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
313 Likewise.
7a461e27 314 * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
684211e1 315 Likewise.
7a461e27 316 * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
684211e1 317 Likewise.
7a461e27 318 * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
684211e1 319 Likewise.
7a461e27 320 * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
684211e1 321 Likewise.
7a461e27 322 * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
684211e1 323 Likewise.
7a461e27
JW
324 * testsuite/23_containers/unordered_multiset/debug/
325 invalid_local_iterator_compare_neg.cc: Likewise.
326 * testsuite/23_containers/unordered_multiset/debug/
327 invalid_local_iterator_range_neg.cc: Likewise.
328 * testsuite/23_containers/unordered_multiset/debug/
329 iterator_self_move_assign_neg.cc: Likewise.
330 * testsuite/23_containers/unordered_multiset/debug/
331 max_load_factor_neg.cc: Likewise.
332 * testsuite/23_containers/unordered_multiset/debug/
333 self_move_assign_neg.cc: Likewise.
334 * testsuite/23_containers/unordered_multiset/debug/
335 use_erased_local_iterator_neg.cc: Likewise.
336 * testsuite/23_containers/unordered_multiset/debug/
337 use_invalid_iterator_neg.cc: Likewise.
338 * testsuite/23_containers/unordered_multiset/debug/
339 use_invalid_local_iterator_neg.cc: Likewise.
684211e1
MW
340 * testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
341 * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
342 * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
7a461e27
JW
343 * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
344 Likewise.
684211e1
MW
345 * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
346 * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
7a461e27
JW
347 * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
348 Likewise.
349 * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
350 Likewise.
351 * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
352 Likewise.
684211e1
MW
353 * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
354 * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
355 * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
356 * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
357 * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
7a461e27
JW
358 * testsuite/23_containers/unordered_set/debug/
359 invalid_local_iterator_compare_neg.cc: Likewise.
360 * testsuite/23_containers/unordered_set/debug/
361 invalid_local_iterator_range_neg.cc: Likewise.
362 * testsuite/23_containers/unordered_set/debug/
363 iterator_self_move_assign_neg.cc: Likewise.
364 * testsuite/23_containers/unordered_set/debug/
365 max_load_factor_neg.cc: Likewise.
366 * testsuite/23_containers/unordered_set/debug/
367 self_move_assign_neg.cc: Likewise.
368 * testsuite/23_containers/unordered_set/debug/
369 use_erased_local_iterator_neg.cc: Likewise.
370 * testsuite/23_containers/unordered_set/debug/
371 use_invalid_iterator_neg.cc: Likewise.
372 * testsuite/23_containers/unordered_set/debug/
373 use_invalid_local_iterator_neg.cc: Likewise.
684211e1
MW
374 * testsuite/23_containers/vector/debug/52433.cc: Likewise.
375 * testsuite/23_containers/vector/debug/60499.cc: Likewise.
376 * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
7a461e27
JW
377 * testsuite/23_containers/vector/debug/
378 iterator_self_move_assign_neg.cc: Likewise.
379 * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
684211e1 380 Likewise.
684211e1
MW
381 * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
382 * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
383 * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
384 * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
385 * testsuite/29_atomics/atomic/60658.cc: Likewise.
386 * testsuite/29_atomics/atomic/60695.cc: Likewise.
387 * testsuite/29_atomics/atomic/62259.cc: Likewise.
388 * testsuite/29_atomics/atomic/64658.cc: Likewise.
389 * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
390 * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
7a461e27
JW
391 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
392 Likewise.
684211e1 393
25011292
JW
3942016-09-11 Jonathan Wakely <jwakely@redhat.com>
395
396 * libsupc++/new_opant.cc: Include exception_defines.h.
397 * libsupc++/new_opvant.cc: Likewise.
398
af63ba4b
JM
3992016-09-09 Jason Merrill <jason@redhat.com>
400
401 Implement P0035R4, C++17 new of over-aligned types.
402 * libsupc++/new: Declare aligned new/delete operators.
403 * config/abi/pre/gnu.ver: Export them.
404 * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
405 _aligned_malloc.
406 * libsupc++/new_opa.cc: New.
407 * libsupc++/new_opant.cc: New.
408 * libsupc++/new_opva.cc: New.
409 * libsupc++/new_opva.cc: New.
410 * libsupc++/del_opa.cc: New.
411 * libsupc++/del_opant.cc: New.
412 * libsupc++/del_opsa.cc: New.
413 * libsupc++/del_opva.cc: New.
414 * libsupc++/del_opvant.cc: New.
415 * libsupc++/del_opvsa.cc: New.
416 * libsupc++/Makefile.am: Build them.
417
f75d5999
TS
4182016-09-05 Tim Shen <timshen@google.com>
419
420 * include/std/variant: include bits/move.h for std::addressof.
421
eddca7bd
MS
4222016-09-05 Mikhail Strelnikov <mikhail.strelnikov@gmail.com>
423
7a461e27
JW
424 * include/std/variant (_Variant_storage::_M_storage()): Use
425 std::addressof instead of operator& to take address.
eddca7bd 426
5a810362
MK
4272016-09-02 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
428
429 * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
430 setrlimit on both native and cross targets.
431 * configure: Regenerate.
432
3625264f
JW
4332016-08-31 Jonathan Wakely <jwakely@redhat.com>
434
7663cae2
JW
435 * include/bits/shared_ptr.h (_Assignable): New alias template.
436 (shared_ptr::operator=(const shared_ptr<_Tp1>&))
437 (shared_ptr::operator=(shared_ptr<_Tp1>&&))
438 (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
439 _Assignable.
440 * include/bits/shared_ptr_base.h (_Assignable): New alias template.
441 (__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
442 (__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
443 (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
444 _Assignable.
445 (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
446 (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
447 _Convertible.
448 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
449 match on any line.
450 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
451 * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
452 * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
453 expected errors. Remove unnecessary code.
454 * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
455
e46d22a8
JW
456 * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
457 comparison object.
458 * testsuite/23_containers/set/move_comparison.cc: New test.
459
3625264f
JW
460 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
461 New test.
462
7875b41f
VV
4632016-08-30 Ville Voutilainen <ville.voutilainen@gmail.com>
464
465 PR libstdc++/77395
466 * include/std/type_traits (is_constructible): Forward-declare...
467 (__is_base_to_derived_ref): ...and use here.
468 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
469 * testsuite/20_util/is_constructible/77395.cc: New.
470 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
471 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
472 Likewise.
473 * testsuite/20_util/tuple/77395.cc: New.
474
e1becf59
UB
4752016-08-30 Uros Bizjak <ubizjak@gmail.com>
476
477 * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
478 directive above dg-require-namedlocale directive.
479 * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
480 * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
481 * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
482 * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
483 * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
484
4aebb4e4
TS
4852016-08-27 Tim Shen <timshen@google.com>
486
487 PR libstdc++/77356
488 * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
489 _M_expression_term): Modify to support dash literal.
490 * include/bits/regex_scanner.h: Add dash as a token type to make
491 a different from the mandated dash literal by escaping.
492 * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
493 token in bracket expression parsing.
494 * testsuite/28_regex/regression.cc: Add new testcases.
495
52066eae
JW
4962016-08-26 Jonathan Wakely <jwakely@redhat.com>
497
10491e4c
JW
498 PR libstdc++/51960
499 * doc/xml/manual/intro.xml: Document DR 2127 change.
500 * doc/html/*: Regenerate.
501 * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
502 (operator++(), operator++(int)): Use injected class name.
503 * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
504
52066eae
JW
505 * testsuite/*: Use { target c++11 } or { target c++14 } instead of
506 using -std in dg-options.
507
e8223484
JW
5082016-08-26 Jonathan Wakely <jwakely@redhat.com>
509 Pedro Alves <palves@redhat.com>
510
511 * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
512 and restore dg-interpreter-batch-mode.
513 * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
514 gdb-dg-runtest instead of dg-runtest.
515 * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
516
86bbf15b
JW
5172016-08-26 Jonathan Wakely <jwakely@redhat.com>
518
519 * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
520 precise patterns for basic_string constructors.
521 (GLIBCXX_3.4.23): Export new constructors.
522 * doc/xml/manual/intro.xml: Document LWG 2583 status.
523 * doc/html/*: Regenerate.
524 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
525 (basic_string(const basic_string&, size_type, const Alloc&)): Add
526 new constructor for LWG 2583.
527 (basic_string(const basic_string&, size_type, size_type)): Remove
528 default argument.
529 [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
530 * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
531 * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
532 * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
533
9a38acdf
AK
5342016-08-24 Aditya Kumar <hiraditya@msn.com>
535
536 * include/bits/algorithmfwd.h: Remove trailing whitespace.
537 * include/bits/shared_ptr_base.h: Likewise.
538
06db9920
JW
5392016-08-23 Jonathan Wakely <jwakely@redhat.com>
540
e90a8010
JW
541 * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
542 * include/profile/array (array): Likewise.
543 (array::swap): Fix exception specification for zero-sized arrays.
544
5ea387db
JW
545 PR libstdc++/77334
546 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
547 (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
548 * testsuite/23_containers/map/77334.cc: New test.
549
5d1c6b3e
JW
550 * doc/xml/manual/using.xml: Remove reference to -pthreads option.
551 * doc/html/*: Regenerate.
552
457c4a3f
JW
553 * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
554 * testsuite/experimental/feat-lib-fund.cc: Likewise.
555
b405d54f
JW
556 PR libstdc++/71771
557 * include/bits/stl_iterator.h
558 (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
559 define for C++98 mode.
560 (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
561 * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
562 -std=gnu++98.
563 * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
564 * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
565 * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
566 * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
567 difference operator.
568 * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
569 difference operator for C++98.
570 * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
571
06db9920
JW
572 * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
573 * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
574 (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
575 * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
576 (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
577 Likewise.
578 * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
579 _GLIBCXX14_CONSTEXPR.
580 (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
581 * include/std/array (array::begin, array::end, array::rbegin)
582 (array::rend, array::cbegin, array:cend, array::crbegin)
583 (array::crend, array::operator[], array::at, array::front)
584 (array::back, array::data): Likewise.
585 * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
586 with separate tests for C++11, C++14, and C++17.
587 * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
588 * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
589 * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
590
d79d6252
TS
5912016-08-22 Tim Shen <timshen@google.com>
592
593 Split _M_dfs() into smaller functions.
594 * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
595 (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
596 (_M_handle_line_end_assertion, _M_handle_word_boundary)
597 (_M_handle_subexpr_lookahead, _M_handle_match)
598 (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
599 Add separate function declarations.
600 * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
601
27abac26
GN
6022016-08-22 Gleb Natapov <gleb@scylladb.com>
603
604 PR libstdc++/68297
605 * config/abi/pre/gnu-versioned-namespace.ver: Export
606 __cxa_init_primary_exception and std::exception_ptr(void*).
607 * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
608 export __cxa_init_primary_exception and std::exception_ptr(void*).
609 * include/Makefile.am: Add new headers.
610 * include/Makefile.in: Regenerate.
611 * libsupc++/Makefile.am: Add new headers.
612 * libsupc++/Makefile.in: Regenerate.
613 * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
614 * libsupc++/cxxabi_init_exception.h: New header.
615 (__cxa_init_primary_exception): Declare.
616 * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
617 (__cxa_throw): Use __cxa_init_primary_exception.
618 * libsupc++/exception (std::exception): Move to ...
619 * libsupc++/exception.h: New header.
620 * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
621 friend declaration.
622 (__exception_ptr::__dest_thunk): New function template.
623 (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
624 Use __cxa_allocate_exception and __cxa_init_primary_exception to
625 create exception_ptr.
626 * libsupc++/typeinfo: Include bits/exception.h instead of exception.
627 * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
628
94f54d47
JW
6292016-08-22 Jonathan Wakely <jwakely@redhat.com>
630
4c86ffcc
JW
631 * doc/xml/api.xml: Replace hardcoded links for specific versions with
632 link to docs for all releases.
633 * doc/html/*: Regenerate.
634
94f54d47
JW
635 PR libstdc++/77322
636 * doc/xml/manual/intro.xml: Document DR 2062 change.
637 * include/std/functional (function::swap): Add noexcept.
638 (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
639 * testsuite/20_util/function/77322.cc: New test.
640
1f4ed04e
JW
6412016-08-19 Jonathan Wakely <jwakely@redhat.com>
642
71c54f8e
JW
643 * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
644 *-*-solaris* instead of -pthreads.
645 * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
646 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
647 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
648 * testsuite/23_containers/list/pthread1.cc: Likewise.
649 * testsuite/23_containers/list/pthread5.cc: Likewise.
650 * testsuite/23_containers/map/pthread6.cc: Likewise.
651 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
652 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
653 * testsuite/30_threads/shared_mutex/*: Likewise.
654 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
655 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
656 default_weaktoshared.cc: Likewise.
657 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
658 mutex_weaktoshared.cc: Likewise.
659 * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
660 dg-require-effective-target instead of using -std option.
661 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
662 Likewise.
663 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
664 * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
665 Likewise.
666 * testsuite/30_threads/async/*: Likewise.
667 * testsuite/30_threads/call_once/*: Likewise.
668 * testsuite/30_threads/condition_variable/*: Likewise.
669 * testsuite/30_threads/condition_variable_any/*: Likewise.
670 * testsuite/30_threads/future/*: Likewise.
671 * testsuite/30_threads/lock/*: Likewise.
672 * testsuite/30_threads/mutex/*: Likewise.
673 * testsuite/30_threads/packaged_task/*: Likewise.
674 * testsuite/30_threads/promise/*: Likewise.
675 * testsuite/30_threads/recursive_mutex/*: Likewise.
676 * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
677 * testsuite/30_threads/shared_future/*: Likewise.
678 * testsuite/30_threads/shared_lock/*: Likewise.
679 * testsuite/30_threads/shared_timed_mutex/*: Likewise.
680 * testsuite/30_threads/this_thread/*: Likewise.
681 * testsuite/30_threads/thread/*: Likewise.
682 * testsuite/30_threads/timed_mutex/*: Likewise.
683 * testsuite/30_threads/try_lock/*: Likewise.
684 * testsuite/30_threads/unique_lock/*: Likewise.
685
e6ee5bfd
JW
686 * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
687 * doc/html/*: Regenerate.
688 * include/experimental/functional (_Not_fn, not_fn): Match C++17
689 semantics.
690 * include/std/functional (_Not_fn, not_fn): Define for C++17.
691 * testsuite/20_util/not_fn/1.cc: New.
692 * testsuite/experimental/functional/not_fn.cc: Test abstract class.
693 Remove test for volatile-qualified wrapper.
694
387edf83
JW
695 * include/std/atomic (atomic::is_always_lock_free): Define.
696 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
697 * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
698 * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
699 * doc/xml/manual/status_cxx2017.xml: Update status.
700 * doc/html/*: Regenerate.
701
285ee2fb
JW
702 * include/experimental/tuple (apply): Qualify call to __apply_impl.
703 * include/std/tuple (apply): Likewise.
704 * testsuite/experimental/system_error/value.cc: Fix ambiguities in
705 C++17 mode.
706 * testsuite/experimental/tuple/tuple_size.cc: Likewise.
707 * testsuite/experimental/type_traits/value.cc: Likewise.
708
1f4ed04e
JW
709 * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
710 and variant.
711 * doc/html/*: Regenerate.
712
a577f786
VV
7132016-08-18 Ville Voutilainen <ville.voutilainen@gmail.com>
714
715 Implement the latest proposed resolution of LWG 2756.
716 * include/std/optional (Optional_base(const _Tp&))
717 (Optional_base(_Tp&&), using _Base::_Base): Remove.
718 (optional(nullopt_t)): New.
719 (optional(_Up&&)): Invoke base directly with in_place
720 rather than creating a temporary, add default template
721 argument, change constraints.
722 (optional(const optional<_Up>&)): Invoke base directly
723 with in_place, remove unnecessary constraints.
724 (optional(optional<_Up>&& __t)): Likewise.
725 (optional(in_place_t, _Args&&...)): New.
726 (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
727 (operator=(_Up&&)): Add default template argument, change constraints.
728 (operator=(const optional<_Up>&)): Put is_same first in the
729 constraints.
730 (operator=(optional<_Up>&&)): Likewise.
731 * testsuite/20_util/optional/assignment/5.cc: Add a test to
732 verify assignment from something that can't be perfect-forwarded.
733 * testsuite/20_util/optional/cons/value.cc: Add tests to verify
734 that a nested optional is disengaged when constructed
735 from a disengaged element type, and to verify that assignments
736 from an engaged element type engage the optional.
737
197c757c
TS
7382016-08-18 Tim Shen <timshen@google.com>
739
740 Implement <variant>
741
742 * include/Makefile.am: Add new file std/variant.
743 * include/Makefile.in: Generated from Makefile.am.
744 * include/bits/enable_special_members.h: Add a tag type to allow
745 the construction in non-default constructor.
746 * include/bits/uses_allocator.h: Add convenience traits to
747 detect constructibility.
748 * include/std/variant: Implement <variant>.
749 * testsuite/20_util/variant/compile.cc: Compile-time tests.
750 * testsuite/20_util/variant/run.cc: Runtime tests.
751
6cb98491
JW
7522016-08-18 Jonathan Wakely <jwakely@redhat.com>
753
0b224dcf
JW
754 * doc/xml/manual/test.xml (test.run.permutations): Expand section.
755 (test.new_tests): Rewrite section.
756 (tests.dg.directives): New section.
757 * doc/html/*: Regenerate.
758
b56d48ef
JW
759 * doc/xml/manual/test.xml: Improve documentation of test targets.
760 Document new-abi-baseline, check-debug, and check-parallel targets.
761
409d5555
JW
762 * doc/xml/manual/build_hacking.xml: New section on shared library
763 versioning.
764
a8107a98
JW
765 * doc/xml/manual/build_hacking.xml: Improve markup.
766 * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
767 to "Testing".
768 * doc/xml/faq.xml: Change link text to "Testing".
769
6cb98491
JW
770 * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
771 dg-options directive.
772
657213f7
JW
7732016-08-17 Jonathan Wakely <jwakely@redhat.com>
774
6fbf26cc
JW
775 * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
776 directive and use effective target instead of dg-options.
777
18a20f3f
JW
778 * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
779 instead of -std in dg-options.
780 * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
781 * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
782 * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
783 * testsuite/20_util/hash/quality.cc: Likewise.
784 * testsuite/25_algorithms/heap/moveable.cc: Likewise.
785 * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
786 * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
787 * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
788 * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
789 * testsuite/25_algorithms/sort/random_test.cc: Likewise.
790
f7717203
JW
791 * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
792 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
793 * testsuite/27_io/rvalue_streams.cc: Likewise.
794
e30c6e0c
JW
795 * testsuite/26_numerics/complex/literals/types.cc: Add comment.
796
e07f4b00
JW
797 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
798 Remove duplicate dg-options directive.
799
37144e84
JW
800 * testsuite/ext/profile/all.cc: Use effective target instead of
801 -std=gnu++11. Use dg-additional-options instead of repeating options.
802
8fe79e73
JW
803 * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
804 -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
805 instead of dg-excess-errors.
806
c4296692
JW
807 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
808 test for C++17.
809 * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
810 * testsuite/experimental/ratio/value.cc: Likewise.
811 * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
812 C++17.
813 * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
814 * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
815 * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
816 * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
817 * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
818 * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
819 * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
820 * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
821 * testsuite/tr1/5_numerical_facilities/special_functions/
822 10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
823 C++17 compatibility.
824
ba364478
JW
825 * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
826 expected signatures for C++14 compatibility.
827
657213f7
JW
828 PR libstdc++/77264
829 * include/bits/basic_string.h (operator=(__sv_type)
830 (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
831 (replace(size_type, size_type, __sv_type))
832 (replace(const_iterator, const_iterator, __sv_type))
833 (find(__sv_type, size_type), rfind(__sv_type, size_type))
834 (compare(size_type, size_type, __sv_type)): Reformat.
835 (_If_sv): Define helper for SFINAE constaints.
836 (append(const _Tp&, size_type, size_type))
837 (assign(const _Tp&, size_type, size_type))
838 (insert(size_type, const _Tp&, size_type, size_type))
839 (replace(size_type, size_type, const _Tp&, size_type, size_type)):
840 Use _If_sv.
841 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
842 SFINAE constraints.
843 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
844 Likewise.
845 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
846 Likewise.
847 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
848 Likewise.
849 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
850 Likewise.
851 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
852 Likewise.
853 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
854 Likewise.
855 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
856 Likewise.
857 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
858 Likewise.
859 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
860 Likewise.
861 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
862 Likewise.
863
32917686
JW
8642016-08-16 Jonathan Wakely <jwakely@redhat.com>
865
866 PR libstdc++/72847
867 * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
868 pointers to start and end of storage.
869 * testsuite/23_containers/vector/bool/72847.cc: New test.
870 * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
871 _M_finish after deallocating.
872 (vector<bool>::_M_fill_insert): Likewise.
873 (vector<bool>::_M_insert_range): Likewise.
874 (vector<bool>::_M_insert_aux): Likewise.
875
5c578ae4
VV
8762016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
877
878 Implement LWG 2744 and LWG 2754.
879 * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
880 (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
881 (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
882 Likewise.
883 (emplace(_Args&&...)): Likewise.
884 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
885 * include/std/utility: (__is_in_place_type_impl): New.
886 (__is_in_place_type): Likewise.
887 * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
888 emplace.
889 * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
890 in_place constructor.
891 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
892 * testsuite/20_util/any/requirements.cc: Add a test for
893 in_place-constructing a non-default-constructible type.
894
24299f65
VV
8952016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
896
897 Add a feature macro for C++17 make_from_tuple.
898 * include/std/tuple (__cpp_lib_make_from_tuple): New.
899 (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
900 Qualify the call to get<>().
901 * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
902
0657379e
UB
9032016-08-15 Uros Bizjak <ubizjak@gmail.com>
904
905 * src/filesystem/ops.cc: Always include ostream and
906 ext/stdio_filebuf.h.
907 (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
908 [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
909 sendfile fails with ENOSYS or EINVAL.
910
f9657322
TP
9112016-08-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
912
913 PR libstdc++/72840
914 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
915 syntax.
916
ca1ab6be
VV
9172016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
918
919 Implement C++17 make_from_tuple.
920 * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
921 * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
922
68a51b68
VV
9232016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
924
925 Implement LWG 2758.
926 * include/bits/basic_string.h
927 (append(__sv_type, size_type, size_type)): Turn into a template,
928 change parameter type, constrain, add a conversion to __sv_type
929 from the dependent parameter type.
930 (assign(__sv_type, size_type, size_type)): Likewise.
931 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
932 (replace(size_type, size_type, __sv_type, size_type, size_type)):
933 Likewise.
934 (compare(size_type, size_type,__sv_type, size_type, size_type)):
935 Likewise.
936 * testsuite/21_strings/basic_string/lwg2758.cc: New.
937
3e9f67e6
JW
9382016-08-06 Jonathan Wakely <jwakely@redhat.com>
939
caee9cde
JW
940 * doc/xml/manual/status_cxx2017.xml: Update status table.
941 * doc/html/manual/status.html: Regenerate.
942
ea2f1f49
JW
943 * testsuite/lib/libstdc++.exp: Fix typo in comment.
944
6ef835c6
JW
945 PR libstdc++/72820
946 * include/std/functional (_Function_base::_Base_manager::_M_clone):
947 Qualify new operator.
948 * testsuite/20_util/function/cons/72820.cc: New test.
949
3e9f67e6
JW
950 * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
951 * doc/html/manual/status.html: Regenerate.
952 * include/Makefile.am: Add new header.
953 * include/Makefile.in: Regenerate.
954 * include/bits/invoke.h: New header.
955 (__invoke): Make constexpr. Add && to types in exception specification.
956 * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
957 names. Include <bits/invoke.h> and use std::__invoke.
958 * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
959 new header.
960 (invoke): Add && to types in exception specification.
961 * include/std/tuple (apply, __apply_impl): Define for C++17.
962 * testsuite/20_util/tuple/apply/1.cc: New test.
963 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
964 lineno.
965
98e6e662
JW
9662016-08-05 Jonathan Wakely <jwakely@redhat.com>
967
a0b1bf21
JW
968 * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
969 * doc/html/manual/status.html: Regenerate.
970
5f6acdfb
JW
971 * include/std/chrono (floor, ceil, round, abs): New for C++17.
972 * testsuite/20_util/duration_cast/rounding.cc: New test.
973 * testsuite/20_util/time_point_cast/rounding.cc: New test.
974 * doc/xml/manual/status_cxx2017.xml: Update status table.
975 * doc/html/manual/status.html: Regenerate.
976 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
977 dg-error lineno.
978 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
979 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
980 * testsuite/20_util/duration/literals/range.cc: Likewise.
981
98e6e662
JW
982 * include/std/functional (__callable_functor): Remove.
983 (_Function_handler::_M_invoke): Use __invoke instead of
984 __callable_functor or mem_fn.
985 (function::_Callable): Use lvalue in result_of expression.
986 (function): Remove TODO comments about allocators.
987 * testsuite/20_util/function/cons/refqual.cc: New test.
988
7d2035fa
JW
9892016-08-04 Jonathan Wakely <jwakely@redhat.com>
990
42183d03
JW
991 * doc/xml/manual/status_cxx2017.xml: Update status table.
992 * include/std/functional (__inv_unwrap): Move to <type_traits>.
993 (__invoke_impl): Remove exception specifications.
994 (__invoke, invoke): Add exception specifications using
995 __is_nothrow_callable.
996 * include/std/type_traits (__inv_unwrap): Move from <functional>.
997 (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
998 (__is_callable, __is_nothrow_callable): New traits.
999 (is_callable, is_callable_v): New C++17 traits.
1000 (is_nothrow_callable, is_nothrow_callable_v): Likewise.
1001 * testsuite/20_util/is_callable/requirements/
1002 explicit_instantiation.cc: New test.
1003 * testsuite/20_util/is_callable/requirements/
1004 explicit_instantiation_ext.cc: New test.
1005 * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
1006 * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
1007 test.
1008 * testsuite/20_util/is_callable/value.cc: New test.
1009 * testsuite/20_util/is_callable/value_ext.cc: New test.
1010 * testsuite/20_util/is_nothrow_callable/requirements/
1011 explicit_instantiation.cc: New test.
1012 * testsuite/20_util/is_nothrow_callable/requirements/
1013 explicit_instantiation_ext.cc: New test.
1014 * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
1015 New test.
1016 * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
1017 New test.
1018 * testsuite/20_util/is_nothrow_callable/value.cc: New test.
1019 * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
1020
246c618e
JW
1021 * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
1022 * doc/html/manual/status.html: Regenerate.
1023
9a8e528c
JW
1024 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
1025 effective target not dg-options. Move check for feature-test macro to:
1026 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
1027 New test.
1028
7d2035fa
JW
1029 * include/std/functional (_Unwrap): Rename to __inv_unwrap.
1030 (__invfwd): Adjust.
1031 (__invoke_impl): Remove unused template parameters.
1032 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
1033 parameter.
1034 * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
1035 and test __invoke extension for C++11.
1036
27631a25
JW
10372016-08-03 Jonathan Wakely <jwakely@redhat.com>
1038
c7fdbdcd
JW
1039 * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
1040 Define feature-test macro.
1041 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
1042 for the macro.
1043
f21f4463
JW
1044 * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
1045 * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
1046 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1047 * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
1048 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1049
32eaac9c
JW
1050 * include/std/utility (as_const): Define.
1051 * testsuite/20_util/as_const/1.cc: New test.
1052 * testsuite/20_util/as_const/rvalue_neg.cc: New test.
1053
b7dabce5
JW
1054 * include/bits/shared_ptr.h (owner_less): Add default template
1055 argument.
1056 * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
1057 specialization.
1058 (owner_less<void>): Define specialization.
1059 * include/bits/stl_function.h (__cpp_lib_transparent_operators):
1060 Update value.
1061 * testsuite/20_util/owner_less/void.cc: New test.
1062 * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
1063
068c8ac1
JW
1064 * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
1065 Define feature-test macro.
1066 * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
1067 * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
1068 * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
1069 (__cpp_lib_type_trait_variable_templates): Define.
1070
0bd9bdb4
JW
1071 * include/bits/stl_function.h: Remove commented-out macro.
1072 * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
1073 Define feature-test macro.
1074 * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
1075
f8571e51
JW
1076 * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
1077 C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
1078 true.
1079 * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
1080 do #error for C++17.
1081 * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
1082 of __STDCPP_WANT_MATH_SPEC_FUNCS__.
1083 * include/tr1/bessel_function.tcc: Likewise.
1084 * include/tr1/beta_function.tcc: Likewise.
1085 * include/tr1/cmath: Likewise.
1086 * include/tr1/ell_integral.tcc: Likewise.
1087 * include/tr1/exp_integral.tcc: Likewise.
1088 * include/tr1/gamma.tcc: Likewise.
1089 * include/tr1/hypergeometric.tcc: Likewise.
1090 * include/tr1/legendre_function.tcc: Likewise.
1091 * include/tr1/modified_bessel_func.tcc: Likewise.
1092 * include/tr1/poly_hermite.tcc: Likewise.
1093 * include/tr1/poly_laguerre.tcc: Likewise.
1094 * include/tr1/riemann_zeta.tcc: Likewise.
1095 * include/tr1/special_function_util.h: Likewise.
1096 * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
1097
27631a25
JW
1098 * include/std/type_traits (has_trivial_default_constructor): Remove.
1099 (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
1100 * testsuite/20_util/has_trivial_copy_assign/requirements/
1101 explicit_instantiation.cc: Remove test.
1102 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1103 line number.
1104 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
1105 Likewise.
1106 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
1107 * testsuite/20_util/has_trivial_copy_constructor/requirements/
1108 explicit_instantiation.cc: Likewise.
1109 * testsuite/20_util/has_trivial_copy_constructor/requirements/
1110 typedefs.cc: Likewise.
1111 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
1112 * testsuite/20_util/has_trivial_default_constructor/requirements/
1113 explicit_instantiation.cc: Likewise.
1114 * testsuite/20_util/has_trivial_default_constructor/requirements/
1115 typedefs.cc: Likewise.
1116 * testsuite/20_util/has_trivial_default_constructor/value.cc:
1117 Likewise.
1118 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
1119 Check has_trivial_default_constructor, has_trivial_copy_constructor,
1120 and has_trivial_copy_assign are not defined.
1121 * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
1122 tests.
1123 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
1124 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
1125 dg-error line number.
1126 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1127 Likewise.
1128
69332dba
JW
11292016-08-02 Jonathan Wakely <jwakely@redhat.com>
1130
589a30d1
JW
1131 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
1132 Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
1133 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
1134 Likewise.
1135 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
1136 Likewise.
1137 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
1138 Likewise.
1139 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
1140 Likewise.
1141 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
1142 Likewise.
1143 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
1144 Likewise.
1145
8bcd00bb
JW
1146 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
1147 comments.
1148
a4e1011c
JW
1149 * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
1150 dg-error to relevant line.
1151 * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
1152 Likewise.
1153 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
1154
64dde682
JW
1155 * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
1156
807bd096
JW
1157 * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
1158 options are present that aren't valid for C.
1159 * testsuite/abi/header_cxxabi.c: Likewise.
1160
8c65cd30
JW
1161 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
1162 check_value.cc: Do not add special functions to namespace std in TR1
1163 test.
1164
196c9e7a
JW
1165 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
1166 run for C++11 and later.
1167 * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
1168 Likewise.
1169 * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
1170 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
1171 * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
1172 * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
1173 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
1174 Likewise.
1175 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
1176 Likewise.
1177 * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
1178 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
1179 Likewise.
1180 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
1181 Likewise.
1182 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
1183 Likewise.
1184 * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
1185 * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
1186 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
1187 * testsuite/special_functions/03_beta/check_value.cc: Likewise.
1188 * testsuite/special_functions/03_beta/compile.cc: Likewise.
1189 * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
1190 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
1191 * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
1192 Likewise.
1193 * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
1194 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
1195 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
1196 * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
1197 Likewise.
1198 * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
1199 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
1200 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
1201 * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
1202 Likewise.
1203 * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
1204 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
1205 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
1206 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
1207 Likewise.
1208 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
1209 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
1210 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
1211 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
1212 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
1213 Likewise.
1214 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
1215 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
1216 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
1217 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
1218 Likewise.
1219 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
1220 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
1221 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
1222 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
1223 * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
1224 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
1225 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
1226 * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
1227 * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
1228 * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
1229 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
1230 * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
1231 * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
1232 * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
1233 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
1234 * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
1235 * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
1236 * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
1237 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
1238 * testsuite/special_functions/14_expint/check_value.cc: Likewise.
1239 * testsuite/special_functions/14_expint/compile.cc: Likewise.
1240 * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
1241 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
1242 * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
1243 * testsuite/special_functions/15_hermite/compile.cc: Likewise.
1244 * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
1245 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
1246 * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
1247 * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
1248 * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
1249 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
1250 * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
1251 * testsuite/special_functions/17_legendre/compile.cc: Likewise.
1252 * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
1253 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
1254 * testsuite/special_functions/18_riemann_zeta/check_value.cc:
1255 Likewise.
1256 * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
1257 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
1258 * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
1259 * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
1260 * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
1261 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
1262 * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
1263 * testsuite/special_functions/20_sph_legendre/check_value.cc:
1264 Likewise.
1265 * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
1266 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
1267 * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
1268 * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
1269 * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
1270 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
1271
69332dba
JW
1272 * testsuite/tr1/5_numerical_facilities/special_functions/
1273 08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
1274 of [[gnu::unused]].
1275 * testsuite/tr1/5_numerical_facilities/special_functions/
1276 09_cyl_bessel_j/check_value.cc: Likewise.
1277 * testsuite/tr1/5_numerical_facilities/special_functions/
1278 10_cyl_bessel_k/check_value.cc: Likewise.
1279 * testsuite/tr1/5_numerical_facilities/special_functions/
1280 11_cyl_neumann/check_value.cc: Likewise.
1281 * testsuite/tr1/5_numerical_facilities/special_functions/
1282 21_sph_bessel/check_value.cc: Likewise.
1283 * testsuite/tr1/5_numerical_facilities/special_functions/
1284 23_sph_neumann/check_value.cc: Likewise.
1285
e1539627
RO
12862016-08-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1287
1288 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
1289 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1290 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1291 * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
1292 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
1293 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
1294
c1b6948e
JW
12952016-08-02 Jonathan Wakely <jwakely@redhat.com>
1296
e877144d
JW
1297 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
1298 test if -flto used.
1299
c1b6948e
JW
1300 * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
1301 additional flags for compiling libtestc++.a objects.
1302
9b46e4d6
JW
13032016-08-01 Jonathan Wakely <jwakely@redhat.com>
1304
92d58dee
JW
1305 * include/bits/basic_string.h (data() const): Update comment.
1306 (data()): Add non-const overload for C++17.
1307 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
1308 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
1309
0f86525a
JW
1310 * include/bits/basic_string.tcc: Disable explicit instantiation
1311 declarations for C++17.
1312
9839ff60
JW
1313 * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
1314 ignored "xfail" from { dg-do compile { xfail selector } } directive.
1315 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
1316 Likewise.
1317 * testsuite/26_numerics/headers/cmath/
1318 c99_classification_macros_c++11.cc: Likewise.
1319 * testsuite/26_numerics/headers/cmath/
1320 c99_classification_macros_c++98.cc: Likewise.
1321 * testsuite/26_numerics/headers/cmath/
1322 c99_classification_macros_c.cc: Likewise.
1323
cbcc9fe8
JW
1324 * testsuite/backward/hash_set/check_construct_destroy.cc: Account
1325 for different construct/destroy counts in C++98 mode.
1326
74811472
JW
1327 * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
1328
a02a61ee
JW
1329 * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
1330 later.
1331 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
1332 Likewise.
1333
98b5fb3c
JW
1334 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
1335 C++98-compatible initialization for array.
1336
6f3b8891
JW
1337 * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
1338 unused header and variable from compile-only test.
1339 * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
1340 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
1341 * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
1342 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
1343 Likewise.
1344
2ab794eb
JW
1345 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
1346 Remove duplicate dg-options directive.
1347
4d16871b
JW
1348 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
1349 808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
1350
e3509835
JW
1351 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
1352 linker options from compile-only tests.
1353 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1354 Likewise.
1355
9b46e4d6
JW
1356 * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
1357 supported for C++11 and later.
1358 * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
1359 * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
1360
77c3c27e
UB
13612016-08-01 Uros Bizjak <ubizjak@gmail.com>
1362
1363 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1364
f245e3a0
JW
13652016-07-31 Jonathan Wakely <jwakely@redhat.com>
1366
c4da1da2
JW
1367 * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
1368 compile-only test.
1369
9d5b70b0
JW
1370 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1371 Ensure test is compiled with optimization.
1372
ee628057
JW
1373 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1374 Adjust dg-prune-output pattern for error in C++98 mode.
1375
d23d1bee
JW
1376 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
1377 run for C++11 or later.
1378
f2738d6c
JW
1379 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
1380 test to not rely on GNU extension (escaped normal characters in POSIX
1381 BRE). Enable tests for other strings which are now supported.
1382
77f3d979
JW
1383 * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
1384 c++11 instead of setting -std=gnu++14.
1385
3c040fa4
JW
1386 PR libstdc++/72745
1387 * include/std/array (get): Use positive message for static assertions.
1388 * include/std/functional (_Safe_tuple_element_t): Fix indentation.
1389 * include/std/tuple (tuple_element<I, tuple<>>): Add partial
1390 specialization for invalid indices, with static assertion.
1391 * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
1392
f245e3a0
JW
1393 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
1394 dg-error to relevant line.
1395 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
1396 Likewise.
1397 * testsuite/23_containers/forward_list/requirements/dr438/
1398 assign_neg.cc: Likewise.
1399 * testsuite/23_containers/forward_list/requirements/dr438/
1400 constructor_1_neg.cc: Likewise.
1401 * testsuite/23_containers/forward_list/requirements/dr438/
1402 constructor_2_neg.cc: Likewise.
1403 * testsuite/23_containers/forward_list/requirements/dr438/
1404 insert_neg.cc: Likewise.
1405 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
1406 Likewise.
1407 * testsuite/26_numerics/random/linear_congruential_engine/
1408 requirements/non_uint_neg.cc: Likewise.
1409 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1410 Likewise. Also test for std::atomic_address.
1411
8c914227
VV
14122016-07-31 Ville Voutilainen <ville.voutilainen@gmail.com>
1413
1414 Add missing variable traits, fix testsuite failures.
1415 * include/bits/uses_allocator.h (uses_allocator_v): New.
1416 * include/std/functional (is_bind_expression_v, is_placeholder_v):
1417 Likewise.
1418 * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
1419 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
1420 * testsuite/20_util/duration/literals/range.cc: Likewise.
1421 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
1422 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
1423 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
1424 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
1425 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1426 Likewise.
1427 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
1428 * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
1429 New.
1430
7523c5eb
JW
14312016-07-31 Jonathan Wakely <jwakely@redhat.com>
1432
2f297149
JW
1433 * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
1434 not test 128-bit types.
1435 * testsuite/20_util/is_floating_point/value.cc: Likewise.
1436 * testsuite/20_util/is_integral/value.cc: Likewise.
1437 * testsuite/20_util/is_signed/value.cc: Likewise.
1438 * testsuite/20_util/is_unsigned/value.cc: Likewise.
1439 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
1440 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
1441 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
1442 Likewise.
1443 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1444 Likewise.
1445
7523c5eb
JW
1446 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
1447
137422c8
VV
14482016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
1449
1450 Implement C++17 variable templates for type traits.
1451 * include/std/chrono (treat_as_floating_point_v): New.
1452 * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
1453 (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
1454 (ratio_greater_equal_v): Likewise.
1455 * include/std/system_error (is_error_code_enum_v)
1456 (is_error_condition_enum_v): Likewise.
1457 * include/std/tuple (tuple_size_v): Likewise.
1458 * type_traits (conjunction_v, disjunction_v, negation_v)
1459 (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
1460 (is_array_v, is_pointer_v, is_lvalue_reference_v)
1461 (is_rvalue_reference_v, is_member_object_pointer_v)
1462 (is_member_function_pointer_v, is_enum_v, is_union_v)
1463 (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
1464 (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
1465 (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
1466 (is_trivially_copyable_v, is_standard_layout_v)
1467 (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
1468 (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
1469 (is_constructible_v, is_default_constructible_v)
1470 (is_copy_constructible_v, is_move_constructible_v)
1471 (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
1472 (is_destructible_v, is_trivially_constructible_v)
1473 (is_trivially_default_constructible_v)
1474 (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
1475 (is_trivially_assignable_v, is_trivially_copy_assignable_v)
1476 (is_trivially_move_assignable_v, is_trivially_destructible_v)
1477 (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
1478 (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
1479 (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
1480 (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
1481 (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
1482 (is_same_v, is_base_of_v, is_convertible_v): Likewise.
1483 * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
1484 * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
1485 Likewise.
1486 * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
1487 * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
1488 * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
1489
0c4c4909
AS
14902016-07-29 Andreas Schwab <schwab@linux-m68k.org>
1491
1492 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
1493 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1494 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
1495
fe97ccec
JW
14962016-07-29 Jonathan Wakely <jwakely@redhat.com>
1497
13ec6e5e
JW
1498 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
1499 * doc/html/manual/abi.html: Regenerate.
1500
62589e99
JW
1501 * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
1502 * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
1503 symbols.
1504 * configure: Regenerate.
1505 * testsuite/util/testsuite_abi.cc: Add new symbol version.
1506
fe97ccec
JW
1507 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1508 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1509 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1510 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1511 Likewise.
1512 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1513 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1514 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1515
2de6b254
JW
15162016-07-28 Jonathan Wakely <jwakely@redhat.com>
1517
1a2196e4
JW
1518 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1519 Adjust dg-prune-output pattern for error in C++98 mode.
1520 * testsuite/23_containers/deque/requirements/dr438/
1521 constructor_1_neg.cc: Likewise.
1522 * testsuite/23_containers/deque/requirements/dr438/
1523 constructor_2_neg.cc: Likewise.
1524 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1525 Likewise.
1526 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1527 Likewise.
1528 * testsuite/23_containers/list/requirements/dr438/
1529 constructor_1_neg.cc: Likewise.
1530 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1531 Likewise.
1532 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1533 Likewise.
1534 * testsuite/23_containers/vector/requirements/dr438/
1535 constructor_1_neg.cc: Likewise.
1536 * testsuite/23_containers/vector/requirements/dr438/
1537 constructor_2_neg.cc: Likewise.
1538 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1539 Likewise.
1540
e539b4ff
JW
1541 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
1542 for different construct/destroy counts in C++98 mode.
1543
c3c2f973
JW
1544 * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
1545 dg-options to dg-additional-options so that default options are used.
1546 * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
1547 Likewise.
1548 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
1549 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
1550 Likewise.
1551 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1552 Use dg-additional-options instead of repeating the common options.
1553
2de6b254
JW
1554 * testsuite/22_locale/conversions/string/1.cc: Remove unintended
1555 dg-do compile directive.
1556 * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
1557 dg-do directive.
1558 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
1559
ca8f2cb1
VV
15602016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
1561
1562 Implement std::string_view and P0254r2,
1563 Integrating std::string_view and std::string.
1564 * include/Makefile.am: Add string_view and string_view.tcc
1565 to the exported headers.
1566 * include/Makefile.in: Likewise.
1567 * include/bits/basic_string.h: Include <string_view> in C++17 mode.
1568 (__sv_type): New.
1569 (basic_string(__sv_type, const _Alloc&)): Likewise.
1570 (operator=(__sv_type)): Likewise.
1571 (operator __sv_type()): Likewise.
1572 (operator+=(__sv_type)): Likewise.
1573 (append(__sv_type __sv)): Likewise.
1574 (append(__sv_type, size_type, size_type)): Likewise.
1575 (assign(__sv_type)): Likewise.
1576 (assign(__sv_type, size_type, size_type)): Likewise.
1577 (insert(size_type, __sv_type)): Likewise.
1578 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
1579 (replace(size_type, size_type, __sv_type)): Likewise.
1580 (replace(size_type, size_type, __sv_type, size_type, size_type)):
1581 Likewise.
1582 (replace(const_iterator, const_iterator, __sv_type)): Likewise.
1583 (find(__sv_type, size_type)): Likewise.
1584 (rfind(__sv_type, size_type)): Likewise.
1585 (find_first_of(__sv_type, size_type)): Likewise.
1586 (find_last_of(__sv_type, size_type)): Likewise.
1587 (find_first_not_of(__sv_type, size_type)): Likewise.
1588 (find_last_not_of(__sv_type, size_type)): Likewise.
1589 (compare(__sv_type)): Likewise.
1590 (compare(size_type, size_type, __sv_type)): Likewise.
1591 (compare(size_type, size_type, __sv_type, size_type, size_type)):
1592 Likewise.
1593 * include/bits/string_view.tcc: New.
1594 * include/std/string_view: Likewise.
1595 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
1596 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
1597 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
1598 Likewise.
1599 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
1600 Likewise.
1601 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
1602 Likewise.
1603 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
1604 Likewise.
1605 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
1606 Likewise.
1607 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
1608 Likewise.
1609 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
1610 Likewise.
1611 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
1612 Likewise.
1613 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
1614 Likewise.
1615 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
1616 Likewise.
1617 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
1618 Likewise.
1619 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
1620 Likewise.
1621 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
1622 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
1623 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
1624 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
1625 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
1626 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
1627 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
1628 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
1629 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
1630 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
1631 Likewise.
1632 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
1633 Likewise.
1634 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
1635 Likewise.
1636 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
1637 Likewise.
1638 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
1639 Likewise.
1640 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
1641 Likewise.
1642 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
1643 Likewise.
1644 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
1645 Likewise.
1646 * testsuite/21_strings/basic_string_view/include.cc: Likewise.
1647 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
1648 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
1649 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
1650 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
1651 Likewise.
1652 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
1653 Likewise.
1654 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
1655 Likewise.
1656 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
1657 Likewise.
1658 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
1659 Likewise.
1660 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
1661 Likewise.
1662 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
1663 Likewise.
1664 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
1665 Likewise.
1666 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
1667 Likewise.
1668 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
1669 Likewise.
1670 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
1671 Likewise.
1672 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
1673 Likewise.
1674 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
1675 Likewise.
1676 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
1677 Likewise.
1678 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
1679 Likewise.
1680 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
1681 Likewise.
1682 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
1683 Likewise.
1684 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
1685 Likewise.
1686 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
1687 Likewise.
1688 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
1689 Likewise.
1690 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
1691 Likewise.
1692 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
1693 Likewise.
1694 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
1695 Likewise.
1696 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
1697 Likewise.
1698 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
1699 Likewise.
1700 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
1701 Likewise.
1702 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
1703 Likewise.
1704 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
1705 Likewise.
1706 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
1707 Likewise.
1708 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
1709 Likewise.
1710 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
1711 Likewise.
1712 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
1713 Likewise.
1714 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
1715 Likewise.
1716 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
1717 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
1718 Likewise.
1719 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
1720 Likewise.
1721 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
1722 Likewise.
1723 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
1724 Likewise.
1725 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
1726 Likewise.
1727 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
1728 Likewise.
1729 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
1730 Likewise.
1731 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
1732 Likewise.
1733 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
1734 Likewise.
1735 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
1736 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
1737
427f68c6
JW
17382016-07-27 Jonathan Wakely <jwakely@redhat.com>
1739
1740 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
1741
a837417c
GC
17422016-07-25 Georeth Chow <georeth2010@gmail.com>
1743
1744 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
1745 _S_concat enumerator.
1746 * testsuite/ext/rope/6.cc: New test.
1747
19bb30c0
JW
17482016-07-25 Jonathan Wakely <jwakely@redhat.com>
1749
1750 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
1751 std::mt19937, std::thread and std::atomic to simplify test.
1752 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
1753
960637ac
JW
17542016-07-22 Jonathan Wakely <jwakely@redhat.com>
1755
8cab3d18
JW
1756 PR libstdc++/71964
1757 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
1758 (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
1759 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
1760 * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
1761 * testsuite/23_containers/set/allocator/71964.cc: New test.
1762
960637ac
JW
1763 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
1764 delete[] instead of delete.
1765
22620c14
JW
17662016-07-21 Jonathan Wakely <jwakely@redhat.com>
1767
8b649cd3
JW
1768 * include/experimental/propagate_const (propagate_const::__t): Rename
1769 to _M_t and remove comment. Qualify std::move and std::forward.
1770 * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
1771
509b778f
JW
1772 * testsuite/23_containers/vector/zero_sized_allocations.cc:
1773 Define sized deallocation function.
1774 * testsuite/util/testsuite_new_operators.h:
1775 (operator delete(void*, const std::nothrow_t&)): Define nothrow
1776 deallocation function.
1777
e93a101f
JW
1778 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
1779 reads past the end of strings.
1780 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
1781 Likewise.
1782 * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
1783 invalid array accesses.
1784 * testsuite/experimental/string_view/operations/compare/char/1.cc:
1785 Fix read past the end of string.
1786 * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
1787
0a024155
JW
1788 * testsuite/24_iterators/container_access.cc: Fix missing returns.
1789 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
1790
22620c14
JW
1791 * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
1792 leak) memory for arguments to placement delete.
1793 * testsuite/20_util/addressof/1.cc: Don't leak memory.
1794 * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
1795 * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
1796 Likewise.
1797
18407bfb
JW
17982016-07-20 Jonathan Wakely <jwakely@redhat.com>
1799
09a855ae
JW
1800 * doc/xml/manual/intro.xml: Document DR 2684 status.
1801 * doc/html/*: Regenerate.
1802
e87b7d52
JW
1803 * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
1804 (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
1805 (atomic_uint64_t): Define (LWG 2441).
1806 * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
1807 lines.
1808 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
1809 the new types.
1810 * doc/xml/manual/intro.xml: Document DR 2441 status.
1811
07c772ed
JW
1812 * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
1813 to use perfect forwarding (LWG 2328).
1814 * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
1815 * doc/xml/manual/intro.xml: Document DR 2328 status.
1816
18407bfb
JW
1817 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
1818 static objects for catching nullptr as pointer to member types.
1819
40f3e913
VV
18202016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
1821
1822 Clean up optional's comments.
1823 * include/std/optional: Remove incorrect section headers
1824 from comments when redundant, replace bare section
1825 headers with more descriptive comments.
1826
479d0ed5
JW
18272016-07-15 Jonathan Wakely <jwakely@redhat.com>
1828
4f5f9962
JW
1829 * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
1830 * include/bits/move.h: Likewise.
1831 * include/bits/postypes.h: Likewise.
1832 * include/debug/bitset: Likewise.
1833 * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
1834 * include/ext/string_conversions.h: Change C++0x to __cxx11 in
1835 comment.
1836 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
1837 * testsuite/util/thread/all.h: Likewise.
1838
d1129d45
JW
1839 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
1840 and adjust comment.
1841
479d0ed5
JW
1842 PR c++/58796
1843 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
1844 nullptr match handlers of pointer type.
1845
4db1cb44
ESR
18462016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
1847
1848 Implement C++17 P0025 clamp.
1849 * include/bits/algorithmfwd.h: Declare clamp overloads.
1850 * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp.
1851 * testsuite/25_algorithms/clamp/1.cc: New test.
1852 * testsuite/25_algorithms/clamp/2.cc: New test.
1853 * testsuite/25_algorithms/clamp/constexpr.cc: New test.
1854 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
1855 1.cc: New test.
1856 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
1857 pod.cc: New test.
1858
1ec0f763
VV
18592016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
1860
1861 Fix the constraints for any's assignment operator template to properly
1862 reject assignment from a non-copyable lvalue.
1863 * include/std/any (operator=(_ValueType&&)): Constrain the decayed
1864 type for is_copy_constructible,
1865 * testsuite/20_util/any/requirements.cc: Add a test for
1866 non-copyable lvalues.
1867
0a2bf188
JW
18682016-07-14 Jonathan Wakely <jwakely@redhat.com>
1869
ea5ec6b7
JW
1870 * include/experimental/functional: Include <parallel/algorithm> in
1871 Parallel Mode.
1872
47d5cb3c
JW
1873 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
1874 for std::search.
1875
0a2bf188
JW
1876 PR libstdc++/70716
1877 * include/bits/forward_list.h (forward_list): Update doxygen comments
1878 to reflect allocator propagation semantics. Remove ambiguous
1879 statements about data being lost.
1880 * include/bits/stl_deque.h (deque): Likewise.
1881 * include/bits/stl_list.h (list): Likewise.
1882 * include/bits/stl_map.h (map): Likewise.
1883 * include/bits/stl_multimap.h (multimap): Likewise.
1884 * include/bits/stl_multiset.h (multiset): Likewise.
1885 * include/bits/stl_set.h (set): Likewise.
1886 * include/bits/stl_vector.h (vector): Likewise.
1887 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
1888 Likewise.
1889 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
1890 Likewise.
1891
25a69162
VV
18922016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
1893
1894 Implement P0032R3, Homogeneous interface for variant, any and optional,
1895 for the parts concerning any and optional.
1896 * include/std/any (_Storage()): Make constexpr and have it
1897 initialize _M_ptr.
1898 (any()): Make constexpr.
1899 (any(const any&)): Adjust.
1900 (any(any&&)): Likewise.
1901 (__any_constructible_t): New.
1902 (any(_ValueType&&)): Constrain.
1903 (any(in_place_type_t<_Tp>, _Args&&...)): New.
1904 (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
1905 Likewise.
1906 (~any()): Adjust.
1907 (operator=(const any&)): Likewise.
1908 (operator=(any&&)): Likewise.
1909 (operator=(_ValueType&&)): Constrain.
1910 (emplace(_Args&&...)): New.
1911 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
1912 (clear()): Remove.
1913 (reset()): New.
1914 (swap(any&)): Adjust.
1915 (empty()): Remove.
1916 (has_value()): New.
1917 (type()): Adjust.
1918 (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
1919 (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
1920 (make_any(_Args&&...)): Likewise.
1921 (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
1922 * include/std/optional (in_place_t, in_place): Remove.
1923 (bad_optional_access): Add a comment referring to LEWG 72.
1924 (emplace(_Args&&...)): Constrain.
1925 (has_value()): New.
1926 (reset()): Likewise.
1927 (make_optional(_Args&&...)): Likewise.
1928 (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
1929 * include/std/utility (in_place_tag): New.
1930 (__in_place, __in_place_type, __in_place_index): Likewise.
1931 (in_place_t, in_place_type_t, in_place_index_t): Likewise.
1932 (in_place(__in_place*)): Likewise.
1933 (in_place(__in_place_type<_Tp>*)): Likewise.
1934 (in_place(__in_place_index<_Idx>*)): Likewise.
1935 * testsuite/20_util/any/assign/1.cc: Adjust.
1936 * testsuite/20_util/any/assign/emplace.cc: New.
1937 * testsuite/20_util/any/assign/self.cc: Adjust.
1938 * testsuite/20_util/any/cons/1.cc: Likewise.
1939 * testsuite/20_util/any/cons/in_place.cc: New.
1940 * testsuite/20_util/any/make_any.cc: Likewise.
1941 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
1942 * testsuite/20_util/any/misc/swap.cc: Likewise.
1943 * testsuite/20_util/any/modifiers/1.cc: Likewise.
1944 * testsuite/20_util/any/requirements.cc: New.
1945 * testsuite/20_util/in_place/requirements.cc: Likewise.
1946 * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
1947 * testsuite/20_util/optional/in_place.cc: Likewise.
1948 * testsuite/20_util/optional/make_optional.cc: Add tests for
1949 the new overloads of make_optional.
1950
c0d31471
VV
19512016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
1952
1953 Implement P0307R2, Making Optional Greater Equal Again.
1954 * include/experimental/optional (_Has_addressof): Fix the comment.
1955 * include/std/optional (_Has_addressof): Likewise.
1956 (operator=(_Up&&)): Constrain.
1957 (operator=(const optional<_Up>&)): Likewise.
1958 (operator=(optional<_Up>&&)): Likewise.
1959 (__optional_relop_t): New.
1960 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1961 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
1962 Constrain and make transparent.
1963 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1964 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
1965 Constrain and make transparent.
1966 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1967 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1968 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
1969 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
1970 (operator!=(const optional<_Tp>&, _Tp const&)):
1971 Constrain and make transparent.
1972 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
1973 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
1974 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
1975 (operator>(const optional<_Tp>&, const _Tp&)):
1976 Constrain and make transparent.
1977 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
1978 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
1979 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
1980 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
1981 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
1982 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
1983 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1984 * testsuite/20_util/optional/relops/1.cc: Likewise.
1985 * testsuite/20_util/optional/relops/2.cc: Likewise.
1986 * testsuite/20_util/optional/relops/3.cc: Likewise.
1987 * testsuite/20_util/optional/relops/4.cc: Likewise.
1988 * testsuite/20_util/optional/requirements.cc: Add tests to verify
1989 that optional's relops are transparent and don't synthesize
1990 operators. Also test that assignment sfinaes.
1991
260d92cd
JW
19922016-07-13 Jonathan Wakely <jwakely@redhat.com>
1993
e383deac
JW
1994 PR libstdc++/71856
1995 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
1996 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
1997 Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
1998 on _GLIBCXX_ASSERTIONS.
1999 * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
2000 Include <unistd.h> for sleep.
2001 * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
2002 * include/parallel/merge.h: Likewise.
2003 * include/parallel/multiway_merge.h: Likewise.
2004 * include/parallel/partition.h: Likewise.
2005 * include/parallel/queue.h: Likewise.
2006 * include/parallel/sort.h: Likewise.
2007 * testsuite/25_algorithms/headers/algorithm/
2008 parallel_algorithm_assert.cc: New.
2009
17f8dc93
JW
2010 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
2011 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
2012 Forward to different overload.
2013
260d92cd
JW
2014 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
2015 static.
2016
2d60da10
JW
20172016-07-13 Jonathan Wakely <jwakely@redhat.com>
2018
2019 Revert "Add non-const overload of std::string::data()".
2020
05505e9d
VV
20212016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
2022
86c0ec1d
VV
2023 Implement P0307R2, Making Optional Greater Equal Again.
2024 * include/experimental/optional (_Has_addressof): Fix the comment.
2025 * include/std/optional (_Has_addressof): Likewise.
2026 (operator=(_Up&&)): Constrain.
2027 (operator=(const optional<_Up>&)): Likewise.
2028 (operator=(optional<_Up>&&)): Likewise.
2029 (__optional_relop_t): New.
2030 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
2031 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
2032 Constrain and make transparent.
2033 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
2034 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
2035 Constrain and make transparent.
2036 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
2037 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
2038 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
2039 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
2040 (operator!=(const optional<_Tp>&, _Tp const&)):
2041 Constrain and make transparent.
2042 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
2043 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
2044 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
2045 (operator>(const optional<_Tp>&, const _Tp&)):
2046 Constrain and make transparent.
2047 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
2048 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
2049 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
2050 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
2051 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
2052 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
2053 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
2054 * testsuite/20_util/optional/relops/1.cc: Likewise.
2055 * testsuite/20_util/optional/relops/2.cc: Likewise.
2056 * testsuite/20_util/optional/relops/3.cc: Likewise.
2057 * testsuite/20_util/optional/relops/4.cc: Likewise.
2058 * testsuite/20_util/optional/requirements.cc: Add tests to verify
2059 that optional's relops are transparent and don't synthesize
2060 operators. Also test that assignment sfinaes.
2061
ceea48fc
JW
20622016-07-13 Jonathan Wakely <jwakely@redhat.com>
2063
2064 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
2065 New function.
2066 (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
2067 instead of _M_data().
2068 (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
2069 Likewise.
2070 (append(const basic_string&)): Likewise.
2071 (append(const basic_string&, size_type, size_type)): Likewise.
2072 (assign(const basic_string&, size_type, size_type)): Likewise.
2073 (insert(size_type, const basic_string&)): Likewise.
2074 (insert(size_type, const basic_string&, size_type, size_type)):
2075 Likewise.
2076 (replace(size_type, size_type, const basic_string&, size_type,
2077 size_type)): Likewise.
2078 (replace(__const_iterator, __const_iterator, const basic_string&)):
2079 Likewise.
2080 (c_str(), data()): Use c_str() instead of _M_data().
2081 (data()): Add non-const overload as per LWG 2391 and P0272R1.
2082 (compare(const basic_string&)): Use data() instead of _M_data().
2083 [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
2084 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
2085 Pass raw pointers to _S_copy.
2086 (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
2087 _S_assign.
2088 (find(const _CharT*, size_type, size_type)): Use data instead of
2089 _M_data().
2090 * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
2091 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
2092 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
2093
17b31c05
JW
20942016-07-12 Jonathan Wakely <jwakely@redhat.com>
2095
7cbadfdc
JW
2096 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
2097 * doc/xml/manual/intro.xml: Document DR 2458 status.
2098 * doc/html*: Regenerate.
2099
1b24fb4c
JW
2100 * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
2101 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
2102 Only include <array>.
2103 * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
2104 Likewise.
1b1c16e0 2105 * doc/xml/manual/intro.xml: Document LWG 2212 support.
1b24fb4c
JW
2106 * doc/html*: Regenerate.
2107
17b31c05
JW
2108 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
2109 Add testcase from LWG 2164.
2110
76225d2c
FD
21112016-07-11 François Dumont <fdumont@gcc.gnu.org>
2112
2113 * include/bits/stl_vector.h (push_back(const value_type&)): Forward
2114 to _M_realloc_insert.
2115 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
2116 (_M_realloc_insert): Declare new function.
2117 (_M_emplace_back_aux): Remove definition.
2118 * include/bits/vector.tcc (emplace_back(_Args...)):
2119 Use _M_realloc_insert.
2120 (insert(const_iterator, const value_type&)): Likewise.
2121 (_M_insert_rval, _M_emplace_aux): Likewise.
2122 (_M_emplace_back_aux): Remove declaration.
2123 (_M_realloc_insert): Define.
2124 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
2125 Adjust expected results for emplacing an lvalue with reallocation.
2126
435e56fb
VV
21272016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
2128
2129 Implement std::optional.
2130 * include/Makefile.am: Add optional to exported headers.
2131 * include/Makefile.in: Likewise.
2132 * include/std/optional: New.
2133 * testsuite/20_util/optional/typedefs.cc: Likewise.
2134 * testsuite/20_util/optional/relops/2.cc: Likewise.
2135 * testsuite/20_util/optional/relops/3.cc: Likewise.
2136 * testsuite/20_util/optional/relops/4.cc: Likewise.
2137 * testsuite/20_util/optional/relops/5.cc: Likewise.
2138 * testsuite/20_util/optional/relops/1.cc: Likewise.
2139 * testsuite/20_util/optional/relops/6.cc: Likewise.
2140 * testsuite/20_util/optional/nullopt.cc: Likewise.
2141 * testsuite/20_util/optional/in_place.cc: Likewise.
2142 * testsuite/20_util/optional/make_optional.cc: Likewise.
2143 * testsuite/20_util/optional/assignment/2.cc: Likewise.
2144 * testsuite/20_util/optional/assignment/3.cc: Likewise.
2145 * testsuite/20_util/optional/assignment/4.cc: Likewise.
2146 * testsuite/20_util/optional/assignment/5.cc: Likewise.
2147 * testsuite/20_util/optional/assignment/1.cc: Likewise.
2148 * testsuite/20_util/optional/assignment/6.cc: Likewise.
2149 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
2150 * testsuite/20_util/optional/cons/default.cc: Likewise.
2151 * testsuite/20_util/optional/cons/move.cc: Likewise.
2152 * testsuite/20_util/optional/cons/value.cc: Likewise.
2153 * testsuite/20_util/optional/cons/copy.cc: Likewise.
2154 * testsuite/20_util/optional/requirements.cc: Likewise.
2155 * testsuite/20_util/optional/observers/2.cc: Likewise.
2156 * testsuite/20_util/optional/observers/3.cc: Likewise.
2157 * testsuite/20_util/optional/observers/4.cc: Likewise.
2158 * testsuite/20_util/optional/observers/5.cc: Likewise.
2159 * testsuite/20_util/optional/observers/1.cc: Likewise.
2160 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
2161 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
2162 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
2163 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
2164 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
2165 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
2166 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
2167 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
2168 * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
2169 * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
2170 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
2171 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
2172 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
2173 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
2174 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
2175 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
2176 * testsuite/20_util/optional/swap/1.cc: Likewise.
2177
d81102f4
JW
21782016-07-08 Jonathan Wakely <jwakely@redhat.com>
2179
2180 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
2181
9fc0faf0
JW
21822016-07-07 Jonathan Wakely <jwakely@redhat.com>
2183
2184 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
2185 * doc/html/*: Regenerate.
2186
52e86221
VV
21872016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
2188
2189 Implement std::any.
2190 * include/Makefile.am: Add any and c++17_warning.h to exported headers.
2191 * include/Makefile.in: Likewise.
2192 * include/std/any: New.
2193 * testsuite/20_util/any/assign/1.cc: Likewise.
2194 * testsuite/20_util/any/assign/2.cc: Likewise.
2195 * testsuite/20_util/any/assign/self.cc: Likewise.
2196 * testsuite/20_util/any/cons/1.cc: Likewise.
2197 * testsuite/20_util/any/cons/2.cc: Likewise.
2198 * testsuite/20_util/any/cons/aligned.cc: Likewise.
2199 * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
2200 * testsuite/20_util/any/misc/any_cast.cc: Likewise.
2201 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
2202 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
2203 * testsuite/20_util/any/misc/swap.cc: Likewise.
2204 * testsuite/20_util/any/modifiers/1.cc: Likewise.
2205 * testsuite/20_util/any/observers/type.cc: Likewise.
2206 * testsuite/20_util/any/typedefs.cc: Likewise.
2207
3042e708
VV
22082016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
2209
2210 Add a new header for diagnosing the use of C++17 facilities
2211 in pre-C++17 modes.
2212 * include/bits/c++17_warning.h: New.
2213
6ffe8548
VV
22142016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
2215
2216 Implement LWG 2451, optional<T> should 'forward' T's
2217 implicit conversions.
2218 * include/experimental/optional (__is_optional_impl, __is_optional):
2219 New.
2220 (optional()): Make constexpr and default.
2221 (optional(_Up&&), optional(const optional<_Up>&),
2222 optional(optional<_Up>&& __t): New.
2223 (operator=(_Up&&)): Constrain.
2224 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
2225 * testsuite/experimental/optional/cons/value.cc:
2226 Add tests for the functionality added by LWG 2451.
2227 * testsuite/experimental/optional/cons/value_neg.cc: New.
2228
7d4f48b5
VV
22292016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
2230
2231 Implement LWG 2509,
2232 any_cast doesn't work with rvalue reference targets and cannot
2233 move with a value target.
2234 * include/experimental/any (any(_ValueType&&)): Constrain and
2235 add an overload that doesn't forward.
2236 (any_cast(any&&)): Constrain and add an overload that moves.
2237 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
2238 the functionality added by LWG 2509.
2239
097e8994
FD
22402016-07-04 François Dumont <fdumont@gcc.gnu.org>
2241
2242 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
2243 New test.
2244 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
2245 test.
2246
9958c7eb
JW
22472016-07-04 Jonathan Wakely <jwakely@redhat.com>
2248
2249 * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
2250 Define inline. Forward to _M_emplace_aux.
2251 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
2252 (_M_insert_rval, _M_emplace_aux): Declare new functions.
2253 (_Temporary_value): New RAII type using allocator to construct/destroy.
2254 (_S_insert_aux_assign): Remove.
2255 (_M_insert_aux): Make non-variadic.
2256 * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
2257 Use _Temporary_value.
2258 (emplace(const_iterator, _Args&&...)): Remove definition.
2259 (_M_insert_rval, _M_emplace_aux): Define.
2260 (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
2261 (_M_fill_insert): Use _Temporary_value.
2262 * testsuite/23_containers/vector/allocator/construction.cc: New test.
2263 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
2264 Adjust expected results for emplacing an lvalue with reallocation.
2265 * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
2266 expected results to account for construction/destruction of temporary
2267 using allocator.
2268 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
2269
e12880f9
VV
22702016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
2271
2272 PR libstdc++/71313
2273 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
2274 Call remove_all for children of a directory.
2275 * testsuite/experimental/filesystem/operations/create_directories.cc:
2276 Adjust.
2277
6c539f2e
FD
22782016-07-02 François Dumont <fdumont@gcc.gnu.org>
2279
2280 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
2281 dg-error line numbers.
2282 * testsuite/23_containers/array/tuple_interface/
2283 tuple_element_debug_neg.cc: Likewise.
2284 * testsuite/25_algorithms/lexicographical_compare/debug/
2285 irreflexive_neg.cc: Remove.
2286
72fb6bae
TP
22872016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
2288
2289 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
2290 than specific target.
2291
dc448fa0
FD
22922016-06-27 François Dumont <fdumont@gcc.gnu.org>
2293
2294 PR libstdc++/71640
2295 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
2296 friend declaration.
2297
e615c24c
FD
22982016-06-23 François Dumont <fdumont@gcc.gnu.org>
2299
2300 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
2301 zero-size array.
2302
0609abda
TS
23032016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2304
2305 * configure.host: Remove mep-* support.
2306
8466af06
TS
23072016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2308
2309 * configure: Regenerate.
2310 * configure.host: Remove support for knetbsd.
2311 * crossconfig.m4: Likewise.
2312
29dbb034
FD
23132016-06-20 François Dumont <fdumont@gcc.gnu.org>
2314
2315 PR libstdc++/71181
2316 * include/tr1/hashtable_policy.h
2317 (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
2318 dereferenceable to avoid check on lower_bound result.
2319 (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
2320 (_Prime_rehash_policy::_M_need_rehash): Likewise.
2321 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
2322 Always return a value greater than input value. Set _M_next_resize to
2323 max value when reaching highest prime number.
2324 * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
2325 being now useless.
2326 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
2327 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
2328 (test02): New.
2329 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
2330 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
2331 Fix indentation.
2332
3ebacabd
JW
23332016-06-17 Jonathan Wakely <jwakely@redhat.com>
2334
2335 PR libstdc++/71545
2336 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
2337 Remove irreflexive checks.
2338 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
2339 binary_search): Likewise.
2340 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
2341 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
2342 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
2343 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
2344 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
2345 Add constructor from array.
2346
bd2ee798
FD
23472016-06-16 François Dumont <fdumont@gcc.gnu.org>
2348
2349 * include/debug/debug.h
2350 (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
2351 (__glibcxx_requires_subscript): Move...
2352 * include/debug/assertions.h: ...here and add __builtin_expect.
2353 (_GLIBCXX_DEBUG_ONLY): Remove ; value.
2354 * include/bits/stl_deque.h
2355 (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
2356 (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
2357 (std::deque<>::back()): Likewise.
2358 (std::deque<>::pop_front()): Likewise.
2359 (std::deque<>::pop_back()): Likewise.
2360 (std::deque<>::swap(deque&)): Add allocator check.
2361 * include/bits/stl_vector.h
2362 (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
2363 (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
2364 (std::vector<>::back()): Likewise.
2365 (std::vector<>::pop_back()): Likewise.
2366 (std::vector<>::swap(vector&)): Add allocator check.
2367
6b9539e2
DK
23682016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
2369
2370 Provide swappable traits (p0185r1)
2371 * include/std/type_traits (is_swappable, is_nothrow_swappable,
2372 is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
2373 is_nothrow_swappable_v, is_swappable_with_v,
2374 is_nothrow_swappable_with_v): New.
2375 * include/bits/stl_pair.h: Use it as per p0185r1.
2376 * include/bits/stl_queue.h: Likewise.
2377 * include/bits/stl_stack.h: Likewise.
2378 * include/bits/unique_ptr.h: Likewise.
2379 * include/std/tuple: Likewise.
2380 * include/std/array: Likewise. Fix zero-size member swap.
2381 * include/bits/hashtable.h: Use __and_.
2382 * testsuite/20_util/is_nothrow_swappable/requirements/
2383 explicit_instantiation.cc: Change test options to std=gnu++17.
2384 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
2385 Likewise.
2386 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
2387 * testsuite/20_util/is_swappable/requirements/
2388 explicit_instantiation.cc: Likewise.
2389 * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
2390 * testsuite/20_util/is_swappable/value.cc: Likewise.
2391 * testsuite/20_util/is_nothrow_swappable/requirements/
2392 explicit_instantiation_ext.cc: New.
2393 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
2394 New.
2395 * testsuite/20_util/is_nothrow_swappable/value.h: New.
2396 * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
2397 * testsuite/20_util/is_nothrow_swappable_with/requirements/
2398 explicit_instantiation.cc: New.
2399 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
2400 New.
2401 * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
2402 * testsuite/20_util/is_swappable/requirements/
2403 explicit_instantiation_ext.cc: New.
2404 * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
2405 * testsuite/20_util/is_swappable/value.h: New.
2406 * testsuite/20_util/is_swappable/value_ext.cc: New.
2407 * testsuite/20_util/is_swappable_with/requirements/
2408 explicit_instantiation.cc: New.
2409 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
2410 * testsuite/20_util/is_swappable_with/value.cc: New.
2411 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
2412 dg-error line numbers.
2413 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
2414 Likewise.
2415
0ae207e9
JW
24162016-06-16 Jonathan Wakely <jwakely@redhat.com>
2417
33ac58d5
JW
2418 * include/std/array: Remove trailing whitespace.
2419 * include/std/atomic: Likewise.
2420 * include/std/bitset: Likewise.
2421 * include/std/chrono: Likewise.
2422 * include/std/complex: Likewise.
2423 * include/std/condition_variable: Likewise.
2424 * include/std/fstream: Likewise.
2425 * include/std/functional: Likewise.
2426 * include/std/future: Likewise.
2427 * include/std/iomanip: Likewise.
2428 * include/std/iosfwd: Likewise.
2429 * include/std/istream: Likewise.
2430 * include/std/limits: Likewise.
2431 * include/std/ratio: Likewise.
2432 * include/std/scoped_allocator: Likewise.
2433 * include/std/sstream: Likewise.
2434 * include/std/stdexcept: Likewise.
2435 * include/std/string: Likewise.
2436 * include/std/system_error: Likewise.
2437 * include/std/thread: Likewise.
2438 * include/std/tuple: Likewise.
2439 * include/std/type_traits: Likewise.
2440 * include/std/utility: Likewise.
2441 * include/std/valarray: Likewise.
2442 * include/std/vector: Likewise.
2443
0ae207e9
JW
2444 * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
2445 new overloaded functions.
2446 * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
2447 to avoid creating a redundant temporary.
2448 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
2449 test.
2450
d7e16fc5
FD
24512016-06-15 François Dumont <fdumont@gcc.gnu.org>
2452
2453 * include/bits/stl_deque.h
2454 (std::deque<>::operator=): Call _M_assign_aux.
2455 (std::deque<>::assign(initializer_list<>)): Likewise.
2456 (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
2457 (std::deque<>::insert(const_iterator, initializer_list<>)):
2458 Call _M_range_insert_aux.
2459 (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
2460 Likewise.
2461 (std::deque<>::_M_fill_assign): Call _M_fill_insert.
2462 (std::deque<>::_M_move_assign2): Call _M_assign_aux.
2463 * include/bits/deque.tcc
2464 (std::deque<>::operator=): Call _M_range_insert_aux.
2465 (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
2466 Likewise.
2467 * include/bits/stl_vector.h
2468 (std::vector<>::operator=): Call _M_assign_aux.
2469 (std::vector<>::assign(initializer_list<>)): Likewise.
2470 (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
2471 (std::vector<>::insert(const_iterator, initializer_list<>)):
2472 Call _M_range_insert.
2473 * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
2474
373c0095
FD
24752016-06-07 François Dumont <fdumont@gcc.gnu.org>
2476
2477 * include/std/tuple (_Head_base<>): Default specialization condition at
2478 type declaration.
2479
dbc6221f
VV
24802016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
2481
2482 Support allocators in tuples of zero size.
2483 * include/std/tuple (tuple<>::tuple(),
2484 tuple<>::tuple(allocator_arg_t, const _Alloc&),
2485 tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
2486 * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
2487
94229fb6
JW
24882016-06-06 Jonathan Wakely <jwakely@redhat.com>
2489
2490 PR libstdc++/71320
2491 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
2492 Add or remove permissions according to perms argument.
2493 * testsuite/experimental/filesystem/operations/permissions.cc: New
2494 test.
2495
7a667453
VV
24962016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
2497
2498 Protect allocator-overloads of tuple-from-tuple constructors
2499 from cases that would create dangling references.
2500 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2501 const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
2502 tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
2503 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
2504
4acc3634
GP
25052016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
2506
2507 * doc/xml/manual/backwards_compatibility.xml: Adjust
2508 lists.debian.org link to https.
2509 * doc/html/manual/backwards.html: Regenerate.
2510
9020909e
JW
25112016-05-27 Jonathan Wakely <jwakely@redhat.com>
2512
2513 * doc/xml/manual/abi.xml: Adjust URL to use https.
2514 * doc/html/manual/*: Regenerate.
2515
b7021006
VV
25162016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
2517
2518 PR libstdc++/66338
2519 * include/std/tuple (_TMC): Add a check for _NotSameTuple.
2520 * include/std/tuple (tuple(_UElements&&...)): Remove the separate
2521 check for _NotSameTuple.
2522 * include/std/tuple (_TMCT): New.
2523 * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
2524 * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
2525 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2526 const tuple<_UElements...>&)): Likewise.
2527 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2528 tuple<_UElements...>&&)): Likewise.
2529 * testsuite/20_util/tuple/cons/66338.cc: New.
2530
834f4c43
JW
25312016-05-25 Jonathan Wakely <jwakely@redhat.com>
2532
c42d2288
JW
2533 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
2534 * configure: Regenerate.
2535 * config.h.in: Regenerate.
2536
834f4c43
JW
2537 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
2538 * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
2539 Remove const qualification on function. Replace
2540 _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
2541 (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
2542 (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
2543
732eb076
FD
25442016-05-24 François Dumont <fdumont@gcc.gnu.org>
2545
2546 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
2547 * include/bits/hashtable_policy.h
2548 (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
2549 having load factor management.
2550 (_Mask_range_hashing): New.
2551 (__clp2): New.
2552 (_Power2_rehash_policy): New.
2553 (_Inserts<>): Remove last template parameter, _Unique_keys, so that
2554 partial specializations only depend on whether iterators are constant
2555 or not.
2556 * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
2557 test new hash policy.
2558 * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
2559 Likewise.
2560 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
2561 Likewise.
2562 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
2563 Likewise.
2564 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
2565 Likewise.
2566 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
2567 New.
2568 * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
2569 using the new hash policy.
2570 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
2571
8be062c6
JW
25722016-05-24 Jonathan Wakely <jwakely@redhat.com>
2573
2574 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
2575
447caf82
FD
25762016-05-23 François Dumont <fdumont@gcc.gnu.org>
2577
2578 * include/debug/safe_iterator.h
2579 (_Safe_iterator<>::operator->()): Implement using underlying iterator
2580 operator ->.
2581 * include/debug/safe_local_iterator.h
2582 (_Safe_local_iterator<>::operator->()): Likewise.
2583
11f8114b
TP
25842016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
2585
2586 * testsuite/experimental/memory_resource/1.cc: Add required argument
2587 to dg-require-atomic-builtins.
2588
541a9b10
JW
25892016-05-13 Jonathan Wakely <jwakely@redhat.com>
2590
2591 PR libstdc++/71073
2592 * include/debug/bitset: Add #pragma GCC system_header.
2593 * include/debug/deque: Likewise.
2594 * include/debug/list: Likewise.
2595 * include/debug/map: Likewise.
2596 * include/debug/set: Likewise.
2597 * include/debug/string: Likewise.
2598 * include/debug/unordered_map: Likewise.
2599 * include/debug/unordered_set: Likewise.
2600 * include/debug/vector: Likewise.
2601 * include/debug/functions.h: Adjust whitespace.
2602
068b220e
JW
26032016-05-12 Jonathan Wakely <jwakely@redhat.com>
2604
2605 PR libstdc++/71081
2606 * testsuite/experimental/memory_resource/1.cc: Require atomics.
2607
3d73ae6e
JW
26082016-05-11 Jonathan Wakely <jwakely@redhat.com>
2609
2610 PR libstdc++/71049
2611 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
2612 exception constructors with __sso_string parameters.
2613
d7187f9e
JW
26142016-05-10 Jonathan Wakely <jwakely@redhat.com>
2615
7f99d40a
JW
2616 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
2617 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
2618 Test begin and end functions.
2619 * testsuite/experimental/filesystem/iterators/
2620 recursive_directory_iterator.cc: Likewise.
2621
6fe673ad
JW
2622 PR libstdc++/71038
2623 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
2624 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
2625
77a87b2a
JW
2626 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
2627 Overload operator* to move from rvalues.
2628
f9a39467
JW
2629 PR libstdc++/71036
2630 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
2631 * testsuite/experimental/filesystem/operations/create_directory.cc:
2632 New test.
2633
6f0800d4
JW
2634 PR libstdc++/71037
2635 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
2636 base path to exception.
2637 * testsuite/experimental/filesystem/operations/canonical.cc: Test
2638 paths contained in exception.
2639
f10b2e1c
JW
2640 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
2641 using declaration.
2642
d7187f9e
JW
2643 PR libstdc++/71005
2644 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
2645 New type.
2646 (directory_iterator::operator++(int)): Return proxy.
2647 (recursive_directory_iterator::operator++(int)): Likewise.
2648 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
2649 Test post-increment.
2650 * testsuite/experimental/filesystem/iterators/
2651 recursive_directory_iterator.cc: Likewise.
2652
7972e246
JW
26532016-05-09 Jonathan Wakely <jwakely@redhat.com>
2654
2655 PR libstdc++/71004
2656 * testsuite/experimental/filesystem/iterators/
2657 recursive_directory_iterator.cc: Fix test02 to not call member
2658 functions on invalid iterator, and use VERIFY not assert.
2659
fb334765
VV
26602016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
2661
2662 Avoid endless run-time recursion for copying single-element
2663 tuples where the element type is by-value constructible
2664 from any type.
2665 * include/std/tuple (_NotSameTuple): New.
2666 * include/std/tuple (tuple(_UElements&&...): Use it.
2667 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
2668
e4cce0ce
JW
26692016-05-09 Jonathan Wakely <jwakely@redhat.com>
2670
2671 PR libstdc++/71004
2672 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
2673 Initialize scalar member variables in default constructor.
2674 * testsuite/experimental/filesystem/iterators/
d7187f9e 2675 recursive_directory_iterator.cc: Test default construction.
e4cce0ce 2676
40436d81
RO
26772016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2678
2679 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
2680
f5c40ce2
JW
26812016-05-05 Jonathan Wakely <jwakely@redhat.com>
2682
2683 * testsuite/experimental/filesystem/path/native/string.cc: Add
2684 dg-require-filesystem-ts directive.
2685
d9cb3e75
JW
26862016-05-04 Jonathan Wakely <jwakely@redhat.com>
2687
2688 PR libstdc++/70940
2689 * include/experimental/memory_resource
2690 (__resource_adaptor_imp::do_allocate): Do not default-construct
2691 rebound allocator.
2692 (__resource_adaptor_imp::do_deallocate): Likewise. Use
2693 allocator_traits to get pointer type.
2694 (__null_memory_resource::do_allocate): Remove unused parameters.
2695 (__null_memory_resource::do_deallocate): Likewise.
2696 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
2697 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
2698 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
2699 move to ...
2700 * testsuite/experimental/memory_resource/1.cc: Here.
2701 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
2702 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
2703
f92ab29f
CG
27042016-04-29 Chris Gregory <czipperz@gmail.com>
2705
2706 * config/*: Remove trailing whitespace.
2707 * src/*: Likewise.
2708 * testsuite/tr1/*: Likewise.
2709 * testsuite/util/*: Likewise.
2710
272b2ce4
JW
27112016-04-28 Jonathan Wakely <jwakely@redhat.com>
2712
9f9eb84e
JW
2713 PR libstdc++/70766
2714 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
2715 __addressof.
2716 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
2717 Likewise.
2718 * include/std/atomic (atomic<_Tp>): Likewise.
2719 * include/std/shared_mutex (shared_lock): Likewise.
2720 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
2721 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
2722 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
2723 * testsuite/29_atomics/atomic/70766.cc: New test.
2724 * testsuite/30_threads/shared_lock/70766.cc: New test.
2725
272b2ce4
JW
2726 * include/bits/hashtable_policy.h (__detail::_Insert_base,
2727 __detail::_Insert): Improve comments.
2728
45e20696
JW
27292016-04-27 Jonathan Wakely <jwakely@redhat.com>
2730
2731 PR libstdc++/70767
2732 * include/std/limits: Update comments about DRs.
2733 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
2734 numeric_limits<const volatile _Tp>): Define unconditionally.
2735
a635cdb2
JW
27362016-04-24 Jonathan Wakely <jwakely@redhat.com>
2737
2738 PR libstdc++/70762
2739 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
2740 static counter to return a different path on every call.
2741
216f7526
TS
27422016-04-22 Tim Shen <timshen@google.com>
2743
2744 PR libstdc++/70745
2745 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
2746 Fix the match_not_bow and match_not_eow behavior.
2747 * testsuite/28_regex/regression.cc: Add testcase.
2748
a1e1ec76
JW
27492016-04-20 Jonathan Wakely <jwakely@redhat.com>
2750
2751 PR libstdc++/69703
2752 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
2753 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
2754
9c476ad4
JW
27552016-04-19 Jonathan Wakely <jwakely@redhat.com>
2756
29ca91f7 2757 PR libstdc++/69703
a1e1ec76 2758 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
29ca91f7
JW
2759 Override endianness bit in mode.
2760 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
2761 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
2762 that little_endian mode is ignored.
2763 * testsuite/experimental/filesystem/path/native/string.cc: New test.
2764
14905251
JW
2765 PR libstdc++/70609
2766 * src/filesystem/ops.cc (close_fd): New function.
2767 (do_copy_file): Set permissions before copying file contents. Check
2768 result of closing file descriptors. Don't copy streambuf when file
2769 is empty.
2770 (copy(const path&, const path&, copy_options, error_code&)): Use
2771 lstat for source file when copy_symlinks is set.
2772 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
2773
9c476ad4
JW
2774 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
2775 operator~ operator&=, operator|=, operator^=): Add noexcept to
2776 overloaded operators for copy_options, perms and directory_options.
2777 * src/filesystem/ops.cc (make_file_type, make_file_status,
2778 is_not_found_errno, file_time): Add noexcept.
2779
d855ad89
ESR
27802016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
2781
2782 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
2783
8dc1e574
JW
27842016-04-18 Jonathan Wakely <jwakely@redhat.com>
2785
0cded43d
JW
2786 PR libstdc++/41759
2787 * include/bits/random.h: Reword static assertion messages to state
2788 positive conditions.
2789 * include/bits/random.tcc: Likewise.
2790 * include/bits/uniform_int_dist.h: Likewise.
2791 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
2792 patterns.
2793
90751aa7
JW
2794 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
2795
351a5f81
JW
2796 * config/cpu/sh/atomicity.h: Fix typo in comment.
2797
b05cf382
JW
2798 PR libstdc++/70294
2799 * include/std/thread (operator<, operator==): Move definitions to
2800 namespace-scope.
2801 * testsuite/30_threads/thread/id/70294.cc: New test.
2802
4ed6e524
JW
2803 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
2804 -Wno-pedantic to dg-options.
2805 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
2806 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
2807 to dg-options.
2808 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
2809 Remove extra semi-colon.
2810 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
2811 Always supply second argument to static_assert.
2812 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
2813 semi-colon.
2814 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
2815 dg-options.
2816 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
2817 * testsuite/29_atomics/atomic/60695.cc: Likewise.
2818 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
2819 alignof when operand is an object not a type.
2820 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
2821 * testsuite/decimal/make-decimal.cc: Likewise.
2822 * testsuite/experimental/type_traits/value.cc: Always supply second
2823 argument to static_assert.
2824 * testsuite/util/testsuite_common_types.h: Use __extension__ for
2825 __int128 types.
2826
abb6e0a1
JW
2827 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
2828 internal header.
2829 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
2830 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
2831 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
2832 Likewise. Add licence and change to compile-only test.
2833
6b6147dd
JW
2834 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
2835 unused parameter.
2836 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
2837
8dc1e574
JW
2838 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
2839 warnings.
2840
80dbaf98
ESR
28412016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
2842
2843 * include/bits/specfun.h: Trivial comment misspelling.
2844
9f285ccb
JM
28452016-04-14 Jason Merrill <jason@redhat.com>
2846
2847 Revert Jonathan's empty ABI change from yesterday.
2848
342fac95
MS
28492016-04-13 Martin Sebor <msebor@redhat.com>
2850
2851 PR c++/69517
2852 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
2853 upper bound is positive.
2854
a6297ab5
JW
28552016-04-13 Jonathan Wakely <jwakely@redhat.com>
2856
2857 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
2858 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
2859 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
2860 of functions taking empty structs by value. Add a template parameter
2861 to overloads without hints. Rename overloads with hints to
2862 _M_emplace_hint.
2863 (_Hashtable::_M_erase(true_type, const_iterator),
2864 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
2865 by reordering parameters.
2866 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
2867 _M_emplace_hint instead of _M_emplace.
2868 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
2869 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
2870 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
2871 __shared_ptr): Likewise.
2872 * include/bits/stl_algo.h (replace_if): Likewise.
2873 * include/bits/stl_pair.h (piecewise_construct_t,
2874 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
2875 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
2876 __uses_alloc0): Likewise.
2877 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
2878 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
2879 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
2880 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2881 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
2882 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
2883 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
2884
0c39f36d
ESR
28852016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
2886
2887 Document C++17/TR29124 C++ Special Math Functions.
2888 * include/bits/specfun.h: Add Doxygen markup.
2889
6da8b931
JW
28902016-04-07 Jonathan Wakely <jwakely@redhat.com>
2891
2892 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
2893
49a52ebc
EB
28942016-04-06 Eric Botcazou <ebotcazou@adacore.com>
2895
2896 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
2897 * src/Makefile.in: Regenerate.
2898
87cec93e
JW
28992016-04-05 Jonathan Wakely <jwakely@redhat.com>
2900
d2aee115
JW
2901 PR libstdc++/70554
2902 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
2903 __atomic_fetch_add for bool.
2904 * configure: Regenerate.
2905
d5ec69f3
JW
2906 * testsuite/30_threads/thread/70503.cc: Require -static to work.
2907
87cec93e
JW
2908 PR libstdc++/70503
2909 * src/c++11/thread.cc (execute_native_thread_routine,
2910 execute_native_thread_routine_compat): Give internal linkage.
2911 * testsuite/30_threads/thread/70503.cc: New test.
2912
7b3318c4
VV
29132016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
2914
2915 PR libstdc++/70437
2916 * include/bits/stl_pair.h (_ConstructiblePair,
2917 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
2918 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
2919 for same-type cases.
2920 * testsuite/20_util/pair/70437.cc: New.
2921
00e6c25a
JW
29222016-03-24 Jonathan Wakely <jwakely@redhat.com>
2923
2924 PR libstdc++/69945
2925 * config/abi/pre/gnu.ver: Add new symbol.
2926 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
2927 * testsuite/18_support/free_eh_pool.cc: New test.
2928
bfd84e6b
BE
29292016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
2930
2931 * include/Makefile.am (install-freestanding-headers): Add
2932 concept_check.h and move.h to the installed headers.
2933 * include/Makefile.in: Regenerated.
2934 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
2935 freestanding implementations.
2936 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
2937 that this macro has no effect for freestanding implementations.
2938 * doc/html/manual/using_macros.html: Likewise.
2939
86715b09
JW
29402016-02-24 Jonathan Wakely <jwakely@redhat.com>
2941
2942 PR libstdc++/69939
2943 * include/experimental/tuple (__apply_impl): Qualify get and forward.
2944
9aee022e
JW
29452016-02-23 Jonathan Wakely <jwakely@redhat.com>
2946
be9967e8
JW
2947 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
2948 * doc/html/*: Regenerate.
2949
9aee022e
JW
2950 PR libstdc++/69893
2951 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
2952 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
2953 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
2954 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
2955 trunc) [__cplusplus >= 201103L]: Import from namespace std.
2956 (fabs) [__cplusplus < 201103L]: Import from namespace std.
2957 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
2958 Likewise.
2959 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
2960 namespace before including TR1 headers.
2961 * testsuite/tr1/headers/c++200x/math.cc: New test.
2962
5f6dd593
BE
29632016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
2964
2965 PR libstdc++/69881
2966 * include/c_global/cstdarg: Undefine __need___va_list.
2967 * include/c_global/cstddef: Undefine all kinds of __need_*.
2968
244901a5
TS
29692016-02-16 Tim Shen <timshen@google.com>
2970
2971 PR libstdc++/69794
2972 * include/bits/regex_scanner.h: Add different special character
2973 sets for grep and egrep regex.
2974 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
2975 * testsuite/28_regex/regression.cc: Add new testcase.
2976
cc07da33
JW
29772016-02-08 Jonathan Wakely <jwakely@redhat.com>
2978
2158532f
JW
2979 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
2980 added 'constexpr' in previous commit.
2981 * configure: Regenerate.
2982
cc07da33
JW
2983 PR libstdc++/48891
2984 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
2985 checks for all targets except *-*-solaris2.* and ensure we find the
2986 libc math.h header not our own.
2987 * configure: Regenerate.
2988
acc04646
DV
29892016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
2990
2991 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
2992 New file. Copied over from s390-linux-gnu.
2993
dbcda3ee
JW
29942016-02-04 Jonathan Wakely <jwakely@redhat.com>
2995
3555173f
JW
2996 PR libstdc++/69626
2997 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
2998 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
2999 * config.h.in: Regenerate.
3000 * configure: Regenerate.
3001 * testsuite/21_strings/c_strings/char/69626.cc: New.
3002
15ebf379
JW
3003 * doc/html/index.html: Regenerate.
3004
dbcda3ee
JW
3005 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
3006 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
3007 * doc/html/*: Regenerate.
3008
571512d5
BE
30092016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
3010
3011 PR libstdc++/69581
3012 * include/c_compatibility/math.h: Move header guards.
3013 * include/c_compatibility/stdlib.h: Likewise.
3014
f597d5f7
JW
30152016-01-29 Jonathan Wakely <jwakely@redhat.com>
3016
3017 PR libstdc++/69506
3018 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
3019
69b0daeb
JDA
30202016-01-28 John David Anglin <danglin@gcc.gnu.org>
3021
3022 PR libstdc++/69450
3023 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
3024 isinf and isnan functions into two independent checks. Check on hpux.
3025 * config.h.in: Regenerate.
3026 * configure: Regenerate.
3027 * include/c_global/cmath (isinf(double), isnan(double)): Use
3028 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
3029 respectively.
3030
8dc781e4
JJ
30312016-01-27 Jakub Jelinek <jakub@redhat.com>
3032
3033 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
3034
bae87f7f
JW
30352016-01-27 Jonathan Wakely <jwakely@redhat.com>
3036
3037 PR libstdc++/69295
3038 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
3039 -ffp-contract=off, and -ffloat-store to disable excess precision.
3040 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
3041 -ffp-contract=off.
3042
f1d591e8
JW
30432016-01-26 Jonathan Wakely <jwakely@redhat.com>
3044
3045 PR libstdc++/69478
3046 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
3047 random_access_iterator_tag>): Check is_move_assignable when moving.
3048 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
3049 Likewise.
3050 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
3051 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
3052 * testsuite/25_algorithms/move/69478.cc: New.
3053 * testsuite/25_algorithms/move_backward/69478.cc: new.
3054
8964d2a0
AP
30552016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
3056
3057 * include/c_compatibility/stdlib.h: Include wide character related
3058 definitions only when they are available in cstdlib.
3059
2944621e
JW
30602016-01-25 Jonathan Wakely <jwakely@redhat.com>
3061
3062 PR libstdc++/69464
3063 * include/Makefile.am: Add new header.
3064 * include/Makefile.in: Regenerate.
3065 * include/bits/random.h (uniform_int_distribution): Move to
3066 bits/uniform_int_dist.h.
3067 * include/bits/random.tcc (uniform_int_distribution::operator(),
3068 uniform_int_distribution::__generate_impl): Likewise.
3069 * include/bits/uniform_int_dist.h: New header.
3070 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
3071 <bits/uniform_int_dist.h> instead of <random>.
3072 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
3073 move_iterators/1.cc: Include correct header for uninitialized_copy.
3074 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
3075 move_iterators/1.cc: Likewise.
3076 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
3077 header for vector.
3078 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
3079
3676c087
JDA
30802016-01-23 John David Anglin <danglin@gcc.gnu.org>
3081
3082 PR libstdc++/69446
3083 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
3084
02dc2419
ESR
30852016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
3086
3087 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
3088 * include/c_compatibility/math.h: Import the TR29124 functions
3089 into the global namespace.
3090 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
3091 xfail and make compile-only.
3092 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
3093 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
3094 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
3095 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
3096 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
3097 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
3098 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
3099 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
3100 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
3101 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
3102 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
3103 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
3104 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
3105 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
3106 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
3107 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
3108 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
3109 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
3110 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
3111 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
3112
350fe282
JW
31132016-01-22 Jonathan Wakely <jwakely@redhat.com>
3114
d1fb377c
JW
3115 PR libstdc++/69116
3116 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
3117 define result_type for types which can be safely used with valarrays.
3118 * testsuite/26_numerics/valarray/69116.cc: New.
3119
350fe282
JW
3120 PR libstdc++/69413
3121 * config/os/gnu-linux/os_defines.h: Define
3122 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
3123 * include/c_global/cmath (isinf, isnan): Check it.
3124 * doc/xml/manual/internals.xml: Document it.
3125 * doc/html/*: Regenerate.
3126
ab56cbed
JW
31272016-01-21 Jonathan Wakely <jwakely@redhat.com>
3128
3129 PR libstdc++/69406
3130 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
3131 * include/ext/type_traits.h: Likewise.
3132 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
3133 for presence of C headers.
3134 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
3135 dg-error line number.
3136 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
3137 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
3138 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
3139
7e10bcfa
TR
31402016-01-20 Torvald Riegel <triegel@redhat.com>
3141
3142 PR libstdc++/69310
3143 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
3144
eac437bf
JW
31452016-01-20 Jonathan Wakely <jwakely@redhat.com>
3146
3f93466a
JW
3147 PR libstdc++/60401
3148 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
3149 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
3150 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
3151 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
3152 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
3153 Add using declarations.
3154 * testsuite/26_numerics/headers/cmath/60401.cc: New.
3155
eac437bf
JW
3156 PR libstdc++/69386
3157 * include/c_global/ccomplex: Ensure C++ language linkage.
3158 * include/c_global/cmath: Likewise.
3159 * include/c_global/cstdlib: Likewise.
3160 * include/c_global/ctgmath: Likewise.
3161 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
3162
96e19ada
JW
31632016-01-19 Jonathan Wakely <jwakely@redhat.com>
3164
3165 PR libstdc++/14608
3166 PR libstdc++/60401
3167 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
3168 --enable-cheaders=c_global configs.
3169 * include/Makefile.in: Regenerate.
3170 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
3171 test and allow inclusion from C files.
3172 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
3173 (at_quick_exit, quick_exit): Add using directives.
3174 * include/c_global/cmath: Use #include_next for math.h.
3175 * include/c_global/cstdlib: Use #include_next for stdlib.h.
3176 * testsuite/26_numerics/headers/cmath/14608.cc: New.
3177 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
3178 Remove xfail for most targets.
3179 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
3180
9585381a
TR
31812016-01-18 Torvald Riegel <triegel@redhat.com>
3182
3183 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
3184 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
3185 and move after its definition.
3186 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
3187 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
3188 __GXX_WEAK__, and only provide transactional clones if
3189 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
3190 functions.
3191
f5460595
JW
31922016-01-18 Jonathan Wakely <jwakely@redhat.com>
3193
c91bcffc
JW
3194 PR libstdc++/60637
3195 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
3196
d75d9f91 3197 PR libstdc++/69243
9c5ad80e
JW
3198 * include/std/functional (_Function_base::_M_not_empty_function):
3199 Change overloads for pointers to take arguments by value.
3200 * testsuite/20_util/function/cons/57465.cc: Add tests for
3201 pointer-to-member cases.
3202
f5460595
JW
3203 PR libstdc++/69340
3204 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
3205 Use macros for exception handling and fix unused parameter warning.
3206
271366f6
JDA
32072016-01-17 John David Anglin <danglin@gcc.gnu.org>
3208
3209 PR libstdc++/68734
3210 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
3211
7a5d1d34
TR
32122016-01-17 Torvald Riegel <triegel@redhat.com>
3213
3214 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
3215
5445d5bf
L
32162016-01-16 H.J. Lu <hongjiu.lu@intel.com>
3217
3218 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
3219 __int128 symbols.
3220
3d076231
JW
32212016-01-15 Jonathan Wakely <jwakely@redhat.com>
3222
d7c1581c
JW
3223 PR libstdc++/69293
3224 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
3225 static assertion that type is constructible from the arguments.
3226 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
3227 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
3228 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
3229
3d076231
JW
3230 PR libstdc++/69294
3231 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
3232 and isnan on AIX. Quote variables.
3233 * configure: Regenerate.
3234
a04d5fc9
TR
32352016-01-15 Torvald Riegel <triegel@redhat.com>
3236
3237 * include/bits/basic_string.h (basic_string): Declare friends.
3238 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
3239 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
3240 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
3241 length_error, out_of_range, runtime_error, range_error,
3242 underflow_error, overflow_error): Declare members as transaction-safe.
3243 (logic_error, runtime_error): Declare friend functions.
3244 * libsupc++/exception (exception, bad_exception): Declare members as
3245 transaction-safe.
3246 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
3247 transaction-safe members of exceptions and helper functions.
3248 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
3249 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
3250 (CXXABI_1.3.10): New.
3251 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
3252 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
3253 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
3254 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
3255 * include/Makefile.in: Regenerate.
3256 * config.h.in: Regenerate.
3257 * configure: Regenerate.
3258 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
3259
cebeb718
SE
32602016-01-15 Steve Ellcey <sellcey@imgtec.com>
3261
3262 * include/ext/random.tcc: Use __builtin_isfinite instead of
3263 std::isfinite.
3264
3b07547d
JW
32652016-01-15 Jonathan Wakely <jwakely@redhat.com>
3266
3267 * include/bits/std_mutex.h: Fix Doxygen @file name.
3268
2be75957
ESR
32692016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
3270 Jonathan Wakely <jwakely@redhat.com>
3271 Florian Goth <CaptainSifff@gmx.de>
3272
3273 Implement TR29124 C++ special Math Functions.
3274 * include/Makefile.am: Add new headers.
3275 * include/Makefile.in: Regenerate.
3276 * include/bits/specfun.h: New.
3277 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
3278 * include/tr1/bessel_function.tcc: Ditto.
3279 * include/tr1/beta_function.tcc: Ditto.
3280 * include/tr1/cmath: Ditto.
3281 * include/tr1/ell_integral.tcc: Ditto.
3282 * include/tr1/exp_integral.tcc: Ditto.
3283 * include/tr1/gamma.tcc: Ditto.
3284 * include/tr1/hypergeometric.tcc: Ditto.
3285 * include/tr1/legendre_function.tcc: Ditto.
3286 * include/tr1/modified_bessel_func.tcc: Ditto.
3287 * include/tr1/poly_hermite.tcc: Ditto.
3288 * include/tr1/poly_laguerre.tcc: Ditto.
3289 * include/tr1/riemann_zeta.tcc: Ditto.
3290 * include/tr1/special_function_util.h: Ditto.
3291 * testsuite/ext/special_functions/conf_hyperg: New.
3292 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
3293 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
3294 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
3295 * testsuite/ext/special_functions/hyperg: New.
3296 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
3297 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
3298 * testsuite/ext/special_functions/hyperg/compile.cc: New.
3299 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
3300 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
3301 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
3302 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
3303 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
3304 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
3305 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
3306 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
3307 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
3308 * testsuite/special_functions/03_beta/check_nan.cc: New.
3309 * testsuite/special_functions/03_beta/check_value.cc: New.
3310 * testsuite/special_functions/03_beta/compile.cc: New.
3311 * testsuite/special_functions/03_beta/compile_2.cc: New.
3312 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
3313 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
3314 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
3315 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
3316 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
3317 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
3318 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
3319 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
3320 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
3321 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
3322 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
3323 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
3324 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
3325 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
3326 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
3327 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
3328 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
3329 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
3330 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
3331 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
3332 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
3333 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
3334 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
3335 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
3336 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
3337 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
3338 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
3339 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
3340 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
3341 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
3342 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
3343 * testsuite/special_functions/11_ellint_1/compile.cc: New.
3344 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
3345 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
3346 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
3347 * testsuite/special_functions/12_ellint_2/compile.cc: New.
3348 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
3349 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
3350 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
3351 * testsuite/special_functions/13_ellint_3/compile.cc: New.
3352 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
3353 * testsuite/special_functions/14_expint/check_nan.cc: New.
3354 * testsuite/special_functions/14_expint/check_value.cc: New.
3355 * testsuite/special_functions/14_expint/compile.cc: New.
3356 * testsuite/special_functions/14_expint/compile_2.cc: New.
3357 * testsuite/special_functions/15_hermite/check_nan.cc: New.
3358 * testsuite/special_functions/15_hermite/check_value.cc: New.
3359 * testsuite/special_functions/15_hermite/compile.cc: New.
3360 * testsuite/special_functions/15_hermite/compile_2.cc: New.
3361 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
3362 * testsuite/special_functions/16_laguerre/check_value.cc: New.
3363 * testsuite/special_functions/16_laguerre/compile.cc: New.
3364 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
3365 * testsuite/special_functions/17_legendre/check_nan.cc: New.
3366 * testsuite/special_functions/17_legendre/check_value.cc: New.
3367 * testsuite/special_functions/17_legendre/compile.cc: New.
3368 * testsuite/special_functions/17_legendre/compile_2.cc: New.
3369 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
3370 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
3371 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
3372 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
3373 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
3374 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
3375 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
3376 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
3377 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
3378 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
3379 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
3380 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
3381 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
3382 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
3383 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
3384 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
3385 * testsuite/util/specfun_testcase.h: New.
3386 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
3387 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
3388 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
3389 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
3390 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
3391 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
3392 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
3393
39a1d8c8
JW
33942016-01-13 Jonathan Wakely <jwakely@redhat.com>
3395
3396 PR libstdc++/48891
3397 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
3398 and isnan functions.
3399 * config.h.in: Regenerate.
3400 * configure: Regenerate.
3401 * include/c_global/cmath (isinf(double), isnan(double))
3402 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
3403 * testsuite/26_numerics/headers/cmath/48891.cc: New.
3404
e862906c
RO
34052016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3406
3407 PR libstdc++/66006
3408 * configure.host (abi_baseline_pair): Use separate baseline for
3409 Solaris 11+ and Solaris 10 with gld.
3410 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
3411 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
3412 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
3413
26b5ace7
DK
34142016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
3415
3416 PR libstdc++/68877
3417 * include/std/type_traits: Following N4511, reimplement __is_swappable
3418 and __is_nothrow_swappable. Move __is_swappable to namespace std,
3419 adjust callers. Use __is_nothrow_swappable in swap.
3420 * include/bits/move.h: Use __is_nothrow_swappable in swap.
3421 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
3422 __is_swappable related tests.
3423 * testsuite/20_util/is_swappable/value.cc: New.
3424 * testsuite/20_util/is_swappable/requirements/
3425 explicit_instantiation.cc: New.
3426 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
3427 * testsuite/25_algorithms/swap/68877.cc: New.
3428
1c3c7c41
JW
34292016-01-12 Jonathan Wakely <jwakely@redhat.com>
3430
bd285a8b
JW
3431 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
3432
1c3c7c41
JW
3433 PR libstdc++/69005
3434 PR libstdc++/69222
3435 * include/std/functional (function::_Invoke): Remove, use result_of.
3436 (function::_Callable): Replace alias template with class template
3437 and use partial specialization instead of _NotSelf alias template.
3438 (function(_Functor)): Add "not self" constraint so that _Callable is
3439 not used while type is incomplete.
3440 * testsuite/20_util/function/69222.cc: New.
3441
1517bc30
JW
34422016-01-11 Jonathan Wakely <jwakely@redhat.com>
3443
3444 PR libstdc++/60976
3445 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
3446 Define partial specialization.
3447 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
3448 destroy members to std::allocator explicit specialization.
3449
e525d78c
JW
34502016-01-08 Jonathan Wakely <jwakely@redhat.com>
3451
8babc12b
JW
3452 * testsuite/26_numerics/headers/cmath/
3453 c99_classification_macros_c++.cc: Rename to ...
3454 * testsuite/26_numerics/headers/cmath/
3455 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
3456 * testsuite/26_numerics/headers/cmath/
3457 c99_classification_macros_c++0x.cc: Rename to ...
3458 * testsuite/26_numerics/headers/cmath/
3459 c99_classification_macros_c++11.cc: Here.
3460
32a8c97f 3461 PR libstdc++/69190
e525d78c
JW
3462 * include/bits/uses_allocator.h: Add missing include.
3463
f885fa89
JW
34642016-01-07 Jonathan Wakely <jwakely@redhat.com>
3465
3466 PR libstdc++/69105
3467 PR libstdc++/69106
3468 PR libstdc++/69114
3469 * include/bits/stl_iterator.h (back_insert_iterator,
3470 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
3471 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
3472 * include/std/future (__future::base::_State_baseV2::__setter):
3473 Likewise.
3474 * include/std/scoped_allocator (__outermost): Likewise.
3475 * testsuite/20_util/scoped_allocator/69114.cc: New.
3476 * testsuite/20_util/uses_allocator/69114.cc: New.
3477 * testsuite/30_threads/promise/69106.cc: New.
3478
0c3e5dd1
JW
34792016-01-06 Jonathan Wakely <jwakely@redhat.com>
3480
373a75fb
JW
3481 PR libstdc++/69092
3482 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
3483 Remove _GLIBCXX_NOEXCEPT.
3484 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
3485
0c3e5dd1
JW
3486 * include/Makefile.am: Adjust.
3487 * include/Makefile.in: Regenerate.
3488 * include/bits/mutex.h: Rename to bits/std_mutex.h.
3489 * include/std/condition_variable: Adjust include.
3490 * include/std/mutex: Likewise.
3491
818ab71a 34922016-01-04 Jakub Jelinek <jakub@redhat.com>
5624e564
JJ
3493
3494 Update copyright years.
b4df5e92 3495\f
818ab71a 3496Copyright (C) 2016 Free Software Foundation, Inc.
b4df5e92
JW
3497
3498Copying and distribution of this file, with or without modification,
3499are permitted in any medium without royalty provided the copyright
3500notice and this notice are preserved.