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