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