1 2016-10-14 Jonathan Wakely <jwakely@redhat.com>
4 * include/ext/malloc_allocator.h (malloc_allocator::allocate): Use
5 aligned_alloc for types with extended alignment if available,
6 otherwise throw bad_alloc if malloc doesn't return a suitable value.
7 * include/ext/bitmap_allocator.h (bitmap_allocator::allocate)
8 (bitmap_allocator::deallocate): Use aligned new/delete for types with
10 * include/ext/mt_allocator.h (__mt_alloc::allocate)
11 (__mt_alloc::deallocate): Likewise.
12 * include/ext/new_allocator.h (new_allocator::allocate)
13 (new_allocator::deallocate): Likewise.
14 * include/ext/pool_allocator.h (__pool_alloc::allocate)
15 (__pool_alloc::deallocate): Likewise.
16 * testsuite/20_util/allocator/overaligned.cc: New test.
17 * testsuite/ext/bitmap_allocator/overaligned.cc: New test.
18 * testsuite/ext/malloc_allocator/overaligned.cc: New test.
19 * testsuite/ext/mt_allocator/overaligned.cc: New test.
20 * testsuite/ext/new_allocator/overaligned.cc: New test.
21 * testsuite/ext/pool_allocator/overaligned.cc: New test.
23 2016-10-14 Tim Shen <timshen@google.com>
26 * include/std/variant: Include <bits/funcexcept.h> for __try and
29 2016-10-14 Jonathan Wakely <jwakely@redhat.com>
31 * include/std/functional (_Reference_wrapper_base_impl): Remove.
32 (_Refwrap_base_arg1, _Refwrap_base_arg2): New helpers using __void_t.
33 (_Reference_wrapper_base): Inherit from new helpers.
35 2016-10-13 Paolo Carlini <paolo.carlini@oracle.com>
37 * testsuite/24_iterators/container_access.cc: Remove 'test' variables.
38 * testsuite/24_iterators/istream_iterator/2.cc: Likewise.
39 * testsuite/24_iterators/istreambuf_iterator/2.cc: Likewise.
40 * testsuite/24_iterators/istreambuf_iterator/2627.cc: Likewise.
41 * testsuite/24_iterators/operations/next.cc: Likewise.
42 * testsuite/24_iterators/operations/prev.cc: Likewise.
43 * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
44 * testsuite/24_iterators/random_access_iterator/26020.cc: Likewise.
45 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
46 * testsuite/24_iterators/reverse_iterator/11729.cc: Likewise.
47 * testsuite/24_iterators/reverse_iterator/3.cc: Likewise.
48 * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
49 * testsuite/25_algorithms/all_of/1.cc: Likewise.
50 * testsuite/25_algorithms/any_of/1.cc: Likewise.
51 * testsuite/25_algorithms/binary_search/2.cc: Likewise.
52 * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
53 * testsuite/25_algorithms/clamp/1.cc: Likewise.
54 * testsuite/25_algorithms/clamp/2.cc: Likewise.
55 * testsuite/25_algorithms/copy/1.cc: Likewise.
56 * testsuite/25_algorithms/copy/2.cc: Likewise.
57 * testsuite/25_algorithms/copy/3.cc: Likewise.
58 * testsuite/25_algorithms/copy/34595.cc: Likewise.
59 * testsuite/25_algorithms/copy/4.cc: Likewise.
60 * testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
61 * testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
62 * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
63 * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
64 * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
65 * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
66 * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
68 * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
70 * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
72 * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
74 * testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
75 * testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
76 * testsuite/25_algorithms/copy_n/1.cc: Likewise.
77 * testsuite/25_algorithms/copy_n/2.cc: Likewise.
78 * testsuite/25_algorithms/copy_n/3.cc: Likewise.
79 * testsuite/25_algorithms/copy_n/4.cc: Likewise.
80 * testsuite/25_algorithms/copy_n/50119.cc: Likewise.
81 * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
82 * testsuite/25_algorithms/equal_range/2.cc: Likewise.
83 * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
84 * testsuite/25_algorithms/fill/1.cc: Likewise.
85 * testsuite/25_algorithms/fill/2.cc: Likewise.
86 * testsuite/25_algorithms/fill/3.cc: Likewise.
87 * testsuite/25_algorithms/fill/4.cc: Likewise.
88 * testsuite/25_algorithms/fill_n/1.cc: Likewise.
89 * testsuite/25_algorithms/find/39546.cc: Likewise.
90 * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: Likewise.
91 * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Likewise.
92 * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
94 * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
96 * testsuite/25_algorithms/find_if/1.cc: Likewise.
97 * testsuite/25_algorithms/find_if_not/1.cc: Likewise.
98 * testsuite/25_algorithms/for_each/1.cc: Likewise.
99 * testsuite/25_algorithms/heap/1.cc: Likewise.
100 * testsuite/25_algorithms/heap/moveable.cc: Likewise.
101 * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
102 * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
103 * testsuite/25_algorithms/includes/1.cc: Likewise.
104 * testsuite/25_algorithms/inplace_merge/1.cc: Likewise.
105 * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
106 * testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise.
107 * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
108 * testsuite/25_algorithms/is_heap/1.cc: Likewise.
109 * testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
110 * testsuite/25_algorithms/is_partitioned/1.cc: Likewise.
111 * testsuite/25_algorithms/is_permutation/1.cc: Likewise.
112 * testsuite/25_algorithms/is_permutation/2.cc: Likewise.
113 * testsuite/25_algorithms/is_permutation/vectorbool.cc: Likewise.
114 * testsuite/25_algorithms/is_sorted/1.cc: Likewise.
115 * testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
116 * testsuite/25_algorithms/iter_swap/20577.cc: Likewise.
117 * testsuite/25_algorithms/lower_bound/2.cc: Likewise.
118 * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
119 * testsuite/25_algorithms/make_heap/complexity.cc: Likewise.
120 * testsuite/25_algorithms/max/1.cc: Likewise.
121 * testsuite/25_algorithms/max/2.cc: Likewise.
122 * testsuite/25_algorithms/max/3.cc: Likewise.
123 * testsuite/25_algorithms/max/37547.cc: Likewise.
124 * testsuite/25_algorithms/max/4.cc: Likewise.
125 * testsuite/25_algorithms/min/1.cc: Likewise.
126 * testsuite/25_algorithms/min/2.cc: Likewise.
127 * testsuite/25_algorithms/min/3.cc: Likewise.
128 * testsuite/25_algorithms/min/37547.cc: Likewise.
129 * testsuite/25_algorithms/min/4.cc: Likewise.
130 * testsuite/25_algorithms/minmax/1.cc: Likewise.
131 * testsuite/25_algorithms/minmax/2.cc: Likewise.
132 * testsuite/25_algorithms/minmax/3.cc: Likewise.
133 * testsuite/25_algorithms/minmax/37547.cc: Likewise.
134 * testsuite/25_algorithms/minmax_element/1.cc: Likewise.
135 * testsuite/25_algorithms/move/1.cc: Likewise.
136 * testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
137 * testsuite/25_algorithms/move_backward/1.cc: Likewise.
138 * testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
139 * testsuite/25_algorithms/next_permutation/moveable.cc: Likewise.
140 * testsuite/25_algorithms/none_of/1.cc: Likewise.
141 * testsuite/25_algorithms/nth_element/1.cc: Likewise.
142 * testsuite/25_algorithms/nth_element/2.cc: Likewise.
143 * testsuite/25_algorithms/nth_element/3.cc: Likewise.
144 * testsuite/25_algorithms/nth_element/moveable.cc: Likewise.
145 * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
146 * testsuite/25_algorithms/partial_sort/2.cc: Likewise.
147 * testsuite/25_algorithms/partial_sort/check_compare_by_value.cc:
149 * testsuite/25_algorithms/partial_sort/moveable.cc: Likewise.
150 * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
151 * testsuite/25_algorithms/partial_sort_copy/2.cc: Likewise.
152 * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
153 * testsuite/25_algorithms/partition/1.cc: Likewise.
154 * testsuite/25_algorithms/partition/moveable.cc: Likewise.
155 * testsuite/25_algorithms/partition_copy/1.cc: Likewise.
156 * testsuite/25_algorithms/partition_point/1.cc: Likewise.
157 * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
158 * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
159 * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
160 * testsuite/25_algorithms/random_shuffle/1.cc: Likewise.
161 * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
162 * testsuite/25_algorithms/rotate/1.cc: Likewise.
163 * testsuite/25_algorithms/rotate/moveable.cc: Likewise.
164 * testsuite/25_algorithms/rotate/moveable2.cc: Likewise.
165 * testsuite/25_algorithms/rotate/rotate.cc: Likewise.
166 * testsuite/25_algorithms/search/1.cc: Likewise.
167 * testsuite/25_algorithms/search_n/58358.cc: Likewise.
168 * testsuite/25_algorithms/shuffle/1.cc: Likewise.
169 * testsuite/25_algorithms/sort/1.cc: Likewise.
170 * testsuite/25_algorithms/sort/check_compare_by_value.cc: Likewise.
171 * testsuite/25_algorithms/sort/moveable.cc: Likewise.
172 * testsuite/25_algorithms/sort/random_test.cc: Likewise.
173 * testsuite/25_algorithms/sort/vectorbool.cc: Likewise.
174 * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc: Likewise.
175 * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
176 * testsuite/25_algorithms/stable_partition/1.cc: Likewise.
177 * testsuite/25_algorithms/stable_partition/mem_check.cc: Likewise.
178 * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
179 * testsuite/25_algorithms/stable_sort/2.cc: Likewise.
180 * testsuite/25_algorithms/stable_sort/3.cc: Likewise.
181 * testsuite/25_algorithms/stable_sort/49559.cc: Likewise.
182 * testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
184 * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
185 * testsuite/25_algorithms/stable_sort/moveable.cc: Likewise.
186 * testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise.
187 * testsuite/25_algorithms/swap_ranges/1.cc: Likewise.
188 * testsuite/25_algorithms/unique/11480.cc: Likewise.
189 * testsuite/25_algorithms/unique/2.cc: Likewise.
190 * testsuite/25_algorithms/unique/moveable.cc: Likewise.
191 * testsuite/25_algorithms/unique_copy/1.cc: Likewise.
192 * testsuite/25_algorithms/unique_copy/2.cc: Likewise.
193 * testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
194 * testsuite/25_algorithms/upper_bound/2.cc: Likewise.
195 * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
196 * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Likewise.
197 * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc:
199 * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc:
201 * testsuite/28_regex/algorithms/regex_match/basic/
202 string_range_00_03.cc: Likewise.
203 * testsuite/28_regex/algorithms/regex_match/basic/
204 string_range_01_03.cc: Likewise.
205 * testsuite/28_regex/algorithms/regex_match/basic/
206 string_range_02_03.cc: Likewise.
207 * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
209 * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
211 * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
213 * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc:
215 * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
217 * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
219 * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc:
221 * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
223 * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
225 * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Likewise.
226 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
228 * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc:
230 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
232 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/
233 anymatcher.cc: Likewise.
234 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
236 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc:
238 * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
240 * testsuite/28_regex/algorithms/regex_match/extended/
241 cstring_questionmark.cc: Likewise.
242 * testsuite/28_regex/algorithms/regex_match/extended/
243 cstring_range.cc: Likewise.
244 * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
246 * testsuite/28_regex/algorithms/regex_match/extended/
247 string_range_00_03.cc: Likewise.
248 * testsuite/28_regex/algorithms/regex_match/extended/
249 string_range_01_03.cc: Likewise.
250 * testsuite/28_regex/algorithms/regex_match/extended/
251 string_range_02_03.cc: Likewise.
252 * testsuite/28_regex/algorithms/regex_match/extended/
253 wstring_locale.cc: Likewise.
254 * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
256 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc: Likewise.
257 * testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise.
258 * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
260 * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
262 * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Likewise.
263 * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Likewise.
264 * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
266 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
267 * testsuite/28_regex/basic_regex/assign/char/cstring_op.cc: Likewise.
268 * testsuite/28_regex/basic_regex/assign/char/moveable.cc: Likewise.
269 * testsuite/28_regex/basic_regex/assign/char/pstring.cc: Likewise.
270 * testsuite/28_regex/basic_regex/assign/char/range.cc: Likewise.
271 * testsuite/28_regex/basic_regex/assign/char/string.cc: Likewise.
272 * testsuite/28_regex/basic_regex/assign/char/string_op.cc: Likewise.
273 * testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc: Likewise.
274 * testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc: Likewise.
275 * testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc: Likewise.
276 * testsuite/28_regex/basic_regex/assign/wchar_t/range.cc: Likewise.
277 * testsuite/28_regex/basic_regex/assign/wchar_t/string.cc: Likewise.
278 * testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc: Likewise.
279 * testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc:
281 * testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
283 * testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
284 * testsuite/28_regex/basic_regex/ctors/extended/
285 string_range_01_02_03.cc: Likewise.
286 * testsuite/28_regex/basic_regex/ctors/move_char.cc: Likewise.
287 * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
288 * testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc: Likewise.
289 * testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc: Likewise.
290 * testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc: Likewise.
291 * testsuite/28_regex/basic_regex/imbue/string.cc: Likewise.
292 * testsuite/28_regex/constants/error_type.cc: Likewise.
293 * testsuite/28_regex/constants/match_flag_type.cc: Likewise.
294 * testsuite/28_regex/init-list.cc: Likewise.
295 * testsuite/28_regex/iterators/regex_iterator/char/64140.cc: Likewise.
296 * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
298 * testsuite/28_regex/iterators/regex_iterator/char/
299 string_position_01.cc
300 * testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc:
302 * testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/
303 default.cc: Likewise.
304 * testsuite/28_regex/iterators/regex_iterator/typedefs.cc: Likewise.
305 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
307 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
309 * testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Likewise.
310 * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
312 * testsuite/28_regex/iterators/regex_token_iterator/ctors/char/
313 default.cc: Likewise.
314 * testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/
315 default.cc: Likewise.
316 * testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc:
318 * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
319 string_01.cc: Likewise.
320 * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
321 wstring_02.cc: Likewise.
322 * testsuite/28_regex/match_results/ctors/char/default.cc: Likewise.
323 * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
324 * testsuite/28_regex/match_results/format.cc: Likewise.
325 * testsuite/28_regex/match_results/out_of_range_submatches.cc: Likewise.
326 * testsuite/28_regex/match_results/swap.cc: Likewise.
327 * testsuite/28_regex/match_results/typedefs.cc: Likewise.
328 * testsuite/28_regex/regex_error/regex_error.cc: Likewise.
329 * testsuite/28_regex/regression.cc: Likewise.
330 * testsuite/28_regex/sub_match/cast_char.cc: Likewise.
331 * testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
332 * testsuite/28_regex/sub_match/embedded_zeros_cmp.cc: Likewise.
333 * testsuite/28_regex/sub_match/length.cc: Likewise.
334 * testsuite/28_regex/traits/char/ctor.cc: Likewise.
335 * testsuite/28_regex/traits/char/isctype.cc: Likewise.
336 * testsuite/28_regex/traits/char/length.cc: Likewise.
337 * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
338 * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
339 * testsuite/28_regex/traits/char/transform.cc: Likewise.
340 * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
341 * testsuite/28_regex/traits/char/translate.cc: Likewise.
342 * testsuite/28_regex/traits/char/translate_nocase.cc: Likewise.
343 * testsuite/28_regex/traits/char/user_defined.cc: Likewise.
344 * testsuite/28_regex/traits/char/value.cc: Likewise.
345 * testsuite/28_regex/traits/wchar_t/ctor.cc: Likewise.
346 * testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise.
347 * testsuite/28_regex/traits/wchar_t/length.cc: Likewise.
348 * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: Likewise.
349 * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
350 * testsuite/28_regex/traits/wchar_t/transform.cc: Likewise.
351 * testsuite/28_regex/traits/wchar_t/transform_primary.cc: Likewise.
352 * testsuite/28_regex/traits/wchar_t/translate.cc: Likewise.
353 * testsuite/28_regex/traits/wchar_t/translate_nocase.cc: Likewise.
354 * testsuite/28_regex/traits/wchar_t/user_defined.cc: Likewise.
355 * testsuite/28_regex/traits/wchar_t/value.cc: Likewise.
356 * testsuite/29_atomics/atomic/60658.cc: Likewise.
357 * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
358 * testsuite/29_atomics/atomic_flag/clear/1.cc: Likewise.
359 * testsuite/backward/11460.cc: Likewise.
360 * testsuite/backward/hash_map/1.cc: Likewise.
361 * testsuite/backward/hash_map/25896.cc: Likewise.
362 * testsuite/backward/hash_set/1.cc: Likewise.
363 * testsuite/backward/hash_set/25896.cc: Likewise.
364 * testsuite/decimal/binary-arith.cc: Likewise.
365 * testsuite/decimal/comparison.cc: Likewise.
366 * testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
367 * testsuite/decimal/compound-assignment.cc: Likewise.
368 * testsuite/decimal/conversion-from-float.cc: Likewise.
369 * testsuite/decimal/conversion-from-integral.cc: Likewise.
370 * testsuite/decimal/conversion-to-generic-float.cc: Likewise.
371 * testsuite/decimal/conversion-to-integral.cc: Likewise.
372 * testsuite/decimal/ctor.cc: Likewise.
373 * testsuite/decimal/incdec-memfunc.cc: Likewise.
374 * testsuite/decimal/incdec.cc: Likewise.
375 * testsuite/decimal/make-decimal.cc: Likewise.
376 * testsuite/decimal/pr54036-1.cc: Likewise.
377 * testsuite/decimal/pr54036-2.cc: Likewise.
378 * testsuite/decimal/pr54036-3.cc: Likewise.
379 * testsuite/decimal/unary-arith.cc: Likewise.
380 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise.
381 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
383 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise.
384 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
386 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
387 * testsuite/special_functions/03_beta/check_value.cc: Likewise.
388 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
389 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: Likewise.
390 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
391 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: Likewise.
392 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
393 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Likewise.
394 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
395 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Likewise.
396 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
397 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
398 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Likewise.
399 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
400 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Likewise.
401 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
402 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
403 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
404 * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
405 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
406 * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
407 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
408 * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
409 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
410 * testsuite/special_functions/14_expint/check_value.cc: Likewise.
411 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
412 * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
413 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
414 * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
415 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
416 * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
417 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
418 * testsuite/special_functions/18_riemann_zeta/check_value.cc: Likewise.
419 * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
420 * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
421 * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
422 * testsuite/special_functions/20_sph_legendre/check_value.cc: Likewise.
423 * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
424 * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
425 * testsuite/tr2/bases/value.cc: Likewise.
426 * testsuite/tr2/direct_bases/value.cc: Likewise.
427 * testsuite/util/debug/checks.h: Likewise.
428 * testsuite/util/debug/unordered_checks.h: Likewise.
429 * testsuite/util/testsuite_allocator.h: Likewise.
430 * testsuite/util/testsuite_api.h: Likewise.
431 * testsuite/util/testsuite_common_types.h: Likewise.
432 * testsuite/util/testsuite_random.h: Likewise.
433 * testsuite/util/testsuite_rvalref.h: Likewise.
435 2016-10-13 Jonathan Wakely <jwakely@redhat.com>
437 * include/bits/shared_ptr_base.h: Include <functional>.
438 [!__cpp_rtti]: Do not include <typeinfo>.
439 * include/experimental/array: Do not include <functional>.
440 * include/experimental/memory: Include <bits/functional_hash.h>
441 instead of <functional>.
442 * include/experimental/propagate_const: Include <bits/stl_function.h>,
443 <bits/functional_hash.h>, and <bits/move.h> instead of <functional>.
444 * include/experimental/tuple: Do not include <functional>.
445 * include/std/future: Include <functional>.
446 * include/std/memory: Do not include <functional>.
447 * include/std/mutex: [_GLIBCXX_HAVE_TLS]: Likewise.
448 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
450 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
451 * testsuite/20_util/specialized_algorithms/memory_management_tools/
453 * testsuite/30_threads/call_once/60497.cc: Likewise.
454 * testsuite/30_threads/lock/2.cc: Likewise.
455 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
456 * testsuite/experimental/algorithm/sample.cc: Likewise.
457 * testsuite/experimental/array/make_array.cc: Likewise.
458 * testsuite/experimental/array/neg.cc: Likewise. Adjust dg-error line.
459 * testsuite/experimental/propagate_const/assignment/move_neg.cc:
460 Adjust dg-error lines.
461 * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
462 * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
463 * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
464 * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
465 * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
467 * testsuite/experimental/algorithm/sample.cc: Add missing header.
469 * include/experimental/propagate_const (element_type): Qualify
472 * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
475 * include/experiumental/functional (boyer_moore_searcher)
476 (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
478 * include/std/functional: Likewise.
480 * include/std/chrono (floor): Replace non-constexpr operation.
481 * testsuite/20_util/duration_cast/rounding.cc: Test conversion to
482 durations with floating pointer representations.
484 * src/c++11/compatibility-thread-c++0x.cc (_Bind_simple)
485 (_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols.
487 * include/std/functional (_Bind_simple, _Bind_simple_helper)
488 (__bind_simple): Remove.
489 * include/std/future: Include <bits/invoke.h> instead of <functional>.
490 (__future_base::_Task_state::_M_run)
491 (__future_base::_Task_state::_M_run_delayed): Use lambda expressions
492 instead of __bind_simple.
493 (__future_base::_Task_state::_S_maybe_wrap_ref): Remove.
494 (async): Use thread::__make_invoker instead of __bind_simple.
495 * include/std/thread: Include <tuple> and <bits/invoke.h> instead of
497 (thread::_Invoker, thread::__make_invoker): Define helpers to do
498 INVOKE(DECAY_COPY(f), DECAY_COPY(args)...).
500 * include/std/functional (_Not_fn): Make exception specifications
501 depend on whether negating the result can throw.
502 * testsuite/20_util/not_fn/1.cc: Move to ...
503 * testsuite/20_util/function_objects/not_fn/1.cc: ... here. Add tests
504 for types that can throw when negated and that cannot be negated.
506 * include/bits/invoke.h (__invoke): Fix exception-specification.
507 * include/std/functional (invoke): Likewise.
508 * testsuite/20_util/function_objects/invoke/1.cc: New test.
510 2016-10-12 Paolo Carlini <paolo.carlini@oracle.com>
512 * testsuite/util/testsuite_hooks.h: Rewrite VERIFY in terms of
513 __builtin_printf and __builtin_abort.
514 * testsuite/lib/libstdc++.exp: Remove _GLIBCXX_ASSERT use.
515 * scripts/testsuite_flags.in: Likewise.
516 * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
517 * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
518 * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
519 * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
520 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise, adjust.
521 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
522 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
523 * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
524 * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
525 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
526 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
528 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
530 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
532 * testsuite/27_io/objects/char/7.cc: Likewise.
533 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
534 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
535 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
536 * testsuite/18_support/50594.cc: Remove 'test' variable, adjust.
537 * testsuite/18_support/bad_alloc/what.cc: Likewise.
538 * testsuite/18_support/bad_cast/what.cc: Likewise.
539 * testsuite/18_support/bad_exception/what.cc: Likewise.
540 * testsuite/18_support/bad_typeid/what.cc: Likewise.
541 * testsuite/18_support/exception/38732.cc: Likewise.
542 * testsuite/18_support/exception/what.cc: Likewise.
543 * testsuite/18_support/exception_ptr/64241.cc: Likewise.
544 * testsuite/18_support/exception_ptr/current_exception.cc: Likewise.
545 * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
546 * testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise.
547 * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
548 * testsuite/18_support/nested_exception/cons.cc: Likewise.
549 * testsuite/18_support/nested_exception/nested_ptr.cc: Likewise.
550 * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise.
551 * testsuite/18_support/nested_exception/rethrow_nested.cc: Likewise.
552 * testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise.
553 * testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise.
554 * testsuite/18_support/numeric_limits/digits10.cc: Likewise.
555 * testsuite/18_support/numeric_limits/dr559.cc: Likewise.
556 * testsuite/18_support/numeric_limits/epsilon.cc: Likewise.
557 * testsuite/18_support/numeric_limits/is_iec559.cc: Likewise.
558 * testsuite/18_support/numeric_limits/is_signed.cc: Likewise.
559 * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
560 * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
561 * testsuite/18_support/numeric_limits/min_max.cc: Likewise.
562 * testsuite/18_support/numeric_limits/specialization_default_values.cc:
564 * testsuite/18_support/type_info/hash_code.cc: Likewise.
565 * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
566 * testsuite/19_diagnostics/error_category/cons/default.cc: Likewise.
567 * testsuite/19_diagnostics/error_category/operators/equal.cc: Likewise.
568 * testsuite/19_diagnostics/error_category/operators/
569 not_equal.cc: Likewise.
570 * testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
571 * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
572 * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
573 * testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
574 * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
575 * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
576 * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise.
577 * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
578 * testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
580 * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
581 * testsuite/19_diagnostics/error_condition/operators/equal.cc:
583 * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
585 * testsuite/19_diagnostics/logic_error/what-1.cc: Likewise.
586 * testsuite/19_diagnostics/logic_error/what-2.cc: Likewise.
587 * testsuite/19_diagnostics/logic_error/what-3.cc: Likewise.
588 * testsuite/19_diagnostics/logic_error/what-big.cc: Likewise.
589 * testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise.
590 * testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise.
591 * testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
592 * testsuite/19_diagnostics/runtime_error/what-big.cc: Likewise.
593 * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
594 * testsuite/19_diagnostics/system_error/what-1.cc: Likewise.
595 * testsuite/19_diagnostics/system_error/what-2.cc: Likewise.
596 * testsuite/19_diagnostics/system_error/what-3.cc: Likewise.
597 * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
598 * testsuite/19_diagnostics/system_error/what-big.cc: Likewise.
599 * testsuite/20_util/addressof/1.cc: Likewise.
600 * testsuite/20_util/align/1.cc: Likewise.
601 * testsuite/20_util/align/2.cc: Likewise.
602 * testsuite/20_util/allocator/1.cc: Likewise.
603 * testsuite/20_util/allocator/10378.cc: Likewise.
604 * testsuite/20_util/allocator/8230.cc: Likewise.
605 * testsuite/20_util/allocator_traits/members/allocate_hint.cc:
607 * testsuite/20_util/allocator_traits/members/construct.cc: Likewise.
608 * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
609 * testsuite/20_util/allocator_traits/members/max_size.cc: Likewise.
610 * testsuite/20_util/any/assign/exception.cc: Likewise.
611 * testsuite/20_util/auto_ptr/1.cc: Likewise.
612 * testsuite/20_util/auto_ptr/2.cc: Likewise.
613 * testsuite/20_util/auto_ptr/3.cc: Likewise.
614 * testsuite/20_util/auto_ptr/4.cc: Likewise.
615 * testsuite/20_util/auto_ptr/5.cc: Likewise.
616 * testsuite/20_util/auto_ptr/6.cc: Likewise.
617 * testsuite/20_util/auto_ptr/7.cc: Likewise.
618 * testsuite/20_util/bind/all_bound.cc: Likewise.
619 * testsuite/20_util/bind/conv_result.cc: Likewise.
620 * testsuite/20_util/bind/cv_quals.cc: Likewise.
621 * testsuite/20_util/bind/cv_quals_2.cc
622 * testsuite/20_util/bind/nested.cc: Likewise.
623 * testsuite/20_util/bind/placeholders.cc: Likewise.
624 * testsuite/20_util/bind/ref.cc: Likewise.
625 * testsuite/20_util/bind/ref2.cc: Likewise.
626 * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
627 * testsuite/20_util/duration/arithmetic/1.cc: Likewise.
628 * testsuite/20_util/duration/arithmetic/2.cc: Likewise.
629 * testsuite/20_util/duration/arithmetic/58850.cc: Likewise.
630 * testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise.
631 * testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise.
632 * testsuite/20_util/duration/comparison_operators/1.cc: Likewise.
633 * testsuite/20_util/duration/cons/1.cc: Likewise.
634 * testsuite/20_util/duration/cons/2.cc: Likewise.
635 * testsuite/20_util/enable_if/requirements/typedefs.cc: Likewise.
636 * testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Likewise.
637 * testsuite/20_util/enable_shared_from_this/members/assign.cc:
639 * testsuite/20_util/exchange/1.cc: Likewise.
640 * testsuite/20_util/forward/a.cc: Likewise.
641 * testsuite/20_util/forward/b.cc: Likewise.
642 * testsuite/20_util/forward/d.cc: Likewise.
643 * testsuite/20_util/function/1.cc: Likewise.
644 * testsuite/20_util/function/2.cc: Likewise.
645 * testsuite/20_util/function/3.cc: Likewise.
646 * testsuite/20_util/function/4.cc: Likewise.
647 * testsuite/20_util/function/43397.cc: Likewise.
648 * testsuite/20_util/function/5.cc: Likewise.
649 * testsuite/20_util/function/6.cc: Likewise.
650 * testsuite/20_util/function/7.cc: Likewise.
651 * testsuite/20_util/function/8.cc: Likewise.
652 * testsuite/20_util/function/9.cc: Likewise.
653 * testsuite/20_util/function/assign/move.cc: Likewise.
654 * testsuite/20_util/function/cons/move.cc: Likewise.
655 * testsuite/20_util/function_objects/dr660.cc: Likewise.
656 * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Likewise.
657 * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
658 * testsuite/20_util/hash/chi2_q_document_words.cc: Likewise.
659 * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
660 * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
661 * testsuite/20_util/hash/operators/size_t.cc: Likewise.
662 * testsuite/20_util/hash/quality.cc: Likewise.
663 * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
664 * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
665 * testsuite/20_util/is_function/24808.cc: Likewise.
666 * testsuite/20_util/is_object/24808.cc: Likewise.
667 * testsuite/20_util/move_if_noexcept/1.cc: Likewise.
668 * testsuite/20_util/move_if_noexcept/constexpr.cc: Likewise.
669 * testsuite/20_util/owner_less/cmp.cc: Likewise.
670 * testsuite/20_util/pair/1.cc: Likewise.
671 * testsuite/20_util/pair/2.cc: Likewise.
672 * testsuite/20_util/pair/3.cc: Likewise.
673 * testsuite/20_util/pair/4.cc: Likewise.
674 * testsuite/20_util/pair/make_pair/constexpr.cc: Likewise.
675 * testsuite/20_util/pair/moveable.cc: Likewise.
676 * testsuite/20_util/pair/piecewise.cc: Likewise.
677 * testsuite/20_util/pair/swap.cc: Likewise.
678 * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
679 * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.
680 * testsuite/20_util/ratio/comparisons/comp3.cc: Likewise.
681 * testsuite/20_util/ratio/cons/cons1.cc: Likewise.
682 * testsuite/20_util/ratio/operations/45866.cc: Likewise.
683 * testsuite/20_util/ratio/operations/47913.cc: Likewise.
684 * testsuite/20_util/ratio/operations/ops1.cc: Likewise.
685 * testsuite/20_util/ratio/operations/ops2.cc: Likewise.
686 * testsuite/20_util/ratio/operations/ops3.cc: Likewise.
687 * testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
688 * testsuite/20_util/scoped_allocator/1.cc: Likewise.
689 * testsuite/20_util/scoped_allocator/2.cc: Likewise.
690 * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise.
691 * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
692 * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
693 * testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
694 * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
695 * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
697 * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
698 * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise.
699 * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise.
700 * testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
701 * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
702 * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
703 * testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
704 * testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
705 * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise.
706 * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
707 * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
708 * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Likewise.
709 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Likewise.
710 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc:
712 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
714 * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
715 * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
716 * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
717 * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
718 * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
719 * testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
720 * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
721 * testsuite/20_util/shared_ptr/hash/1.cc: Likewise.
722 * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
723 * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise.
724 * testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
725 * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
726 * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
727 * testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
728 * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
729 * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
730 * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
731 * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
732 * testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
733 * testsuite/20_util/shared_ptr/observers/owner_before.cc: Likewise.
734 * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
735 * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
736 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
738 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
739 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
740 move_iterators/1.cc: Likewise.
741 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
742 move_iterators/1.cc: Likewise.
743 * testsuite/20_util/temporary_buffer.cc: Likewise.
744 * testsuite/20_util/time_point/1.cc: Likewise.
745 * testsuite/20_util/time_point/2.cc: Likewise.
746 * testsuite/20_util/time_point/3.cc: Likewise.
747 * testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise.
748 * testsuite/20_util/tuple/48476.cc: Likewise.
749 * testsuite/20_util/tuple/comparison_operators/comparisons.cc:
751 * testsuite/20_util/tuple/cons/allocators.cc: Likewise.
752 * testsuite/20_util/tuple/cons/assignment.cc: Likewise.
753 * testsuite/20_util/tuple/cons/big_tuples.cc: Likewise.
754 * testsuite/20_util/tuple/cons/constructor.cc: Likewise.
755 * testsuite/20_util/tuple/creation_functions/23978.cc: Likewise.
756 * testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.
757 * testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise.
758 * testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc:
760 * testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise.
761 * testsuite/20_util/tuple/creation_functions/tie.cc: Likewise.
762 * testsuite/20_util/tuple/creation_functions/tie2.cc: Likewise.
763 * testsuite/20_util/tuple/cv_tuple_size.cc: Likewise.
764 * testsuite/20_util/tuple/element_access/get.cc: Likewise.
765 * testsuite/20_util/tuple/element_access/get_by_type.cc: Likewise.
766 * testsuite/20_util/tuple/moveable.cc: Likewise.
767 * testsuite/20_util/tuple/swap.cc: Likewise.
768 * testsuite/20_util/tuple/tuple_size.cc: Likewise.
769 * testsuite/20_util/typeindex/comparison_operators.cc: Likewise.
770 * testsuite/20_util/typeindex/hash.cc: Likewise.
771 * testsuite/20_util/typeindex/hash_code.cc: Likewise.
772 * testsuite/20_util/typeindex/name.cc: Likewise.
773 * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
774 * testsuite/20_util/unique_ptr/assign/move.cc: Likewise.
775 * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise.
776 * testsuite/20_util/unique_ptr/assign/nullptr.cc: Likewise.
777 * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise.
778 * testsuite/20_util/unique_ptr/cons/nullptr.cc: Likewise.
779 * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise.
780 * testsuite/20_util/unique_ptr/cons/pointer_array.cc: Likewise.
781 * testsuite/20_util/unique_ptr/cons/ptr_deleter.cc: Likewise.
782 * testsuite/20_util/unique_ptr/creation/array.cc: Likewise.
783 * testsuite/20_util/unique_ptr/creation/single.cc: Likewise.
784 * testsuite/20_util/unique_ptr/hash/1.cc: Likewise.
785 * testsuite/20_util/unique_ptr/modifiers/43183.cc: Likewise.
786 * testsuite/20_util/unique_ptr/specialized_algorithms/
787 comparisons.cc: Likewise.
788 * testsuite/20_util/unique_ptr/specialized_algorithms/
789 comparisons_array.cc: Likewise.
790 * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc:
792 * testsuite/20_util/uses_allocator/construction.cc: Likewise.
793 * testsuite/20_util/uses_allocator/value.cc: Likewise.
794 * testsuite/20_util/variant/run.cc: Likewise.
795 * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
796 * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
797 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
799 * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
800 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
802 * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
803 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
805 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
807 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
809 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
811 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
813 * testsuite/21_strings/basic_string/capacity/1.cc: Likewise.
814 * testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise.
815 * testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise.
816 * testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise.
817 * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
819 * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise.
820 * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
822 * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Likewise.
823 * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
825 * testsuite/21_strings/basic_string/cons/char/1.cc: Likewise.
826 * testsuite/21_strings/basic_string/cons/char/2.cc: Likewise.
827 * testsuite/21_strings/basic_string/cons/char/3.cc: Likewise.
828 * testsuite/21_strings/basic_string/cons/char/4.cc: Likewise.
829 * testsuite/21_strings/basic_string/cons/char/42261.cc: Likewise.
830 * testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
831 * testsuite/21_strings/basic_string/cons/char/6.cc: Likewise.
832 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
833 * testsuite/21_strings/basic_string/cons/char/8.cc: Likewise.
834 * testsuite/21_strings/basic_string/cons/char/moveable.cc: Likewise.
835 * testsuite/21_strings/basic_string/cons/char/moveable2.cc: Likewise.
836 * testsuite/21_strings/basic_string/cons/wchar_t/1.cc: Likewise.
837 * testsuite/21_strings/basic_string/cons/wchar_t/2.cc: Likewise.
838 * testsuite/21_strings/basic_string/cons/wchar_t/3.cc: Likewise.
839 * testsuite/21_strings/basic_string/cons/wchar_t/4.cc: Likewise.
840 * testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.
841 * testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
842 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Likewise.
843 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
844 * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
845 * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
846 * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
848 * testsuite/21_strings/basic_string/element_access/char/1.cc: Likewise.
849 * testsuite/21_strings/basic_string/element_access/char/2.cc: Likewise.
850 * testsuite/21_strings/basic_string/element_access/char/3.cc: Likewise.
851 * testsuite/21_strings/basic_string/element_access/char/4.cc: Likewise.
852 * testsuite/21_strings/basic_string/element_access/char/58163.cc:
854 * testsuite/21_strings/basic_string/element_access/char/empty.cc:
856 * testsuite/21_strings/basic_string/element_access/char/front_back.cc:
858 * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc:
860 * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc:
862 * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc:
864 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
866 * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
868 * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
870 * testsuite/21_strings/basic_string/element_access/wchar_t/
871 front_back.cc: Likewise.
872 * testsuite/21_strings/basic_string/init-list.cc: Likewise.
873 * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
875 * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
877 * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
879 * testsuite/21_strings/basic_string/inserters_extractors/char/
881 * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
883 * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
885 * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
887 * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
889 * testsuite/21_strings/basic_string/inserters_extractors/char/8.cc:
891 * testsuite/21_strings/basic_string/inserters_extractors/char/9.cc:
893 * testsuite/21_strings/basic_string/inserters_extractors/pod/
894 10081-in.cc: Likewise.
895 * testsuite/21_strings/basic_string/inserters_extractors/pod/
896 10081-out.cc: Likewise.
897 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
899 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
901 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
903 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
905 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
907 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
909 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
911 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
913 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc:
915 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc:
917 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc:
919 * testsuite/21_strings/basic_string/modifiers/append/char/2.cc:
921 * testsuite/21_strings/basic_string/modifiers/append/char/3.cc:
923 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
925 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
927 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc:
929 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc:
931 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
933 * testsuite/21_strings/basic_string/modifiers/assign/char/1.cc:
935 * testsuite/21_strings/basic_string/modifiers/assign/char/2.cc:
937 * testsuite/21_strings/basic_string/modifiers/assign/char/3.cc:
939 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
941 * testsuite/21_strings/basic_string/modifiers/assign/char/
942 move_assign.cc: Likewise.
943 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc:
945 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc:
947 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc:
949 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
951 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
952 move_assign.cc: Likewise.
953 * testsuite/21_strings/basic_string/modifiers/insert/char/1.cc:
955 * testsuite/21_strings/basic_string/modifiers/insert/char/2.cc:
957 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
959 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc:
961 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc:
963 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
965 * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc:
967 * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc:
969 * testsuite/21_strings/basic_string/modifiers/replace/char/1.cc:
971 * testsuite/21_strings/basic_string/modifiers/replace/char/2.cc:
973 * testsuite/21_strings/basic_string/modifiers/replace/char/3.cc:
975 * testsuite/21_strings/basic_string/modifiers/replace/char/4.cc:
977 * testsuite/21_strings/basic_string/modifiers/replace/char/5.cc:
979 * testsuite/21_strings/basic_string/modifiers/replace/char/6.cc:
981 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
983 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc:
985 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc:
987 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc:
989 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc:
991 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc:
993 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc:
995 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
997 * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
999 * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
1001 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
1003 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
1005 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
1007 * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
1009 * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
1011 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
1013 * testsuite/21_strings/basic_string/numeric_conversions/char/
1014 stoull.cc: Likewise.
1015 * testsuite/21_strings/basic_string/numeric_conversions/char/
1016 to_string.cc: Likewise.
1017 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1018 dr1261.cc: Likewise.
1019 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1021 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1023 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1025 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1027 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1029 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1031 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1033 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1034 stoull.cc: Likewise.
1035 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1036 to_wstring.cc: Likewise.
1037 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
1039 * testsuite/21_strings/basic_string/operations/compare/char/13650.cc:
1041 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
1043 * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
1045 * testsuite/21_strings/basic_string/operations/compare/wchar_t/
1047 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
1049 * testsuite/21_strings/basic_string/operations/data/char/1.cc:
1051 * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc:
1053 * testsuite/21_strings/basic_string/operations/find/char/1.cc:
1055 * testsuite/21_strings/basic_string/operations/find/char/2.cc:
1057 * testsuite/21_strings/basic_string/operations/find/char/3.cc:
1059 * testsuite/21_strings/basic_string/operations/find/char/4.cc:
1061 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
1063 * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc:
1065 * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc:
1067 * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc:
1069 * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc:
1071 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
1073 * testsuite/21_strings/basic_string/operations/rfind/char/1.cc:
1075 * testsuite/21_strings/basic_string/operations/rfind/char/2.cc:
1077 * testsuite/21_strings/basic_string/operations/rfind/char/3.cc:
1079 * testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc:
1081 * testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc:
1083 * testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc:
1085 * testsuite/21_strings/basic_string/operations/substr/char/1.cc:
1087 * testsuite/21_strings/basic_string/operations/substr/wchar_t/
1089 * testsuite/21_strings/basic_string/operators/char/1.cc: Likewise.
1090 * testsuite/21_strings/basic_string/operators/char/2.cc: Likewise.
1091 * testsuite/21_strings/basic_string/operators/char/3.cc: Likewise.
1092 * testsuite/21_strings/basic_string/operators/char/4.cc: Likewise.
1093 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
1094 * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Likewise.
1095 * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Likewise.
1096 * testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise.
1097 * testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise.
1098 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
1099 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
1100 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
1101 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
1102 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
1103 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
1104 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
1105 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
1106 * testsuite/21_strings/basic_string_view/element_access/char/
1108 * testsuite/21_strings/basic_string_view/element_access/char/
1110 * testsuite/21_strings/basic_string_view/element_access/char/
1111 front_back.cc: Likewise.
1112 * testsuite/21_strings/basic_string_view/element_access/wchar_t/
1114 * testsuite/21_strings/basic_string_view/element_access/wchar_t/
1116 * testsuite/21_strings/basic_string_view/element_access/wchar_t/
1117 front_back.cc: Likewise.
1118 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
1119 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
1120 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
1121 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
1123 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
1125 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
1127 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
1129 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
1130 char/1.cc: Likewise.
1131 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
1132 wchar_t/1.cc: Likewise.
1133 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
1134 char/1.cc: Likewise.
1135 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
1136 wchar_t/1.cc: Likewise.
1137 * testsuite/21_strings/basic_string_view/operations/compare/char/
1139 * testsuite/21_strings/basic_string_view/operations/compare/char/
1141 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
1143 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
1145 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
1147 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
1149 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
1151 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
1153 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
1155 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
1157 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
1159 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
1161 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
1163 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
1165 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
1167 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
1169 * testsuite/21_strings/basic_string_view/operations/rfind/char/
1171 * testsuite/21_strings/basic_string_view/operations/rfind/char/
1173 * testsuite/21_strings/basic_string_view/operations/rfind/char/
1175 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
1177 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
1179 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
1181 * testsuite/21_strings/basic_string_view/operations/string_conversion/
1183 * testsuite/21_strings/basic_string_view/operations/substr/char/
1185 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
1187 * testsuite/21_strings/basic_string_view/operators/char/2.cc:
1189 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
1191 * testsuite/21_strings/c_strings/char/1.cc: Likewise.
1192 * testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise.
1193 * testsuite/21_strings/char_traits/requirements/char/1.cc: Likewise.
1194 * testsuite/21_strings/char_traits/requirements/char/57704.cc:
1196 * testsuite/21_strings/char_traits/requirements/short/1.cc: Likewise.
1197 * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Likewise.
1199 * doc/xml/manual/test.xml: Fix typo.
1201 2016-10-12 Jonathan Wakely <jwakely@redhat.com>
1203 * doc/xml/manual/status_cxx2017.xml: Add std::sample status.
1204 * doc/html/*: Regenerate.
1205 * include/experimental/algorithm (__sample): Move to bits/stl_algo.h
1206 and into namespace std.
1207 * include/bits/stl_algo.h (__sample): Define here. Fix invalid use
1208 of input iterator. Defend against overloaded comma operator.
1209 (sample): Define for C++17.
1210 * testsuite/25_algorithms/sample/1.cc: New test.
1212 * testsuite/util/testsuite_common_types.h
1213 (bitwise_assignment_operators): Use direct-initialization for C++11
1214 and later, to avoid CopyConstructible requirement.
1215 * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
1217 * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
1218 * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
1219 * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
1220 * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
1221 Adjust expected errors and line numbers.
1223 * include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove.
1224 (call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call.
1226 * include/bits/stl_uninitialized.h
1227 (__uninitialized_default_novalue_n_1<true>): Add missing return.
1228 * testsuite/20_util/specialized_algorithms/memory_management_tools/
1229 1.cc: Check return values of uninitialized_xxx_n algorithms.
1231 * libsupc++/nested_exception.h (throw_with_nested): Remove return.
1233 * doc/xml/manual/intro.xml: Document LWG 2442 status.
1234 * include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
1235 [_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define
1236 partial specialization to unpack args and forward to std::invoke.
1237 (call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call
1238 instead of __bind_simple and __once_call_impl.
1239 (call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of
1241 * testsuite/30_threads/call_once/dr2442.cc: New test.
1243 2016-10-11 Jonathan Wakely <jwakely@redhat.com>
1245 * include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
1246 _M_assign_dispatch directly with correct tag.
1248 * doc/xml/manual/intro.xml: Document LWG 2484 status.
1249 * libsupc++/nested_exception.h (_Throw_with_nested_impl)
1250 (_Throw_with_nested_helper): Remove.
1251 (__throw_with_nested_impl): New overloaded functions to implement
1252 throw_with_nested logic.
1253 (throw_with_nested): Call __throw_with_nested_impl.
1254 (_Rethrow_if_nested_impl): Remove
1255 (__rethrow_if_nested_impl): New overloaded functions to implement
1256 rethrow_if_nested logic.
1257 (rethrow_if_nested): Call __rethrow_if_nested_impl.
1258 * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
1259 problem cases from LWG 2484.
1261 * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
1262 Register printer for std::__cxx11::list.
1263 * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
1264 std::__cxx11::list as well as std::list.
1266 * include/experimental/string_view (basic_string_view::_S_compare):
1267 Remove redundant const from return type.
1268 * include/std/string_view (basic_string_view:_S_compare): Likewise.
1270 * include/bits/std_mutex.h (mutex::native_handle)
1271 (lock_guard(mutex_type&, adopt_lock_t)
1272 (unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
1273 * include/std/mutex (recursive_mutex, timed_mutex)
1274 (recursive_timed_mutex): Likewise.
1276 2016-10-10 Jonathan Wakely <jwakely@redhat.com>
1278 * doc/xml/manual/appendix_contributing.xml (contrib.organization):
1279 Replace <literallayout> with nested <variablelist> elements. Update
1280 some more outdated text.
1281 * doc/html/*: Regenerate.
1283 2016-10-10 Ville Voutilainen <ville.voutilainen@gmail.com>
1285 Make any's copy assignment operator exception-safe,
1286 don't copy the underlying value when any is moved,
1287 make in_place constructors explicit.
1288 * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)):
1290 (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
1292 (operator=(const any&)): Make strongly exception-safe.
1293 (operator=(any&&)): reset() unconditionally in the case where
1295 (operator=(_ValueType&&)): Indent the return type.
1296 (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
1297 * testsuite/20_util/any/assign/2.cc: Adjust.
1298 * testsuite/20_util/any/assign/exception.cc: New.
1299 * testsuite/20_util/any/cons/2.cc: Adjust.
1300 * testsuite/20_util/any/cons/explicit.cc: New.
1301 * testsuite/20_util/any/misc/any_cast_neg.cc: Ajust.
1303 2016-10-10 Jonathan Wakely <jwakely@redhat.com>
1305 * doc/xml/manual/appendix_contributing.xml (contrib.organization):
1306 Describe other subdirectories and add markup. Remove outdated
1307 reference to check-script target.
1308 * doc/html/*: Regenerate.
1310 * doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
1312 * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
1315 * include/std/functional (_Bind_result::__enable_if_void): Use alias
1316 template instead of class template.
1317 (_Bind_result::__disable_if_void): Likewise.
1318 (_Bind_result::__call): Adjust uses of __enable_if_void and
1321 * doc/xml/manual/intro.xml: Document DR 2296 status.
1322 * doc/xml/manual/status_cxx2017.xml: Update status.
1323 * include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and
1324 call __builtin_addressof.
1325 (addressof): Add _GLIBCXX17_CONSTEXPR.
1326 * testsuite/20_util/addressof/requirements/constexpr.cc: New test.
1327 * testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno.
1328 * testsuite/20_util/forward/f_neg.cc: Likewise.
1330 * include/bits/allocator.h (allocator<T>::is_always_equal): Define.
1331 * testsuite/20_util/allocator/requirements/typedefs.cc: Test for
1333 * testsuite/util/testsuite_allocator.h
1334 (uneq_allocator::is_always_equal): Define as false_type.
1336 * include/experimental/numeric (gcd, lcm): Make bool arguments
1338 * include/std/numeric (gcd, lcm): Likewise.
1339 * testsuite/26_numerics/gcd/gcd_neg.cc: New test.
1340 * testsuite/26_numerics/lcm/lcm_neg.cc: New test.
1342 * include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this):
1344 * include/bits/shared_ptr_base.h
1345 (__enable_shared_from_this::weak_from_this): Likewise.
1346 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
1347 Test exception-specification of weak_from_this.
1349 2016-10-07 Jonathan Wakely <jwakely@redhat.com>
1351 * doc/xml/manual/status_cxx1998.xml: Improve documentation of
1352 implementation-defined properties.
1353 * doc/xml/manual/status_cxx2011.xml: Likewise.
1354 * doc/xml/manual/status_cxx2017.xml: Likewise.
1356 * doc/xml/manual/status_cxx2017.xml: Update status.
1357 * include/std/type_traits (has_unique_object_representations): Define.
1358 * testsuite/20_util/has_unique_object_representations/value.cc: New.
1359 * testsuite/20_util/has_unique_object_representations/requirements/
1360 explicit_instantiation.cc: New.
1361 * testsuite/20_util/has_unique_object_representations/requirements/
1364 2016-10-06 Jonathan Wakely <jwakely@redhat.com>
1366 * doc/xml/manual/status_cxx2011.xml: Update status.
1367 * include/std/scoped_allocator (__outer_allocator_t, __outermost_type):
1368 New helpers for recursive OUTERMOST.
1369 (__outermost): Use __outermost_type::_S_outermost.
1370 (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove.
1371 (scoped_allocator_adaptor::__outermost_alloc_traits): Use new
1372 __outermost_type helper.
1373 (scoped_allocator_adaptor::_Constructible): New alias template.
1374 (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>):
1375 Constrain template constructors.
1376 * testsuite/20_util/scoped_allocator/3.cc: New test.
1377 * testsuite/20_util/scoped_allocator/outermost.cc: New test.
1379 2016-10-05 Jonathan Wakely <jwakely@redhat.com>
1382 * testsuite/20_util/not_fn/1.cc: Fix test.
1383 * testsuite/experimental/functional/not_fn.cc: Likewise.
1386 * include/bits/stl_queue.h (priority_queue): Fix allocator-extended
1388 * testsuite/23_containers/priority_queue/allocator.cc: New test.
1391 * include/bits/stl_map.h (map::map()): Use nothrow constructibility
1392 of comparison function in conditional noexcept.
1393 * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
1394 * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
1395 * include/bits/stl_set.h (set::set()): Likewise.
1396 * testsuite/23_containers/map/cons/noexcept_default_construct.cc:
1398 * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
1400 * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
1402 * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
1405 * include/bits/node_handle.h (_Node_handle): Remove invalid and unused
1409 * include/experimental/functional (_Not_fn): Remove.
1410 (not_fn): Use std::_Not_fn.
1411 * include/std/functional (_Not_fn): Add second parameter to
1412 disambiguate copying from initialization by not_fn. Define for C++14.
1413 (not_fn): Add second argument to initialization.
1414 * testsuite/20_util/not_fn/1.cc: Copy call wrapper using
1415 direct-initialization.
1417 2016-10-03 François Dumont <fdumont@gcc.gnu.org>
1419 * src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move
1421 * src/c++11/mutex_pool.h: ... here. New.
1422 * src/c++11/debug.cc: Use latter.
1424 2016-10-03 Jonathan Wakely <jwakely@redhat.com>
1426 * doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status.
1427 * doc/html/*: Regenerate.
1428 * include/experimental/numeric (__abs): Move to <numeric>.
1429 (gcd, lcm): Use __detail::gcd and __detail::lcm.
1430 * include/std/numeric (__detail::__abs_integral)
1431 (__detail::__gcd, __detail::__lcm): Define.
1432 (gcd, lcm): Define for C++17.
1433 * testsuite/26_numerics/gcd/1.cc: New test.
1434 * testsuite/26_numerics/lcm/1.cc: New test.
1435 * testsuite/experimental/numeric/gcd.cc: Swap contents with ...
1436 * testsuite/experimental/numeric/lcd.cc: ... this.
1440 * config/abi/pre/gnu-versioned-namespace.ver: Add exports for
1441 __cxa_thread_atexit and __gnu_cxx::__freeres.
1442 * include/Makefile.am: Add <experimental/bits/lfts_config.h>
1443 * include/Makefile.in: Regenerate.
1444 * include.bits/basic_string.h: Fix nesting of versioned namespaces.
1445 * include/bits/c++config: Declare versioned namespaces for literals.
1446 * include/bits/regex.h (basic_regex, match_results): Add workarounds
1448 * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
1449 * include/std/chrono: Likewise.
1450 * include/std/complex: Likewise.
1451 * include/std/string_view: Likewise.
1452 * include/std/variant: Likewise. Add workaround for PR c++/59256.
1453 * include/experimental/bits/fs_fwd.h: Declare versioned namespace.
1454 * include/experimental/bits/lfts_config.h: Declare versioned
1456 * include/experimental/algorithm: Include
1457 <experimental/bits/lfts_config.h>.
1458 * include/experimental/any: Likewise.
1459 * include/experimental/bits/erase_if.h: Likewise.
1460 * include/experimental/chrono: Likewise.
1461 * include/experimental/functional: Likewise.
1462 * include/experimental/memory_resource: Likewise.
1463 * include/experimental/optional: Likewise.
1464 * include/experimental/propagate_const: Likewise.
1465 * include/experimental/random: Likewise.
1466 * include/experimental/ratio: Likewise.
1467 * include/experimental/system_error: Likewise.
1468 * include/experimental/tuple: Likewise.
1469 * include/experimental/type_traits: Likewise.
1470 * include/experimental/utility: Likewise.
1471 * include/experimental/string_view: Likewise. Fix nesting of
1472 versioned namespaces.
1473 * include/experimental/bits/string_view.tcc: Reopen inline namespace
1474 for non-inline function definitions.
1475 * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
1476 * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
1477 * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
1478 * testsuite/experimental/propagate_const/assignment/move_neg.cc:
1480 * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
1481 * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
1482 * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
1483 * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
1484 * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
1485 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
1488 * include/bits/std_abs.h: Use "C++" language linkage.
1489 * testsuite/17_intro/headers/c++2011/linkage.cc: Move <complex.h> to
1490 the end. Add <stdalign.h>.
1492 2016-10-03 Ville Voutilainen <ville.voutilainen@gmail.com>
1495 * testsuite/20_util/tuple/77802.cc: New.
1498 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
1499 Implement LWG 2729 for tuple.
1500 * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
1501 Suppress conditionally.
1502 (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
1503 (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
1504 (_Tuple_impl(const _Head&)): Constrain.
1505 (_Tuple_impl(_UHead&&)): Likewise.
1506 (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
1507 (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
1508 (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
1509 (operator=(const tuple&)): Enable conditionally.
1510 (operator=(tuple&&)): Suppress conditionally.
1511 (operator=(const tuple<_UElements...>&)): Constrain.
1512 (operator=(tuple<_UElements...>&&)): Likewise.
1513 (operator=(const tuple&)): Enable conditionally (2-param tuple).
1514 (operator=(tuple&&)): Suppress conditionally (2-param tuple).
1515 (operator=(const tuple<_U1, _U2>&)): Constrain.
1516 (operator=(tuple<_U1, _U2>&&)): Likewise.
1517 (operator=(const pair<_U1, _U2>&)): Likewise.
1518 (operator=(pair<_U1, _U2>&&)): Likewise.
1519 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
1520 * testsuite/20_util/tuple/tuple_traits.cc: New.
1522 2016-09-30 Jonathan Wakely <jwakely@redhat.com>
1525 * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check
1527 * config.h.in: Regenerate.
1528 * configure: Regenerate.
1529 * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare
1530 for C++98 and C++11.
1531 * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise.
1532 * testsuite/27_io/headers/cstdio/functions_neg.cc: New test.
1534 * doc/xml/manual/intro.xml: Document LWG 2192 changes.
1535 * doc/html/*: Regenerate.
1536 * include/Makefile.am: Add bits/std_abs.h.
1537 * include/Makefile.in: Regenerate.
1538 * include/bits/std_abs.h: New header defining all required overloads
1539 of std::abs in one place (LWG 2294).
1540 * include/c_global/cmath (abs(double), abs(float), abs(long double)):
1541 Move to bits/std_abs.h.
1542 (abs<_Tp>(_Tp)): Remove.
1543 * include/c_global/cstdlib (abs(long), abs(long long), abs(__int<N>)):
1544 Move to bits/std_abs.h.
1545 * testsuite/26_numerics/headers/cmath/dr2192.cc: New test.
1546 * testsuite/26_numerics/headers/cmath/dr2192_neg.cc: New test.
1547 * testsuite/26_numerics/headers/cstdlib/dr2192.cc: New test.
1548 * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: New test.
1551 * include/experimental/numeric: Include <numeric>.
1553 (gcd, lcm): Use __abs instead of std::abs.
1554 * testsuite/experimental/numeric/77801.cc: New test.
1555 * testsuite/experimental/numeric/gcd.cc: Test unsigned inputs.
1556 * testsuite/experimental/numeric/lcm.cc: Likewise.
1558 2016-09-29 Ville Voutilainen <ville.voutilainen@gmail.com>
1560 Make optional::reset noexcept, make optional::value
1561 work in constant expressions.
1562 * include/std/optional (_M_get): Make constexpr.
1563 (reset): Make noexcept.
1564 * testsuite/20_util/optional/assignment/7.cc: New.
1565 * testsuite/20_util/optional/observers/6.cc: New.
1567 2016-09-29 Jonathan Wakely <jwakely@redhat.com>
1569 * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads
1570 outside _GLIBCXX_USE_C99_MATH_TR1 condition.
1572 2016-09-29 Alan Modra <amodra@gmail.com>
1574 * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST.
1575 * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo):
1576 Use LONG_DOUBLE_COMPAT_FLAGS.
1577 * Makefile.in: Regenerate.
1578 * configure: Regenerate.
1579 * doc/Makefile.in: Regenerate.
1580 * include/Makefile.in: Regenerate.
1581 * libsupc++/Makefile.in: Regenerate.
1582 * po/Makefile.in: Regenerate.
1583 * python/Makefile.in: Regenerate.
1584 * src/Makefile.in: Regenerate.
1585 * src/c++11/Makefile.in: Regenerate.
1586 * src/c++98/Makefile.in: Regenerate.
1587 * src/filesystem/Makefile.in: Regenerate.
1588 * testsuite/Makefile.in: Regenerate.
1590 2016-09-28 Jonathan Wakely <jwakely@redhat.com>
1592 * include/std/chrono (system_clock): Fix typo in comment.
1594 * include/experimental/bits/fs_fwd.h (file_time_type): Simplify
1596 * src/filesystem/ops.cc (file_time): Take error_code parameter and
1598 (do_copy_file, last_write_time): Pass error_code in file_time calls.
1599 * testsuite/experimental/filesystem/operations/last_write_time.cc:
1601 * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper.
1604 * include/std/functional (_Any_data): Add may_alias attribute.
1606 2016-09-27 Jonathan Wakely <jwakely@redhat.com>
1608 * doc/xml/manual/status_cxx2017.xml: Update status.
1609 * doc/html/*: Regenerate.
1610 * include/std/functional (__cpp_lib_boyer_moore_searcher): Define.
1611 * testsuite/20_util/function_objects/searchers.cc: Test feature macro.
1613 * doc/xml/manual/status_cxx2017.xml: Update status.
1614 * include/c_global/cmath (hypot): Add three-dimensional overloads.
1615 * testsuite/26_numerics/headers/cmath/hypot.cc: New.
1617 2016-09-26 Ville Voutilainen <ville.voutilainen@gmail.com>
1620 * include/std/optional (optional(const optional<_Up>&)):
1621 Default-initialize the base and use emplace.
1622 (optional(optional<_Up>&&)): Likewise.
1623 * testsuite/20_util/optional/cons/77727.cc: New.
1625 2016-09-26 François Dumont <fdumont@gcc.gnu.org>
1627 * include/debug/safe_base.h
1628 (_Safe_iterator_base::_M_detach_single): Make public.
1630 2016-09-26 Jonathan Wakely <jwakely@redhat.com>
1632 * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
1633 redefine macro defined in <bits/stl_iterator.h>.
1635 * include/bits/stl_map.h (map::extract(const_iterator)): Assert that
1636 iterator is not past-the-end.
1637 * include/bits/stl_multimap.h (multimap::extract(const_iterator)):
1639 * include/bits/stl_multiset.h (multiset::extract(const_iterator)):
1641 * include/bits/stl_set.h (set::extract(const_iterator)): Likewise.
1642 * include/bits/unordered_map.h (unordered_map::extract(const_iterator))
1643 (unordered_multimap::extract(const_iterator)): Likewise.
1644 * include/bits/unordered_set.h (unordered_set::extract(const_iterator))
1645 (unordered_multiset::extract(const_iterator)): Likewise.
1647 2016-09-26 Ville Voutilainen <ville.voutilainen@gmail.com>
1650 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
1651 Fix an out-of-bounds access.
1653 2016-09-26 Marek Polacek <polacek@redhat.com>
1656 * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]].
1658 2016-09-25 François Dumont <fdumont@gcc.gnu.org>
1660 * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
1662 (get_safe_base_mutex): Get mutex based on address lowest non nil bits.
1663 * testsuite/23_containers/vector/debug/mutex_association.cc: New.
1665 * include/debug/bitset (bitset::reference::reference(const _Base_ref&,
1666 bitset*)): Remove __unused__ attribute.
1667 * include/debug/safe_base.h (_Safe_iterator_base): Make
1668 _Safe_sequence_base a friend.
1669 (_Safe_iterator_base::_M_attach): Make protected.
1670 (_Safe_iterator_base::_M_attach_single): Likewise.
1671 (_Safe_iterator_base::_M_detach): Likewise.
1672 (_Safe_iterator_base::_M_detach_single): Likewise.
1673 (_Safe_sequence_base): Make _Safe_iterator_base a friend.
1674 (_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New.
1675 (_Safe_sequence_base::_M_swap): Make protected.
1676 (_Safe_sequence_base::_M_attach): Make private.
1677 (_Safe_sequence_base::_M_attach_single): Likewise.
1678 (_Safe_sequence_base::_M_detach): Likewise.
1679 (_Safe_sequence_base::_M_detach_single): Likewise.
1680 * include/debug/safe_container.h
1681 (_Safe_container::_Safe_container(_Safe_container&&)): Make default.
1682 * include/debug/safe_iterator.h
1683 (_Safe_iterator::operator++()): Name __scoped_lock instance.
1684 * include/debug/safe_iterator.tcc: Remove trailing line.
1685 * include/debug/safe_unordered_base.h
1686 (_Safe_local_iterator_base::_M_attach): Make protected.
1687 (_Safe_local_iterator_base::_M_attach_single): Likewise.
1688 (_Safe_local_iterator_base::_M_detach): Likewise.
1689 (_Safe_local_iterator_base::_M_detach_single): Likewise.
1690 (_Safe_unordered_container_base): Make _Safe_local_iterator_base friend.
1691 (_Safe_unordered_container_base::_M_attach_local): Make private.
1692 (_Safe_unordered_container_base::_M_attach_local_single): Likewise.
1693 (_Safe_unordered_container_base::_M_detach_local): Likewise.
1694 (_Safe_unordered_container_base::_M_detach_local_single): Likewise.
1696 * include/parallel/algo.h: Generalize usage of std::__iterator_category.
1699 2016-09-23 Jonathan Wakely <jwakely@redhat.com>
1703 * include/bits/basic_string.h (basic_string::clear()): Drop reference
1705 * include/ext/rc_string_base.h (__rc_string_base::_M_clear()):
1707 * testsuite/21_strings/basic_string/56166.cc: New.
1708 * testsuite/ext/vstring/modifiers/clear/56166.cc: New.
1710 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
1711 (basic_string::erase(size_type, size_type)): Add fast path for
1712 truncating the string, by calling _M_set_length directly.
1713 (basic_string::erase(__const_iterator, __const_iterator)): Likewise.
1714 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
1715 (basic_string::resize(size_type, _CharT)): Likewise.
1717 2016-09-22 Jason Merrill <jason@redhat.com>
1719 * configure.ac: Define HAVE_MEMALIGN for newlib.
1721 2015-09-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
1723 * config/cpu/m68k/atomicity.h: Adjust comment.
1724 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
1725 explicit atomicity_dir setup via configure.host.
1726 * configure.host (rtems-*): Set atomicity_dir.
1727 * configure: Regenerate.
1729 2016-09-22 Jonathan Wakely <jwakely@redhat.com>
1731 Implement C++17 node extraction and insertion (P0083R5)
1732 * doc/xml/manual/status_cxx2017.xml: Document status.
1733 * doc/html/*: Regenerate.
1734 * include/Makefile.am: Add bits/node_handle.h and reorder.
1735 * include/Makefile.in: Regenerate.
1736 * include/bits/hashtable.h (_Hashtable::node_type)
1737 (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node)
1738 (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract)
1739 (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define.
1740 (_Hash_merge_helper): Define primary template.
1741 * include/bits/node_handle.h: New header.
1742 * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as
1744 (map::node_type, map::insert_return_type, map::extract, map::merge)
1745 (map::insert(node_type&&), map::insert(const_iterator, node_type&&)):
1747 (_Rb_tree_merge_helper): Specialize for map.
1748 * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper
1750 (multimap::node_type, multimap::extract, multimap::merge)
1751 (multimap::insert(node_type&&))
1752 (multimap::insert(const_iterator, node_type&&)): Define.
1753 (_Rb_tree_merge_helper): Specialize for multimap.
1754 * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper
1756 (multiset::node_type, multiset::extract, multiset::merge)
1757 (multiset::insert(node_type&&))
1758 (multiset::insert(const_iterator, node_type&&)): Define.
1759 * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as
1761 (set::node_type, set::insert_return_type, set::extract, set::merge)
1762 (set::insert(node_type&&), set::insert(const_iterator, node_type&&)):
1764 (_Rb_tree_merge_helper): Specialize for set.
1765 * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend.
1766 (_Rb_tree::node_type, _Rb_tree::insert_return_type)
1767 (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal)
1768 (_Rb_tree::_M_reinsert_node_hint_unique)
1769 (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract)
1770 (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define.
1771 (_Rb_tree_merge_helper): Specialize for multiset.
1772 * include/bits/unordered_map.h (unordered_map): Declare
1773 unordered_map<> and unordered_multimap<> as friends.
1774 (unordered_map::node_type, unordered_map::insert_return_type)
1775 (unordered_map::extract, unordered_map::merge)
1776 (unordered_map::insert(node_type&&))
1777 (unordered_map::insert(const_iterator, node_type&&))
1778 (unordered_multimap): Declare _Hash_merge_helper as friend.
1779 (unordered_multimap::node_type, unordered_multimap::extract)
1780 (unordered_multimap::merge, unordered_multimap::insert(node_type&&))
1781 (unordered_multimap::insert(const_iterator, node_type&&)): Define.
1782 (_Hash_merge_helper): Specialize for unordered maps and multimaps.
1783 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
1784 Declare _Hash_merge_helper as friend.
1785 (unordered_set::node_type, unordered_set::insert_return_type)
1786 (unordered_set::extract, unordered_set::merge)
1787 (unordered_set::insert(node_type&&))
1788 (unordered_set::insert(const_iterator, node_type&&)): Define.
1789 (unordered_multiset::node_type, unordered_multiset::extract)
1790 (unordered_multiset::merge, unordered_multiset::insert(node_type&&))
1791 (unordered_multiset::insert(const_iterator, node_type&&)): Define.
1792 (_Hash_merge_helper): Specialize for unordered sets and multisets.
1793 * include/debug/map.h (map): Add using declarations or forwarding
1794 functions for new members.
1795 * include/debug/map.h (multimap): Likewise.
1796 * include/debug/map.h (multiset): Likewise.
1797 * include/debug/map.h (set): Likewise.
1798 * include/debug/unordered_map (unordered_map, unordered_multimap):
1800 * include/debug/unordered_set( unordered_set, unordered_multiset):
1802 * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New
1804 (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper.
1805 (StdNodeHandlePrinter): Define printer for node handles.
1806 (build_libstdcxx_dictionary): Register StdNodeHandlePrinter.
1807 * testsuite/23_containers/map/modifiers/extract.cc: New.
1808 * testsuite/23_containers/map/modifiers/merge.cc: New.
1809 * testsuite/23_containers/multimap/modifiers/extract.cc: New.
1810 * testsuite/23_containers/multimap/modifiers/merge.cc: New.
1811 * testsuite/23_containers/multiset/modifiers/extract.cc: New.
1812 * testsuite/23_containers/multiset/modifiers/merge.cc: New.
1813 * testsuite/23_containers/set/modifiers/extract.cc: New.
1814 * testsuite/23_containers/set/modifiers/merge.cc: New.
1815 * testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
1816 * testsuite/23_containers/unordered_map/modifiers/merge.cc: New.
1817 * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
1819 * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New.
1820 * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
1822 * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New.
1823 * testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
1824 * testsuite/23_containers/unordered_set/modifiers/merge.cc: New.
1825 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1827 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles.
1829 2016-09-22 Ville Voutilainen <ville.voutilainen@gmail.com>
1831 Fix tests on old arm platforms for optional.
1832 * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
1834 2016-09-22 Jonathan Wakely <jwakely@redhat.com>
1836 * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for
1837 recent change to _Variant_storage.
1838 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with
1841 * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify
1842 std::forward and ::new. Cast pointer to void*.
1843 * include/std/variant (_Variant_storage, _Union, _Variant_base)
1844 (__access, __visit_invoke, variant, visit): Qualify std::forward.
1845 * testsuite/20_util/variant/compile.cc: Test for ADL problems.
1847 2016-09-22 Tim Shen <timshen@google.com>
1849 * include/std/variant (variant::operator=): Fix assignment
1851 * testsuite/20_util/variant/compile.cc: Add test.
1853 2016-09-22 Tim Shen <timshen@google.com>
1856 * include/std/variant (_Variant_storage::_Variant_storage):
1857 Change _Variant_storage's union to be default constructible.
1858 * testsuite/20_util/variant/compile.cc: New test.
1860 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
1863 * include/std/optional (__is_optional_impl, __is_optional): Remove.
1864 (__converts_from_optional, __assigns_from_optional): New.
1865 (optional(_Up&&)): Use is_same instead of __is_optional.
1866 (optional(const optional<_Up>&)): Constrain with
1867 __converts_from_optional.
1868 (optional(optional<_Up>&&)): Likewise.
1869 (operator=(_Up&&)): Use is_same instead of __is_optional, check
1870 is_same and is_scalar.
1871 (operator=(const optional<_Up>&)): Constrain with
1872 __converts_from_optional and __assigns_from_optional.
1873 (operator=(optional<_Up>&&)): Likewise.
1874 * testsuite/20_util/optional/77288.cc: New.
1875 * testsuite/20_util/optional/cons/value.cc: Adjust.
1877 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
1879 Implement LWG 2729 for tuple.
1880 * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
1881 Suppress conditionally.
1882 (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
1883 (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
1884 (_Tuple_impl(const _Head&)): Constrain.
1885 (_Tuple_impl(_UHead&&)): Likewise.
1886 (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
1887 (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
1888 (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
1889 (operator=(const tuple&)): Enable conditionally.
1890 (operator=(tuple&&)): Suppress conditionally.
1891 (operator=(const tuple<_UElements...>&)): Constrain.
1892 (operator=(tuple<_UElements...>&&)): Likewise.
1893 (operator=(const tuple&)): Enable conditionally (2-param tuple).
1894 (operator=(tuple&&)): Suppress conditionally (2-param tuple).
1895 (operator=(const tuple<_U1, _U2>&)): Constrain.
1896 (operator=(tuple<_U1, _U2>&&)): Likewise.
1897 (operator=(const pair<_U1, _U2>&)): Likewise.
1898 (operator=(pair<_U1, _U2>&&)): Likewise.
1899 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
1900 * testsuite/20_util/tuple/tuple_traits.cc: New.
1902 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
1905 Implement LWG 2729 for pair.
1906 * include/bits/stl_pair.h (_PCC): New.
1907 (_ConstructiblePair, _ImplicitlyConvertiblePair):
1908 Turn into static member functions of _PCC.
1909 (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
1911 (pair(const _T1&, const _T2&)): Adjust.
1913 (pair(const pair<_U1, _U2>&)): Adjust.
1914 (pair(_U1&&, const _T2&)): Likewise.
1915 (pair(const _T1&, _U2&&)): Likewise.
1916 (pair(_U1&&, _U2&&)): Likewise.
1917 (pair(pair<_U1, _U2>&&)): Likewise.
1918 (operator=(const pair&)): Make conditionally deleted.
1919 (operator=(pair&&)): Make conditionally suppressed.
1920 (operator=(const pair<_U1, _U2>&)): Constrain.
1921 (operator=(pair<_U1, _U2>&&): Likewise.
1922 * include/std/type_traits (__nonesuch): New.
1923 * testsuite/20_util/pair/traits.cc: New.
1925 2016-09-20 Ville Voutilainen <ville.voutilainen@gmail.com>
1928 * include/bits/stl_construct.h: (_Construct_novalue): New.
1929 (_Destroy_n_aux, _Destroy_n): New.
1930 * include/bits/stl_uninitialized.h: (type_traits):
1931 New include in C++11 mode.
1932 (__uninitialized_default_novalue_1): New.
1933 (__uninitialized_default_novalue_n_1): Likewise.
1934 (__uninitialized_default_novalue): Likewise.
1935 (__uninitialized_default_novalue_n): Likewise.
1936 (__uninitialized_copy_n_pair): Likewise.
1937 (uninitialized_default_construct):
1938 Use __uninitialized_default_novalue.
1939 (uninitialized_default_construct_n):
1940 Use __uninitialized_default_novalue_n.
1941 (uninitialized_value_construct): Use __uninitialized_default.
1942 (uninitialized_value_construct_n): Use __uninitialized_default_n.
1943 (uninitialized_move): Use uninitialized_copy.
1944 (uninitialized_move_n): Use __uninitialized_copy_n_pair.
1945 (destroy_at): Use _Destroy.
1946 (destroy): Likewise.
1947 (destroy_n): Likewise.
1948 * testsuite/20_util/specialized_algorithms/
1949 memory_management_tools/1.cc: Add tests for exceptions,
1950 add tests for trivial cases for construct and move.
1952 2016-09-20 Jonathan Wakely <jwakely@redhat.com>
1954 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
1955 (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
1957 2016-09-19 Jonathan Wakely <jwakely@redhat.com>
1960 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
1961 (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
1962 division to int to work with Python 3.
1964 * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
1966 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
1967 display_hint to be set by subclasses.
1968 (StdVariantPrinter): Use array for display_hint. Adjust output to be
1969 more similar to std::any and std::optional output.
1970 (register_type_printers): Add type printers for basic_string_view
1971 typedefs and experimental::any. Adjust type printers for
1972 fundamentals_v1 templates to match fundamentals_v2 and later.
1973 * testsuite/libstdc++-prettyprinters/cxx17.cc: New.
1976 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
1978 (ListWorkerBase.get_value_from_node): Define new method.
1979 (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
1981 2016-09-17 Jonathan Wakely <jwakely@redhat.com>
1983 * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
1984 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
1985 Register for C++17 components in namespace std. Strip inline namespace
1988 2016-09-16 Jonathan Wakely <jwakely@redhat.com>
1990 * doc/xml/manual/profile_mode.xml: Fix typo.
1991 * doc/html/manual/profile_mode_devel.html: Regenerate.
1993 2016-09-16 Jonathan Wakely <jwakely@redhat.com>
1994 Marc Glisse <marc.glisse@inria.fr>
1996 * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
1997 (operator new(size_t, align_val_t)): Replace modulus operator with
2000 2016-09-16 Jonathan Wakely <jwakely@redhat.com>
2002 * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
2003 Increase alignment if less than sizeof(void*).
2004 [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
2005 Increase size if not a multiple of alignment.
2007 2016-09-15 Jonathan Wakely <jwakely@redhat.com>
2009 * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
2010 * doc/html/*: Regenerate.
2012 * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
2014 * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
2016 2016-09-14 Marek Polacek <polacek@redhat.com>
2018 * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
2021 2016-09-14 Christophe Lyon <christophe.lyon@linaro.org>
2023 * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
2024 Move dg-do directive before dg-skip.
2025 * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
2026 Move dg-do directive before dg-require.
2027 * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
2028 * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
2029 * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
2030 * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
2031 * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
2032 * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
2033 * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
2034 * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
2035 * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
2036 * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
2037 * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
2038 * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
2039 * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
2040 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
2041 * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
2043 * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
2044 * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
2045 * testsuite/27_io/objects/char/12048-5.cc: Likewise.
2046 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
2047 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
2049 2016-09-13 Ville Voutilainen <ville.voutilainen@gmail.com>
2051 Implement P0040R3, Extending memory management tools.
2052 * include/bits/stl_uninitialized.h (utility): New include
2054 (uninitialized_default_construct): New.
2055 (uninitialized_default_construct_n): Likewise.
2056 (uninitialized_value_construct): Likewise.
2057 (uninitialized_value_construct_n): Likewise.
2058 (uninitialized_move): Likewise.
2059 (uninitialized_move_n): Likewise.
2060 (destroy_at, destroy, destroy_n): Likewise.
2061 * testsuite/20_util/specialized_algorithms/memory_management_tools/
2064 2016-09-12 Jason Merrill <jason@redhat.com>
2066 * config/abi/pre/gnu.ver: Use [jmy] for size_t.
2068 2016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
2070 Implement P0253R1, Fixing a design mistake in the searchers
2071 interface in Library Fundamentals.
2072 * include/std/functional: (utility): New include in C++17 mode.
2073 (default_searcher): Use a pair as return type, adjust the definition.
2074 (boyer_moore_searcher): Likewise.
2075 (boyer_moore_horspool_searcher): Likewise.
2076 * testsuite/20_util/function_objects/searchers.cc: Adjust.
2078 2016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
2080 Implement C++17 string searchers.
2081 * include/std/functional: (unordered_map, vector): New includes
2083 (array, bits/stl_algo.h): Likewise.
2084 (default_searcher, __boyer_moore_map_base): New.
2085 (__boyer_moore_array_base, __is_std_equal_to): Likewise.
2086 (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
2087 (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
2088 (make_boyer_moore_searcher): Likewise.
2089 (make_boyer_moore_horspool_searcher): Likewise.
2090 * testsuite/20_util/function_objects/searchers.cc: New.
2092 2016-09-12 Matthew Wahab <matthew.wahab@arm.com>
2094 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
2095 Move dg-do directive before dg-require.
2096 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
2097 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
2099 * testsuite/22_locale/codecvt/utf8.cc: Likewise.
2100 * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
2101 * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
2102 * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
2103 * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
2104 * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
2105 * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
2106 * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
2107 * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
2108 * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
2109 * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
2110 * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
2111 * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
2113 * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
2115 * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
2116 * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
2117 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
2119 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
2121 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
2123 * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
2125 * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
2127 * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
2129 * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
2131 * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
2133 * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
2135 * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
2137 * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
2139 * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
2141 * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
2143 * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
2145 * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
2147 * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
2149 * testsuite/23_containers/forward_list/debug/
2150 iterator_self_move_assign_neg.cc: Likewise.
2151 * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
2153 * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
2155 * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
2157 * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
2159 * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
2161 * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
2163 * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
2165 * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
2167 * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
2168 * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
2169 * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
2170 * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
2171 * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
2172 * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
2173 * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
2174 * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
2175 * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
2176 * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
2177 * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
2179 * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
2180 * testsuite/23_containers/map/debug/60499.cc: Likewise.
2181 * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
2182 * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
2183 * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
2184 * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
2185 * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
2186 * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
2187 * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
2189 * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
2190 * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
2191 * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
2192 * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
2193 * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
2194 * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
2195 * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
2196 * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
2197 * testsuite/23_containers/multimap/debug/
2198 iterator_self_move_assign_neg.cc: Likewise.
2199 * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
2201 * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
2202 * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
2203 * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
2204 * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
2205 * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
2206 * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
2207 * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
2208 * testsuite/23_containers/multiset/debug/
2209 iterator_self_move_assign_neg.cc: Likewise.
2210 * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
2212 * testsuite/23_containers/set/debug/60499.cc: Likewise.
2213 * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
2214 * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
2215 * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
2216 * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
2217 * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
2218 * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
2219 * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
2221 * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
2222 * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
2223 * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
2224 * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
2225 * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
2227 * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
2228 * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
2229 * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
2231 * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
2233 * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
2235 * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
2236 * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
2237 * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
2238 * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
2239 * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
2240 * testsuite/23_containers/unordered_map/debug/
2241 invalid_local_iterator_compare_neg.cc: Likewise.
2242 * testsuite/23_containers/unordered_map/debug/
2243 invalid_local_iterator_range_neg.cc: Likewise.
2244 * testsuite/23_containers/unordered_map/debug/
2245 iterator_self_move_assign_neg.cc: Likewise.
2246 * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
2248 * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
2250 * testsuite/23_containers/unordered_map/debug/
2251 use_erased_local_iterator_neg.cc: Likewise.
2252 * testsuite/23_containers/unordered_map/debug/
2253 use_invalid_iterator_neg.cc: Likewise.
2254 * testsuite/23_containers/unordered_map/debug/
2255 use_invalid_local_iterator_neg.cc: Likewise.
2256 * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
2257 * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc:
2259 * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
2261 * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
2263 * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
2265 * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
2267 * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
2269 * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
2271 * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
2273 * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
2275 * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
2277 * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
2279 * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
2281 * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
2283 * testsuite/23_containers/unordered_multimap/debug/
2284 invalid_local_iterator_compare_neg.cc: Likewise.
2285 * testsuite/23_containers/unordered_multimap/debug/
2286 invalid_local_iterator_range_neg.cc: Likewise.
2287 * testsuite/23_containers/unordered_multimap/debug/
2288 iterator_self_move_assign_neg.cc: Likewise.
2289 * testsuite/23_containers/unordered_multimap/debug/
2290 max_load_factor_neg.cc: Likewise.
2291 * testsuite/23_containers/unordered_multimap/debug/
2292 self_move_assign_neg.cc: Likewise.
2293 * testsuite/23_containers/unordered_multimap/debug/
2294 use_erased_local_iterator_neg.cc: Likewise.
2295 * testsuite/23_containers/unordered_multimap/debug/
2296 use_invalid_iterator_neg.cc: Likewise.
2297 * testsuite/23_containers/unordered_multimap/debug/
2298 use_invalid_local_iterator_neg.cc: Likewise.
2299 * testsuite/23_containers/unordered_multiset/debug/60499.cc:
2301 * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
2303 * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
2305 * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
2307 * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
2309 * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
2311 * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
2313 * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
2315 * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
2317 * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
2319 * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
2321 * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
2323 * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
2325 * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
2327 * testsuite/23_containers/unordered_multiset/debug/
2328 invalid_local_iterator_compare_neg.cc: Likewise.
2329 * testsuite/23_containers/unordered_multiset/debug/
2330 invalid_local_iterator_range_neg.cc: Likewise.
2331 * testsuite/23_containers/unordered_multiset/debug/
2332 iterator_self_move_assign_neg.cc: Likewise.
2333 * testsuite/23_containers/unordered_multiset/debug/
2334 max_load_factor_neg.cc: Likewise.
2335 * testsuite/23_containers/unordered_multiset/debug/
2336 self_move_assign_neg.cc: Likewise.
2337 * testsuite/23_containers/unordered_multiset/debug/
2338 use_erased_local_iterator_neg.cc: Likewise.
2339 * testsuite/23_containers/unordered_multiset/debug/
2340 use_invalid_iterator_neg.cc: Likewise.
2341 * testsuite/23_containers/unordered_multiset/debug/
2342 use_invalid_local_iterator_neg.cc: Likewise.
2343 * testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
2344 * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
2345 * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
2346 * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
2348 * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
2349 * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
2350 * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
2352 * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
2354 * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
2356 * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
2357 * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
2358 * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
2359 * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
2360 * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
2361 * testsuite/23_containers/unordered_set/debug/
2362 invalid_local_iterator_compare_neg.cc: Likewise.
2363 * testsuite/23_containers/unordered_set/debug/
2364 invalid_local_iterator_range_neg.cc: Likewise.
2365 * testsuite/23_containers/unordered_set/debug/
2366 iterator_self_move_assign_neg.cc: Likewise.
2367 * testsuite/23_containers/unordered_set/debug/
2368 max_load_factor_neg.cc: Likewise.
2369 * testsuite/23_containers/unordered_set/debug/
2370 self_move_assign_neg.cc: Likewise.
2371 * testsuite/23_containers/unordered_set/debug/
2372 use_erased_local_iterator_neg.cc: Likewise.
2373 * testsuite/23_containers/unordered_set/debug/
2374 use_invalid_iterator_neg.cc: Likewise.
2375 * testsuite/23_containers/unordered_set/debug/
2376 use_invalid_local_iterator_neg.cc: Likewise.
2377 * testsuite/23_containers/vector/debug/52433.cc: Likewise.
2378 * testsuite/23_containers/vector/debug/60499.cc: Likewise.
2379 * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
2380 * testsuite/23_containers/vector/debug/
2381 iterator_self_move_assign_neg.cc: Likewise.
2382 * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
2384 * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
2385 * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
2386 * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
2387 * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
2388 * testsuite/29_atomics/atomic/60658.cc: Likewise.
2389 * testsuite/29_atomics/atomic/60695.cc: Likewise.
2390 * testsuite/29_atomics/atomic/62259.cc: Likewise.
2391 * testsuite/29_atomics/atomic/64658.cc: Likewise.
2392 * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
2393 * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
2394 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
2397 2016-09-11 Jonathan Wakely <jwakely@redhat.com>
2399 * libsupc++/new_opant.cc: Include exception_defines.h.
2400 * libsupc++/new_opvant.cc: Likewise.
2402 2016-09-09 Jason Merrill <jason@redhat.com>
2404 Implement P0035R4, C++17 new of over-aligned types.
2405 * libsupc++/new: Declare aligned new/delete operators.
2406 * config/abi/pre/gnu.ver: Export them.
2407 * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
2409 * libsupc++/new_opa.cc: New.
2410 * libsupc++/new_opant.cc: New.
2411 * libsupc++/new_opva.cc: New.
2412 * libsupc++/new_opva.cc: New.
2413 * libsupc++/del_opa.cc: New.
2414 * libsupc++/del_opant.cc: New.
2415 * libsupc++/del_opsa.cc: New.
2416 * libsupc++/del_opva.cc: New.
2417 * libsupc++/del_opvant.cc: New.
2418 * libsupc++/del_opvsa.cc: New.
2419 * libsupc++/Makefile.am: Build them.
2421 2016-09-05 Tim Shen <timshen@google.com>
2423 * include/std/variant: include bits/move.h for std::addressof.
2425 2016-09-05 Mikhail Strelnikov <mikhail.strelnikov@gmail.com>
2427 * include/std/variant (_Variant_storage::_M_storage()): Use
2428 std::addressof instead of operator& to take address.
2430 2016-09-02 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
2432 * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
2433 setrlimit on both native and cross targets.
2434 * configure: Regenerate.
2436 2016-08-31 Jonathan Wakely <jwakely@redhat.com>
2438 * include/bits/shared_ptr.h (_Assignable): New alias template.
2439 (shared_ptr::operator=(const shared_ptr<_Tp1>&))
2440 (shared_ptr::operator=(shared_ptr<_Tp1>&&))
2441 (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
2443 * include/bits/shared_ptr_base.h (_Assignable): New alias template.
2444 (__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
2445 (__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
2446 (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
2448 (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
2449 (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
2451 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
2453 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2454 * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
2455 * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
2456 expected errors. Remove unnecessary code.
2457 * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
2459 * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
2461 * testsuite/23_containers/set/move_comparison.cc: New test.
2463 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
2466 2016-08-30 Ville Voutilainen <ville.voutilainen@gmail.com>
2469 * include/std/type_traits (is_constructible): Forward-declare...
2470 (__is_base_to_derived_ref): ...and use here.
2471 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
2472 * testsuite/20_util/is_constructible/77395.cc: New.
2473 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
2474 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2476 * testsuite/20_util/tuple/77395.cc: New.
2478 2016-08-30 Uros Bizjak <ubizjak@gmail.com>
2480 * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
2481 directive above dg-require-namedlocale directive.
2482 * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
2483 * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
2484 * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
2485 * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
2486 * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
2488 2016-08-27 Tim Shen <timshen@google.com>
2491 * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
2492 _M_expression_term): Modify to support dash literal.
2493 * include/bits/regex_scanner.h: Add dash as a token type to make
2494 a different from the mandated dash literal by escaping.
2495 * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
2496 token in bracket expression parsing.
2497 * testsuite/28_regex/regression.cc: Add new testcases.
2499 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
2502 * doc/xml/manual/intro.xml: Document DR 2127 change.
2503 * doc/html/*: Regenerate.
2504 * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
2505 (operator++(), operator++(int)): Use injected class name.
2506 * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
2508 * testsuite/*: Use { target c++11 } or { target c++14 } instead of
2509 using -std in dg-options.
2511 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
2512 Pedro Alves <palves@redhat.com>
2514 * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
2515 and restore dg-interpreter-batch-mode.
2516 * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
2517 gdb-dg-runtest instead of dg-runtest.
2518 * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
2520 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
2522 * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
2523 precise patterns for basic_string constructors.
2524 (GLIBCXX_3.4.23): Export new constructors.
2525 * doc/xml/manual/intro.xml: Document LWG 2583 status.
2526 * doc/html/*: Regenerate.
2527 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
2528 (basic_string(const basic_string&, size_type, const Alloc&)): Add
2529 new constructor for LWG 2583.
2530 (basic_string(const basic_string&, size_type, size_type)): Remove
2532 [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
2533 * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
2534 * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
2535 * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
2537 2016-08-24 Aditya Kumar <hiraditya@msn.com>
2539 * include/bits/algorithmfwd.h: Remove trailing whitespace.
2540 * include/bits/shared_ptr_base.h: Likewise.
2542 2016-08-23 Jonathan Wakely <jwakely@redhat.com>
2544 * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
2545 * include/profile/array (array): Likewise.
2546 (array::swap): Fix exception specification for zero-sized arrays.
2549 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
2550 (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
2551 * testsuite/23_containers/map/77334.cc: New test.
2553 * doc/xml/manual/using.xml: Remove reference to -pthreads option.
2554 * doc/html/*: Regenerate.
2556 * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
2557 * testsuite/experimental/feat-lib-fund.cc: Likewise.
2560 * include/bits/stl_iterator.h
2561 (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
2562 define for C++98 mode.
2563 (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
2564 * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
2566 * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
2567 * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
2568 * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
2569 * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
2570 difference operator.
2571 * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
2572 difference operator for C++98.
2573 * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
2575 * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
2576 * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
2577 (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
2578 * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
2579 (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
2581 * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
2582 _GLIBCXX14_CONSTEXPR.
2583 (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
2584 * include/std/array (array::begin, array::end, array::rbegin)
2585 (array::rend, array::cbegin, array:cend, array::crbegin)
2586 (array::crend, array::operator[], array::at, array::front)
2587 (array::back, array::data): Likewise.
2588 * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
2589 with separate tests for C++11, C++14, and C++17.
2590 * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
2591 * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
2592 * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
2594 2016-08-22 Tim Shen <timshen@google.com>
2596 Split _M_dfs() into smaller functions.
2597 * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
2598 (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
2599 (_M_handle_line_end_assertion, _M_handle_word_boundary)
2600 (_M_handle_subexpr_lookahead, _M_handle_match)
2601 (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
2602 Add separate function declarations.
2603 * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
2605 2016-08-22 Gleb Natapov <gleb@scylladb.com>
2608 * config/abi/pre/gnu-versioned-namespace.ver: Export
2609 __cxa_init_primary_exception and std::exception_ptr(void*).
2610 * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
2611 export __cxa_init_primary_exception and std::exception_ptr(void*).
2612 * include/Makefile.am: Add new headers.
2613 * include/Makefile.in: Regenerate.
2614 * libsupc++/Makefile.am: Add new headers.
2615 * libsupc++/Makefile.in: Regenerate.
2616 * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
2617 * libsupc++/cxxabi_init_exception.h: New header.
2618 (__cxa_init_primary_exception): Declare.
2619 * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
2620 (__cxa_throw): Use __cxa_init_primary_exception.
2621 * libsupc++/exception (std::exception): Move to ...
2622 * libsupc++/exception.h: New header.
2623 * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
2625 (__exception_ptr::__dest_thunk): New function template.
2626 (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
2627 Use __cxa_allocate_exception and __cxa_init_primary_exception to
2628 create exception_ptr.
2629 * libsupc++/typeinfo: Include bits/exception.h instead of exception.
2630 * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
2632 2016-08-22 Jonathan Wakely <jwakely@redhat.com>
2634 * doc/xml/api.xml: Replace hardcoded links for specific versions with
2635 link to docs for all releases.
2636 * doc/html/*: Regenerate.
2639 * doc/xml/manual/intro.xml: Document DR 2062 change.
2640 * include/std/functional (function::swap): Add noexcept.
2641 (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
2642 * testsuite/20_util/function/77322.cc: New test.
2644 2016-08-19 Jonathan Wakely <jwakely@redhat.com>
2646 * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
2647 *-*-solaris* instead of -pthreads.
2648 * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
2649 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
2650 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
2651 * testsuite/23_containers/list/pthread1.cc: Likewise.
2652 * testsuite/23_containers/list/pthread5.cc: Likewise.
2653 * testsuite/23_containers/map/pthread6.cc: Likewise.
2654 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
2655 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
2656 * testsuite/30_threads/shared_mutex/*: Likewise.
2657 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
2658 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
2659 default_weaktoshared.cc: Likewise.
2660 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
2661 mutex_weaktoshared.cc: Likewise.
2662 * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
2663 dg-require-effective-target instead of using -std option.
2664 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
2666 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
2667 * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
2669 * testsuite/30_threads/async/*: Likewise.
2670 * testsuite/30_threads/call_once/*: Likewise.
2671 * testsuite/30_threads/condition_variable/*: Likewise.
2672 * testsuite/30_threads/condition_variable_any/*: Likewise.
2673 * testsuite/30_threads/future/*: Likewise.
2674 * testsuite/30_threads/lock/*: Likewise.
2675 * testsuite/30_threads/mutex/*: Likewise.
2676 * testsuite/30_threads/packaged_task/*: Likewise.
2677 * testsuite/30_threads/promise/*: Likewise.
2678 * testsuite/30_threads/recursive_mutex/*: Likewise.
2679 * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
2680 * testsuite/30_threads/shared_future/*: Likewise.
2681 * testsuite/30_threads/shared_lock/*: Likewise.
2682 * testsuite/30_threads/shared_timed_mutex/*: Likewise.
2683 * testsuite/30_threads/this_thread/*: Likewise.
2684 * testsuite/30_threads/thread/*: Likewise.
2685 * testsuite/30_threads/timed_mutex/*: Likewise.
2686 * testsuite/30_threads/try_lock/*: Likewise.
2687 * testsuite/30_threads/unique_lock/*: Likewise.
2689 * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
2690 * doc/html/*: Regenerate.
2691 * include/experimental/functional (_Not_fn, not_fn): Match C++17
2693 * include/std/functional (_Not_fn, not_fn): Define for C++17.
2694 * testsuite/20_util/not_fn/1.cc: New.
2695 * testsuite/experimental/functional/not_fn.cc: Test abstract class.
2696 Remove test for volatile-qualified wrapper.
2698 * include/std/atomic (atomic::is_always_lock_free): Define.
2699 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
2700 * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
2701 * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
2702 * doc/xml/manual/status_cxx2017.xml: Update status.
2703 * doc/html/*: Regenerate.
2705 * include/experimental/tuple (apply): Qualify call to __apply_impl.
2706 * include/std/tuple (apply): Likewise.
2707 * testsuite/experimental/system_error/value.cc: Fix ambiguities in
2709 * testsuite/experimental/tuple/tuple_size.cc: Likewise.
2710 * testsuite/experimental/type_traits/value.cc: Likewise.
2712 * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
2714 * doc/html/*: Regenerate.
2716 2016-08-18 Ville Voutilainen <ville.voutilainen@gmail.com>
2718 Implement the latest proposed resolution of LWG 2756.
2719 * include/std/optional (Optional_base(const _Tp&))
2720 (Optional_base(_Tp&&), using _Base::_Base): Remove.
2721 (optional(nullopt_t)): New.
2722 (optional(_Up&&)): Invoke base directly with in_place
2723 rather than creating a temporary, add default template
2724 argument, change constraints.
2725 (optional(const optional<_Up>&)): Invoke base directly
2726 with in_place, remove unnecessary constraints.
2727 (optional(optional<_Up>&& __t)): Likewise.
2728 (optional(in_place_t, _Args&&...)): New.
2729 (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
2730 (operator=(_Up&&)): Add default template argument, change constraints.
2731 (operator=(const optional<_Up>&)): Put is_same first in the
2733 (operator=(optional<_Up>&&)): Likewise.
2734 * testsuite/20_util/optional/assignment/5.cc: Add a test to
2735 verify assignment from something that can't be perfect-forwarded.
2736 * testsuite/20_util/optional/cons/value.cc: Add tests to verify
2737 that a nested optional is disengaged when constructed
2738 from a disengaged element type, and to verify that assignments
2739 from an engaged element type engage the optional.
2741 2016-08-18 Tim Shen <timshen@google.com>
2745 * include/Makefile.am: Add new file std/variant.
2746 * include/Makefile.in: Generated from Makefile.am.
2747 * include/bits/enable_special_members.h: Add a tag type to allow
2748 the construction in non-default constructor.
2749 * include/bits/uses_allocator.h: Add convenience traits to
2750 detect constructibility.
2751 * include/std/variant: Implement <variant>.
2752 * testsuite/20_util/variant/compile.cc: Compile-time tests.
2753 * testsuite/20_util/variant/run.cc: Runtime tests.
2755 2016-08-18 Jonathan Wakely <jwakely@redhat.com>
2757 * doc/xml/manual/test.xml (test.run.permutations): Expand section.
2758 (test.new_tests): Rewrite section.
2759 (tests.dg.directives): New section.
2760 * doc/html/*: Regenerate.
2762 * doc/xml/manual/test.xml: Improve documentation of test targets.
2763 Document new-abi-baseline, check-debug, and check-parallel targets.
2765 * doc/xml/manual/build_hacking.xml: New section on shared library
2768 * doc/xml/manual/build_hacking.xml: Improve markup.
2769 * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
2771 * doc/xml/faq.xml: Change link text to "Testing".
2773 * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
2774 dg-options directive.
2776 2016-08-17 Jonathan Wakely <jwakely@redhat.com>
2778 * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
2779 directive and use effective target instead of dg-options.
2781 * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
2782 instead of -std in dg-options.
2783 * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
2784 * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
2785 * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
2786 * testsuite/20_util/hash/quality.cc: Likewise.
2787 * testsuite/25_algorithms/heap/moveable.cc: Likewise.
2788 * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
2789 * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
2790 * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
2791 * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
2792 * testsuite/25_algorithms/sort/random_test.cc: Likewise.
2794 * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
2795 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
2796 * testsuite/27_io/rvalue_streams.cc: Likewise.
2798 * testsuite/26_numerics/complex/literals/types.cc: Add comment.
2800 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
2801 Remove duplicate dg-options directive.
2803 * testsuite/ext/profile/all.cc: Use effective target instead of
2804 -std=gnu++11. Use dg-additional-options instead of repeating options.
2806 * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
2807 -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
2808 instead of dg-excess-errors.
2810 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
2812 * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
2813 * testsuite/experimental/ratio/value.cc: Likewise.
2814 * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
2816 * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
2817 * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
2818 * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
2819 * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
2820 * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
2821 * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
2822 * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
2823 * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
2824 * testsuite/tr1/5_numerical_facilities/special_functions/
2825 10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
2826 C++17 compatibility.
2828 * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
2829 expected signatures for C++14 compatibility.
2832 * include/bits/basic_string.h (operator=(__sv_type)
2833 (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
2834 (replace(size_type, size_type, __sv_type))
2835 (replace(const_iterator, const_iterator, __sv_type))
2836 (find(__sv_type, size_type), rfind(__sv_type, size_type))
2837 (compare(size_type, size_type, __sv_type)): Reformat.
2838 (_If_sv): Define helper for SFINAE constaints.
2839 (append(const _Tp&, size_type, size_type))
2840 (assign(const _Tp&, size_type, size_type))
2841 (insert(size_type, const _Tp&, size_type, size_type))
2842 (replace(size_type, size_type, const _Tp&, size_type, size_type)):
2844 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
2846 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
2848 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
2850 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
2852 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
2854 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
2856 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
2858 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
2860 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
2862 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
2864 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
2867 2016-08-16 Jonathan Wakely <jwakely@redhat.com>
2870 * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
2871 pointers to start and end of storage.
2872 * testsuite/23_containers/vector/bool/72847.cc: New test.
2873 * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
2874 _M_finish after deallocating.
2875 (vector<bool>::_M_fill_insert): Likewise.
2876 (vector<bool>::_M_insert_range): Likewise.
2877 (vector<bool>::_M_insert_aux): Likewise.
2879 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
2881 Implement LWG 2744 and LWG 2754.
2882 * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
2883 (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
2884 (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
2886 (emplace(_Args&&...)): Likewise.
2887 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
2888 * include/std/utility: (__is_in_place_type_impl): New.
2889 (__is_in_place_type): Likewise.
2890 * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
2892 * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
2893 in_place constructor.
2894 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
2895 * testsuite/20_util/any/requirements.cc: Add a test for
2896 in_place-constructing a non-default-constructible type.
2898 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
2900 Add a feature macro for C++17 make_from_tuple.
2901 * include/std/tuple (__cpp_lib_make_from_tuple): New.
2902 (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
2903 Qualify the call to get<>().
2904 * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
2906 2016-08-15 Uros Bizjak <ubizjak@gmail.com>
2908 * src/filesystem/ops.cc: Always include ostream and
2909 ext/stdio_filebuf.h.
2910 (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
2911 [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
2912 sendfile fails with ENOSYS or EINVAL.
2914 2016-08-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
2917 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
2920 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
2922 Implement C++17 make_from_tuple.
2923 * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
2924 * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
2926 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
2929 * include/bits/basic_string.h
2930 (append(__sv_type, size_type, size_type)): Turn into a template,
2931 change parameter type, constrain, add a conversion to __sv_type
2932 from the dependent parameter type.
2933 (assign(__sv_type, size_type, size_type)): Likewise.
2934 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
2935 (replace(size_type, size_type, __sv_type, size_type, size_type)):
2937 (compare(size_type, size_type,__sv_type, size_type, size_type)):
2939 * testsuite/21_strings/basic_string/lwg2758.cc: New.
2941 2016-08-06 Jonathan Wakely <jwakely@redhat.com>
2943 * doc/xml/manual/status_cxx2017.xml: Update status table.
2944 * doc/html/manual/status.html: Regenerate.
2946 * testsuite/lib/libstdc++.exp: Fix typo in comment.
2949 * include/std/functional (_Function_base::_Base_manager::_M_clone):
2950 Qualify new operator.
2951 * testsuite/20_util/function/cons/72820.cc: New test.
2953 * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
2954 * doc/html/manual/status.html: Regenerate.
2955 * include/Makefile.am: Add new header.
2956 * include/Makefile.in: Regenerate.
2957 * include/bits/invoke.h: New header.
2958 (__invoke): Make constexpr. Add && to types in exception specification.
2959 * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
2960 names. Include <bits/invoke.h> and use std::__invoke.
2961 * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
2963 (invoke): Add && to types in exception specification.
2964 * include/std/tuple (apply, __apply_impl): Define for C++17.
2965 * testsuite/20_util/tuple/apply/1.cc: New test.
2966 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
2969 2016-08-05 Jonathan Wakely <jwakely@redhat.com>
2971 * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
2972 * doc/html/manual/status.html: Regenerate.
2974 * include/std/chrono (floor, ceil, round, abs): New for C++17.
2975 * testsuite/20_util/duration_cast/rounding.cc: New test.
2976 * testsuite/20_util/time_point_cast/rounding.cc: New test.
2977 * doc/xml/manual/status_cxx2017.xml: Update status table.
2978 * doc/html/manual/status.html: Regenerate.
2979 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
2981 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
2982 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
2983 * testsuite/20_util/duration/literals/range.cc: Likewise.
2985 * include/std/functional (__callable_functor): Remove.
2986 (_Function_handler::_M_invoke): Use __invoke instead of
2987 __callable_functor or mem_fn.
2988 (function::_Callable): Use lvalue in result_of expression.
2989 (function): Remove TODO comments about allocators.
2990 * testsuite/20_util/function/cons/refqual.cc: New test.
2992 2016-08-04 Jonathan Wakely <jwakely@redhat.com>
2994 * doc/xml/manual/status_cxx2017.xml: Update status table.
2995 * include/std/functional (__inv_unwrap): Move to <type_traits>.
2996 (__invoke_impl): Remove exception specifications.
2997 (__invoke, invoke): Add exception specifications using
2998 __is_nothrow_callable.
2999 * include/std/type_traits (__inv_unwrap): Move from <functional>.
3000 (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
3001 (__is_callable, __is_nothrow_callable): New traits.
3002 (is_callable, is_callable_v): New C++17 traits.
3003 (is_nothrow_callable, is_nothrow_callable_v): Likewise.
3004 * testsuite/20_util/is_callable/requirements/
3005 explicit_instantiation.cc: New test.
3006 * testsuite/20_util/is_callable/requirements/
3007 explicit_instantiation_ext.cc: New test.
3008 * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
3009 * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
3011 * testsuite/20_util/is_callable/value.cc: New test.
3012 * testsuite/20_util/is_callable/value_ext.cc: New test.
3013 * testsuite/20_util/is_nothrow_callable/requirements/
3014 explicit_instantiation.cc: New test.
3015 * testsuite/20_util/is_nothrow_callable/requirements/
3016 explicit_instantiation_ext.cc: New test.
3017 * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
3019 * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
3021 * testsuite/20_util/is_nothrow_callable/value.cc: New test.
3022 * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
3024 * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
3025 * doc/html/manual/status.html: Regenerate.
3027 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
3028 effective target not dg-options. Move check for feature-test macro to:
3029 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
3032 * include/std/functional (_Unwrap): Rename to __inv_unwrap.
3034 (__invoke_impl): Remove unused template parameters.
3035 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
3037 * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
3038 and test __invoke extension for C++11.
3040 2016-08-03 Jonathan Wakely <jwakely@redhat.com>
3042 * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
3043 Define feature-test macro.
3044 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
3047 * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
3048 * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
3049 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
3050 * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
3051 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
3053 * include/std/utility (as_const): Define.
3054 * testsuite/20_util/as_const/1.cc: New test.
3055 * testsuite/20_util/as_const/rvalue_neg.cc: New test.
3057 * include/bits/shared_ptr.h (owner_less): Add default template
3059 * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
3061 (owner_less<void>): Define specialization.
3062 * include/bits/stl_function.h (__cpp_lib_transparent_operators):
3064 * testsuite/20_util/owner_less/void.cc: New test.
3065 * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
3067 * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
3068 Define feature-test macro.
3069 * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
3070 * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
3071 * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
3072 (__cpp_lib_type_trait_variable_templates): Define.
3074 * include/bits/stl_function.h: Remove commented-out macro.
3075 * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
3076 Define feature-test macro.
3077 * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
3079 * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
3080 C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
3082 * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
3083 do #error for C++17.
3084 * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
3085 of __STDCPP_WANT_MATH_SPEC_FUNCS__.
3086 * include/tr1/bessel_function.tcc: Likewise.
3087 * include/tr1/beta_function.tcc: Likewise.
3088 * include/tr1/cmath: Likewise.
3089 * include/tr1/ell_integral.tcc: Likewise.
3090 * include/tr1/exp_integral.tcc: Likewise.
3091 * include/tr1/gamma.tcc: Likewise.
3092 * include/tr1/hypergeometric.tcc: Likewise.
3093 * include/tr1/legendre_function.tcc: Likewise.
3094 * include/tr1/modified_bessel_func.tcc: Likewise.
3095 * include/tr1/poly_hermite.tcc: Likewise.
3096 * include/tr1/poly_laguerre.tcc: Likewise.
3097 * include/tr1/riemann_zeta.tcc: Likewise.
3098 * include/tr1/special_function_util.h: Likewise.
3099 * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
3101 * include/std/type_traits (has_trivial_default_constructor): Remove.
3102 (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
3103 * testsuite/20_util/has_trivial_copy_assign/requirements/
3104 explicit_instantiation.cc: Remove test.
3105 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
3107 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
3109 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
3110 * testsuite/20_util/has_trivial_copy_constructor/requirements/
3111 explicit_instantiation.cc: Likewise.
3112 * testsuite/20_util/has_trivial_copy_constructor/requirements/
3113 typedefs.cc: Likewise.
3114 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
3115 * testsuite/20_util/has_trivial_default_constructor/requirements/
3116 explicit_instantiation.cc: Likewise.
3117 * testsuite/20_util/has_trivial_default_constructor/requirements/
3118 typedefs.cc: Likewise.
3119 * testsuite/20_util/has_trivial_default_constructor/value.cc:
3121 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
3122 Check has_trivial_default_constructor, has_trivial_copy_constructor,
3123 and has_trivial_copy_assign are not defined.
3124 * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
3126 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
3127 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
3128 dg-error line number.
3129 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3132 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
3134 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
3135 Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
3136 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
3138 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
3140 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
3142 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
3144 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
3146 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
3149 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
3152 * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
3153 dg-error to relevant line.
3154 * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
3156 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
3158 * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
3160 * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
3161 options are present that aren't valid for C.
3162 * testsuite/abi/header_cxxabi.c: Likewise.
3164 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
3165 check_value.cc: Do not add special functions to namespace std in TR1
3168 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
3169 run for C++11 and later.
3170 * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
3172 * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
3173 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
3174 * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
3175 * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
3176 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
3178 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
3180 * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
3181 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
3183 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
3185 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
3187 * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
3188 * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
3189 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
3190 * testsuite/special_functions/03_beta/check_value.cc: Likewise.
3191 * testsuite/special_functions/03_beta/compile.cc: Likewise.
3192 * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
3193 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
3194 * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
3196 * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
3197 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
3198 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
3199 * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
3201 * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
3202 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
3203 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
3204 * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
3206 * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
3207 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
3208 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
3209 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
3211 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
3212 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
3213 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
3214 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
3215 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
3217 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
3218 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
3219 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
3220 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
3222 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
3223 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
3224 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
3225 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
3226 * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
3227 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
3228 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
3229 * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
3230 * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
3231 * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
3232 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
3233 * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
3234 * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
3235 * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
3236 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
3237 * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
3238 * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
3239 * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
3240 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
3241 * testsuite/special_functions/14_expint/check_value.cc: Likewise.
3242 * testsuite/special_functions/14_expint/compile.cc: Likewise.
3243 * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
3244 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
3245 * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
3246 * testsuite/special_functions/15_hermite/compile.cc: Likewise.
3247 * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
3248 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
3249 * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
3250 * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
3251 * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
3252 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
3253 * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
3254 * testsuite/special_functions/17_legendre/compile.cc: Likewise.
3255 * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
3256 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
3257 * testsuite/special_functions/18_riemann_zeta/check_value.cc:
3259 * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
3260 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
3261 * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
3262 * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
3263 * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
3264 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
3265 * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
3266 * testsuite/special_functions/20_sph_legendre/check_value.cc:
3268 * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
3269 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
3270 * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
3271 * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
3272 * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
3273 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
3275 * testsuite/tr1/5_numerical_facilities/special_functions/
3276 08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
3278 * testsuite/tr1/5_numerical_facilities/special_functions/
3279 09_cyl_bessel_j/check_value.cc: Likewise.
3280 * testsuite/tr1/5_numerical_facilities/special_functions/
3281 10_cyl_bessel_k/check_value.cc: Likewise.
3282 * testsuite/tr1/5_numerical_facilities/special_functions/
3283 11_cyl_neumann/check_value.cc: Likewise.
3284 * testsuite/tr1/5_numerical_facilities/special_functions/
3285 21_sph_bessel/check_value.cc: Likewise.
3286 * testsuite/tr1/5_numerical_facilities/special_functions/
3287 23_sph_neumann/check_value.cc: Likewise.
3289 2016-08-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3291 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
3292 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
3293 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
3294 * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
3295 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
3296 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
3298 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
3300 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
3303 * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
3304 additional flags for compiling libtestc++.a objects.
3306 2016-08-01 Jonathan Wakely <jwakely@redhat.com>
3308 * include/bits/basic_string.h (data() const): Update comment.
3309 (data()): Add non-const overload for C++17.
3310 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
3311 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
3313 * include/bits/basic_string.tcc: Disable explicit instantiation
3314 declarations for C++17.
3316 * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
3317 ignored "xfail" from { dg-do compile { xfail selector } } directive.
3318 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
3320 * testsuite/26_numerics/headers/cmath/
3321 c99_classification_macros_c++11.cc: Likewise.
3322 * testsuite/26_numerics/headers/cmath/
3323 c99_classification_macros_c++98.cc: Likewise.
3324 * testsuite/26_numerics/headers/cmath/
3325 c99_classification_macros_c.cc: Likewise.
3327 * testsuite/backward/hash_set/check_construct_destroy.cc: Account
3328 for different construct/destroy counts in C++98 mode.
3330 * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
3332 * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
3334 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
3337 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
3338 C++98-compatible initialization for array.
3340 * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
3341 unused header and variable from compile-only test.
3342 * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
3343 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
3344 * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
3345 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
3348 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
3349 Remove duplicate dg-options directive.
3351 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
3352 808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
3354 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
3355 linker options from compile-only tests.
3356 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
3359 * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
3360 supported for C++11 and later.
3361 * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
3362 * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
3364 2016-08-01 Uros Bizjak <ubizjak@gmail.com>
3366 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
3368 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
3370 * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
3373 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
3374 Ensure test is compiled with optimization.
3376 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
3377 Adjust dg-prune-output pattern for error in C++98 mode.
3379 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
3380 run for C++11 or later.
3382 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
3383 test to not rely on GNU extension (escaped normal characters in POSIX
3384 BRE). Enable tests for other strings which are now supported.
3386 * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
3387 c++11 instead of setting -std=gnu++14.
3390 * include/std/array (get): Use positive message for static assertions.
3391 * include/std/functional (_Safe_tuple_element_t): Fix indentation.
3392 * include/std/tuple (tuple_element<I, tuple<>>): Add partial
3393 specialization for invalid indices, with static assertion.
3394 * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
3396 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
3397 dg-error to relevant line.
3398 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
3400 * testsuite/23_containers/forward_list/requirements/dr438/
3401 assign_neg.cc: Likewise.
3402 * testsuite/23_containers/forward_list/requirements/dr438/
3403 constructor_1_neg.cc: Likewise.
3404 * testsuite/23_containers/forward_list/requirements/dr438/
3405 constructor_2_neg.cc: Likewise.
3406 * testsuite/23_containers/forward_list/requirements/dr438/
3407 insert_neg.cc: Likewise.
3408 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
3410 * testsuite/26_numerics/random/linear_congruential_engine/
3411 requirements/non_uint_neg.cc: Likewise.
3412 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
3413 Likewise. Also test for std::atomic_address.
3415 2016-07-31 Ville Voutilainen <ville.voutilainen@gmail.com>
3417 Add missing variable traits, fix testsuite failures.
3418 * include/bits/uses_allocator.h (uses_allocator_v): New.
3419 * include/std/functional (is_bind_expression_v, is_placeholder_v):
3421 * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
3422 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
3423 * testsuite/20_util/duration/literals/range.cc: Likewise.
3424 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
3425 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
3426 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
3427 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
3428 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3430 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
3431 * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
3434 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
3436 * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
3437 not test 128-bit types.
3438 * testsuite/20_util/is_floating_point/value.cc: Likewise.
3439 * testsuite/20_util/is_integral/value.cc: Likewise.
3440 * testsuite/20_util/is_signed/value.cc: Likewise.
3441 * testsuite/20_util/is_unsigned/value.cc: Likewise.
3442 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
3443 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
3444 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
3446 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
3449 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
3451 2016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
3453 Implement C++17 variable templates for type traits.
3454 * include/std/chrono (treat_as_floating_point_v): New.
3455 * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
3456 (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
3457 (ratio_greater_equal_v): Likewise.
3458 * include/std/system_error (is_error_code_enum_v)
3459 (is_error_condition_enum_v): Likewise.
3460 * include/std/tuple (tuple_size_v): Likewise.
3461 * type_traits (conjunction_v, disjunction_v, negation_v)
3462 (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
3463 (is_array_v, is_pointer_v, is_lvalue_reference_v)
3464 (is_rvalue_reference_v, is_member_object_pointer_v)
3465 (is_member_function_pointer_v, is_enum_v, is_union_v)
3466 (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
3467 (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
3468 (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
3469 (is_trivially_copyable_v, is_standard_layout_v)
3470 (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
3471 (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
3472 (is_constructible_v, is_default_constructible_v)
3473 (is_copy_constructible_v, is_move_constructible_v)
3474 (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
3475 (is_destructible_v, is_trivially_constructible_v)
3476 (is_trivially_default_constructible_v)
3477 (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
3478 (is_trivially_assignable_v, is_trivially_copy_assignable_v)
3479 (is_trivially_move_assignable_v, is_trivially_destructible_v)
3480 (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
3481 (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
3482 (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
3483 (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
3484 (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
3485 (is_same_v, is_base_of_v, is_convertible_v): Likewise.
3486 * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
3487 * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
3489 * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
3490 * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
3491 * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
3493 2016-07-29 Andreas Schwab <schwab@linux-m68k.org>
3495 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
3496 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
3497 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
3499 2016-07-29 Jonathan Wakely <jwakely@redhat.com>
3501 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
3502 * doc/html/manual/abi.html: Regenerate.
3504 * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
3505 * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
3507 * configure: Regenerate.
3508 * testsuite/util/testsuite_abi.cc: Add new symbol version.
3510 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
3511 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
3512 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
3513 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
3515 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
3516 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
3517 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
3519 2016-07-28 Jonathan Wakely <jwakely@redhat.com>
3521 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
3522 Adjust dg-prune-output pattern for error in C++98 mode.
3523 * testsuite/23_containers/deque/requirements/dr438/
3524 constructor_1_neg.cc: Likewise.
3525 * testsuite/23_containers/deque/requirements/dr438/
3526 constructor_2_neg.cc: Likewise.
3527 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
3529 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
3531 * testsuite/23_containers/list/requirements/dr438/
3532 constructor_1_neg.cc: Likewise.
3533 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
3535 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
3537 * testsuite/23_containers/vector/requirements/dr438/
3538 constructor_1_neg.cc: Likewise.
3539 * testsuite/23_containers/vector/requirements/dr438/
3540 constructor_2_neg.cc: Likewise.
3541 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
3544 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
3545 for different construct/destroy counts in C++98 mode.
3547 * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
3548 dg-options to dg-additional-options so that default options are used.
3549 * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
3551 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
3552 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
3554 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
3555 Use dg-additional-options instead of repeating the common options.
3557 * testsuite/22_locale/conversions/string/1.cc: Remove unintended
3558 dg-do compile directive.
3559 * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
3561 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
3563 2016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
3565 Implement std::string_view and P0254r2,
3566 Integrating std::string_view and std::string.
3567 * include/Makefile.am: Add string_view and string_view.tcc
3568 to the exported headers.
3569 * include/Makefile.in: Likewise.
3570 * include/bits/basic_string.h: Include <string_view> in C++17 mode.
3572 (basic_string(__sv_type, const _Alloc&)): Likewise.
3573 (operator=(__sv_type)): Likewise.
3574 (operator __sv_type()): Likewise.
3575 (operator+=(__sv_type)): Likewise.
3576 (append(__sv_type __sv)): Likewise.
3577 (append(__sv_type, size_type, size_type)): Likewise.
3578 (assign(__sv_type)): Likewise.
3579 (assign(__sv_type, size_type, size_type)): Likewise.
3580 (insert(size_type, __sv_type)): Likewise.
3581 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
3582 (replace(size_type, size_type, __sv_type)): Likewise.
3583 (replace(size_type, size_type, __sv_type, size_type, size_type)):
3585 (replace(const_iterator, const_iterator, __sv_type)): Likewise.
3586 (find(__sv_type, size_type)): Likewise.
3587 (rfind(__sv_type, size_type)): Likewise.
3588 (find_first_of(__sv_type, size_type)): Likewise.
3589 (find_last_of(__sv_type, size_type)): Likewise.
3590 (find_first_not_of(__sv_type, size_type)): Likewise.
3591 (find_last_not_of(__sv_type, size_type)): Likewise.
3592 (compare(__sv_type)): Likewise.
3593 (compare(size_type, size_type, __sv_type)): Likewise.
3594 (compare(size_type, size_type, __sv_type, size_type, size_type)):
3596 * include/bits/string_view.tcc: New.
3597 * include/std/string_view: Likewise.
3598 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
3599 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
3600 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
3602 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
3604 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
3606 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
3608 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
3610 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
3612 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
3614 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
3616 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
3618 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
3620 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
3622 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
3624 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
3625 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
3626 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
3627 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
3628 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
3629 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
3630 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
3631 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
3632 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
3633 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
3635 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
3637 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
3639 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
3641 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
3643 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
3645 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
3647 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
3649 * testsuite/21_strings/basic_string_view/include.cc: Likewise.
3650 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
3651 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
3652 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
3653 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
3655 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
3657 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
3659 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
3661 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
3663 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
3665 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
3667 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
3669 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
3671 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
3673 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
3675 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
3677 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
3679 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
3681 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
3683 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
3685 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
3687 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
3689 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
3691 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
3693 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
3695 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
3697 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
3699 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
3701 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
3703 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
3705 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
3707 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
3709 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
3711 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
3713 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
3715 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
3717 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
3719 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
3720 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
3722 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
3724 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
3726 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
3728 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
3730 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
3732 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
3734 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
3736 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
3738 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
3739 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
3741 2016-07-27 Jonathan Wakely <jwakely@redhat.com>
3743 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
3745 2016-07-25 Georeth Chow <georeth2010@gmail.com>
3747 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
3748 _S_concat enumerator.
3749 * testsuite/ext/rope/6.cc: New test.
3751 2016-07-25 Jonathan Wakely <jwakely@redhat.com>
3753 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
3754 std::mt19937, std::thread and std::atomic to simplify test.
3755 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
3757 2016-07-22 Jonathan Wakely <jwakely@redhat.com>
3760 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
3761 (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
3762 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
3763 * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
3764 * testsuite/23_containers/set/allocator/71964.cc: New test.
3766 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
3767 delete[] instead of delete.
3769 2016-07-21 Jonathan Wakely <jwakely@redhat.com>
3771 * include/experimental/propagate_const (propagate_const::__t): Rename
3772 to _M_t and remove comment. Qualify std::move and std::forward.
3773 * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
3775 * testsuite/23_containers/vector/zero_sized_allocations.cc:
3776 Define sized deallocation function.
3777 * testsuite/util/testsuite_new_operators.h:
3778 (operator delete(void*, const std::nothrow_t&)): Define nothrow
3779 deallocation function.
3781 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
3782 reads past the end of strings.
3783 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
3785 * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
3786 invalid array accesses.
3787 * testsuite/experimental/string_view/operations/compare/char/1.cc:
3788 Fix read past the end of string.
3789 * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
3791 * testsuite/24_iterators/container_access.cc: Fix missing returns.
3792 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
3794 * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
3795 leak) memory for arguments to placement delete.
3796 * testsuite/20_util/addressof/1.cc: Don't leak memory.
3797 * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
3798 * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
3801 2016-07-20 Jonathan Wakely <jwakely@redhat.com>
3803 * doc/xml/manual/intro.xml: Document DR 2684 status.
3804 * doc/html/*: Regenerate.
3806 * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
3807 (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
3808 (atomic_uint64_t): Define (LWG 2441).
3809 * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
3811 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
3813 * doc/xml/manual/intro.xml: Document DR 2441 status.
3815 * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
3816 to use perfect forwarding (LWG 2328).
3817 * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
3818 * doc/xml/manual/intro.xml: Document DR 2328 status.
3820 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
3821 static objects for catching nullptr as pointer to member types.
3823 2016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
3825 Clean up optional's comments.
3826 * include/std/optional: Remove incorrect section headers
3827 from comments when redundant, replace bare section
3828 headers with more descriptive comments.
3830 2016-07-15 Jonathan Wakely <jwakely@redhat.com>
3832 * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
3833 * include/bits/move.h: Likewise.
3834 * include/bits/postypes.h: Likewise.
3835 * include/debug/bitset: Likewise.
3836 * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
3837 * include/ext/string_conversions.h: Change C++0x to __cxx11 in
3839 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
3840 * testsuite/util/thread/all.h: Likewise.
3842 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
3846 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
3847 nullptr match handlers of pointer type.
3849 2016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
3851 Implement C++17 P0025 clamp.
3852 * include/bits/algorithmfwd.h: Declare clamp overloads.
3853 * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp.
3854 * testsuite/25_algorithms/clamp/1.cc: New test.
3855 * testsuite/25_algorithms/clamp/2.cc: New test.
3856 * testsuite/25_algorithms/clamp/constexpr.cc: New test.
3857 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
3859 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
3862 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
3864 Fix the constraints for any's assignment operator template to properly
3865 reject assignment from a non-copyable lvalue.
3866 * include/std/any (operator=(_ValueType&&)): Constrain the decayed
3867 type for is_copy_constructible,
3868 * testsuite/20_util/any/requirements.cc: Add a test for
3869 non-copyable lvalues.
3871 2016-07-14 Jonathan Wakely <jwakely@redhat.com>
3873 * include/experimental/functional: Include <parallel/algorithm> in
3876 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
3880 * include/bits/forward_list.h (forward_list): Update doxygen comments
3881 to reflect allocator propagation semantics. Remove ambiguous
3882 statements about data being lost.
3883 * include/bits/stl_deque.h (deque): Likewise.
3884 * include/bits/stl_list.h (list): Likewise.
3885 * include/bits/stl_map.h (map): Likewise.
3886 * include/bits/stl_multimap.h (multimap): Likewise.
3887 * include/bits/stl_multiset.h (multiset): Likewise.
3888 * include/bits/stl_set.h (set): Likewise.
3889 * include/bits/stl_vector.h (vector): Likewise.
3890 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
3892 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
3895 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
3897 Implement P0032R3, Homogeneous interface for variant, any and optional,
3898 for the parts concerning any and optional.
3899 * include/std/any (_Storage()): Make constexpr and have it
3901 (any()): Make constexpr.
3902 (any(const any&)): Adjust.
3903 (any(any&&)): Likewise.
3904 (__any_constructible_t): New.
3905 (any(_ValueType&&)): Constrain.
3906 (any(in_place_type_t<_Tp>, _Args&&...)): New.
3907 (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
3910 (operator=(const any&)): Likewise.
3911 (operator=(any&&)): Likewise.
3912 (operator=(_ValueType&&)): Constrain.
3913 (emplace(_Args&&...)): New.
3914 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
3917 (swap(any&)): Adjust.
3921 (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
3922 (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
3923 (make_any(_Args&&...)): Likewise.
3924 (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
3925 * include/std/optional (in_place_t, in_place): Remove.
3926 (bad_optional_access): Add a comment referring to LEWG 72.
3927 (emplace(_Args&&...)): Constrain.
3929 (reset()): Likewise.
3930 (make_optional(_Args&&...)): Likewise.
3931 (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
3932 * include/std/utility (in_place_tag): New.
3933 (__in_place, __in_place_type, __in_place_index): Likewise.
3934 (in_place_t, in_place_type_t, in_place_index_t): Likewise.
3935 (in_place(__in_place*)): Likewise.
3936 (in_place(__in_place_type<_Tp>*)): Likewise.
3937 (in_place(__in_place_index<_Idx>*)): Likewise.
3938 * testsuite/20_util/any/assign/1.cc: Adjust.
3939 * testsuite/20_util/any/assign/emplace.cc: New.
3940 * testsuite/20_util/any/assign/self.cc: Adjust.
3941 * testsuite/20_util/any/cons/1.cc: Likewise.
3942 * testsuite/20_util/any/cons/in_place.cc: New.
3943 * testsuite/20_util/any/make_any.cc: Likewise.
3944 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
3945 * testsuite/20_util/any/misc/swap.cc: Likewise.
3946 * testsuite/20_util/any/modifiers/1.cc: Likewise.
3947 * testsuite/20_util/any/requirements.cc: New.
3948 * testsuite/20_util/in_place/requirements.cc: Likewise.
3949 * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
3950 * testsuite/20_util/optional/in_place.cc: Likewise.
3951 * testsuite/20_util/optional/make_optional.cc: Add tests for
3952 the new overloads of make_optional.
3954 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
3956 Implement P0307R2, Making Optional Greater Equal Again.
3957 * include/experimental/optional (_Has_addressof): Fix the comment.
3958 * include/std/optional (_Has_addressof): Likewise.
3959 (operator=(_Up&&)): Constrain.
3960 (operator=(const optional<_Up>&)): Likewise.
3961 (operator=(optional<_Up>&&)): Likewise.
3962 (__optional_relop_t): New.
3963 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
3964 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
3965 Constrain and make transparent.
3966 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
3967 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
3968 Constrain and make transparent.
3969 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
3970 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
3971 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
3972 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
3973 (operator!=(const optional<_Tp>&, _Tp const&)):
3974 Constrain and make transparent.
3975 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
3976 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
3977 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
3978 (operator>(const optional<_Tp>&, const _Tp&)):
3979 Constrain and make transparent.
3980 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
3981 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
3982 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
3983 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
3984 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
3985 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
3986 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
3987 * testsuite/20_util/optional/relops/1.cc: Likewise.
3988 * testsuite/20_util/optional/relops/2.cc: Likewise.
3989 * testsuite/20_util/optional/relops/3.cc: Likewise.
3990 * testsuite/20_util/optional/relops/4.cc: Likewise.
3991 * testsuite/20_util/optional/requirements.cc: Add tests to verify
3992 that optional's relops are transparent and don't synthesize
3993 operators. Also test that assignment sfinaes.
3995 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
3998 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
3999 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
4000 Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
4001 on _GLIBCXX_ASSERTIONS.
4002 * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
4003 Include <unistd.h> for sleep.
4004 * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
4005 * include/parallel/merge.h: Likewise.
4006 * include/parallel/multiway_merge.h: Likewise.
4007 * include/parallel/partition.h: Likewise.
4008 * include/parallel/queue.h: Likewise.
4009 * include/parallel/sort.h: Likewise.
4010 * testsuite/25_algorithms/headers/algorithm/
4011 parallel_algorithm_assert.cc: New.
4013 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
4014 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
4015 Forward to different overload.
4017 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
4020 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
4022 Revert "Add non-const overload of std::string::data()".
4024 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
4026 Implement P0307R2, Making Optional Greater Equal Again.
4027 * include/experimental/optional (_Has_addressof): Fix the comment.
4028 * include/std/optional (_Has_addressof): Likewise.
4029 (operator=(_Up&&)): Constrain.
4030 (operator=(const optional<_Up>&)): Likewise.
4031 (operator=(optional<_Up>&&)): Likewise.
4032 (__optional_relop_t): New.
4033 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
4034 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
4035 Constrain and make transparent.
4036 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
4037 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
4038 Constrain and make transparent.
4039 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
4040 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
4041 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
4042 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
4043 (operator!=(const optional<_Tp>&, _Tp const&)):
4044 Constrain and make transparent.
4045 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
4046 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
4047 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
4048 (operator>(const optional<_Tp>&, const _Tp&)):
4049 Constrain and make transparent.
4050 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
4051 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
4052 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
4053 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
4054 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
4055 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
4056 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
4057 * testsuite/20_util/optional/relops/1.cc: Likewise.
4058 * testsuite/20_util/optional/relops/2.cc: Likewise.
4059 * testsuite/20_util/optional/relops/3.cc: Likewise.
4060 * testsuite/20_util/optional/relops/4.cc: Likewise.
4061 * testsuite/20_util/optional/requirements.cc: Add tests to verify
4062 that optional's relops are transparent and don't synthesize
4063 operators. Also test that assignment sfinaes.
4065 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
4067 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
4069 (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
4070 instead of _M_data().
4071 (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
4073 (append(const basic_string&)): Likewise.
4074 (append(const basic_string&, size_type, size_type)): Likewise.
4075 (assign(const basic_string&, size_type, size_type)): Likewise.
4076 (insert(size_type, const basic_string&)): Likewise.
4077 (insert(size_type, const basic_string&, size_type, size_type)):
4079 (replace(size_type, size_type, const basic_string&, size_type,
4080 size_type)): Likewise.
4081 (replace(__const_iterator, __const_iterator, const basic_string&)):
4083 (c_str(), data()): Use c_str() instead of _M_data().
4084 (data()): Add non-const overload as per LWG 2391 and P0272R1.
4085 (compare(const basic_string&)): Use data() instead of _M_data().
4086 [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
4087 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
4088 Pass raw pointers to _S_copy.
4089 (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
4091 (find(const _CharT*, size_type, size_type)): Use data instead of
4093 * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
4094 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
4095 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
4097 2016-07-12 Jonathan Wakely <jwakely@redhat.com>
4099 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
4100 * doc/xml/manual/intro.xml: Document DR 2458 status.
4101 * doc/html*: Regenerate.
4103 * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
4104 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
4105 Only include <array>.
4106 * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
4108 * doc/xml/manual/intro.xml: Document LWG 2212 support.
4109 * doc/html*: Regenerate.
4111 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
4112 Add testcase from LWG 2164.
4114 2016-07-11 François Dumont <fdumont@gcc.gnu.org>
4116 * include/bits/stl_vector.h (push_back(const value_type&)): Forward
4117 to _M_realloc_insert.
4118 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
4119 (_M_realloc_insert): Declare new function.
4120 (_M_emplace_back_aux): Remove definition.
4121 * include/bits/vector.tcc (emplace_back(_Args...)):
4122 Use _M_realloc_insert.
4123 (insert(const_iterator, const value_type&)): Likewise.
4124 (_M_insert_rval, _M_emplace_aux): Likewise.
4125 (_M_emplace_back_aux): Remove declaration.
4126 (_M_realloc_insert): Define.
4127 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
4128 Adjust expected results for emplacing an lvalue with reallocation.
4130 2016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
4132 Implement std::optional.
4133 * include/Makefile.am: Add optional to exported headers.
4134 * include/Makefile.in: Likewise.
4135 * include/std/optional: New.
4136 * testsuite/20_util/optional/typedefs.cc: Likewise.
4137 * testsuite/20_util/optional/relops/2.cc: Likewise.
4138 * testsuite/20_util/optional/relops/3.cc: Likewise.
4139 * testsuite/20_util/optional/relops/4.cc: Likewise.
4140 * testsuite/20_util/optional/relops/5.cc: Likewise.
4141 * testsuite/20_util/optional/relops/1.cc: Likewise.
4142 * testsuite/20_util/optional/relops/6.cc: Likewise.
4143 * testsuite/20_util/optional/nullopt.cc: Likewise.
4144 * testsuite/20_util/optional/in_place.cc: Likewise.
4145 * testsuite/20_util/optional/make_optional.cc: Likewise.
4146 * testsuite/20_util/optional/assignment/2.cc: Likewise.
4147 * testsuite/20_util/optional/assignment/3.cc: Likewise.
4148 * testsuite/20_util/optional/assignment/4.cc: Likewise.
4149 * testsuite/20_util/optional/assignment/5.cc: Likewise.
4150 * testsuite/20_util/optional/assignment/1.cc: Likewise.
4151 * testsuite/20_util/optional/assignment/6.cc: Likewise.
4152 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
4153 * testsuite/20_util/optional/cons/default.cc: Likewise.
4154 * testsuite/20_util/optional/cons/move.cc: Likewise.
4155 * testsuite/20_util/optional/cons/value.cc: Likewise.
4156 * testsuite/20_util/optional/cons/copy.cc: Likewise.
4157 * testsuite/20_util/optional/requirements.cc: Likewise.
4158 * testsuite/20_util/optional/observers/2.cc: Likewise.
4159 * testsuite/20_util/optional/observers/3.cc: Likewise.
4160 * testsuite/20_util/optional/observers/4.cc: Likewise.
4161 * testsuite/20_util/optional/observers/5.cc: Likewise.
4162 * testsuite/20_util/optional/observers/1.cc: Likewise.
4163 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
4164 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
4165 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
4166 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
4167 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
4168 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
4169 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
4170 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
4171 * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
4172 * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
4173 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
4174 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
4175 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
4176 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
4177 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
4178 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
4179 * testsuite/20_util/optional/swap/1.cc: Likewise.
4181 2016-07-08 Jonathan Wakely <jwakely@redhat.com>
4183 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
4185 2016-07-07 Jonathan Wakely <jwakely@redhat.com>
4187 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
4188 * doc/html/*: Regenerate.
4190 2016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
4193 * include/Makefile.am: Add any and c++17_warning.h to exported headers.
4194 * include/Makefile.in: Likewise.
4195 * include/std/any: New.
4196 * testsuite/20_util/any/assign/1.cc: Likewise.
4197 * testsuite/20_util/any/assign/2.cc: Likewise.
4198 * testsuite/20_util/any/assign/self.cc: Likewise.
4199 * testsuite/20_util/any/cons/1.cc: Likewise.
4200 * testsuite/20_util/any/cons/2.cc: Likewise.
4201 * testsuite/20_util/any/cons/aligned.cc: Likewise.
4202 * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
4203 * testsuite/20_util/any/misc/any_cast.cc: Likewise.
4204 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
4205 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
4206 * testsuite/20_util/any/misc/swap.cc: Likewise.
4207 * testsuite/20_util/any/modifiers/1.cc: Likewise.
4208 * testsuite/20_util/any/observers/type.cc: Likewise.
4209 * testsuite/20_util/any/typedefs.cc: Likewise.
4211 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
4213 Add a new header for diagnosing the use of C++17 facilities
4215 * include/bits/c++17_warning.h: New.
4217 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
4219 Implement LWG 2451, optional<T> should 'forward' T's
4220 implicit conversions.
4221 * include/experimental/optional (__is_optional_impl, __is_optional):
4223 (optional()): Make constexpr and default.
4224 (optional(_Up&&), optional(const optional<_Up>&),
4225 optional(optional<_Up>&& __t): New.
4226 (operator=(_Up&&)): Constrain.
4227 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
4228 * testsuite/experimental/optional/cons/value.cc:
4229 Add tests for the functionality added by LWG 2451.
4230 * testsuite/experimental/optional/cons/value_neg.cc: New.
4232 2016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
4235 any_cast doesn't work with rvalue reference targets and cannot
4236 move with a value target.
4237 * include/experimental/any (any(_ValueType&&)): Constrain and
4238 add an overload that doesn't forward.
4239 (any_cast(any&&)): Constrain and add an overload that moves.
4240 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
4241 the functionality added by LWG 2509.
4243 2016-07-04 François Dumont <fdumont@gcc.gnu.org>
4245 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
4247 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
4250 2016-07-04 Jonathan Wakely <jwakely@redhat.com>
4252 * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
4253 Define inline. Forward to _M_emplace_aux.
4254 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
4255 (_M_insert_rval, _M_emplace_aux): Declare new functions.
4256 (_Temporary_value): New RAII type using allocator to construct/destroy.
4257 (_S_insert_aux_assign): Remove.
4258 (_M_insert_aux): Make non-variadic.
4259 * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
4260 Use _Temporary_value.
4261 (emplace(const_iterator, _Args&&...)): Remove definition.
4262 (_M_insert_rval, _M_emplace_aux): Define.
4263 (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
4264 (_M_fill_insert): Use _Temporary_value.
4265 * testsuite/23_containers/vector/allocator/construction.cc: New test.
4266 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
4267 Adjust expected results for emplacing an lvalue with reallocation.
4268 * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
4269 expected results to account for construction/destruction of temporary
4271 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
4273 2016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
4276 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
4277 Call remove_all for children of a directory.
4278 * testsuite/experimental/filesystem/operations/create_directories.cc:
4281 2016-07-02 François Dumont <fdumont@gcc.gnu.org>
4283 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
4284 dg-error line numbers.
4285 * testsuite/23_containers/array/tuple_interface/
4286 tuple_element_debug_neg.cc: Likewise.
4287 * testsuite/25_algorithms/lexicographical_compare/debug/
4288 irreflexive_neg.cc: Remove.
4290 2016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
4292 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
4293 than specific target.
4295 2016-06-27 François Dumont <fdumont@gcc.gnu.org>
4298 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
4301 2016-06-23 François Dumont <fdumont@gcc.gnu.org>
4303 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
4306 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
4308 * configure.host: Remove mep-* support.
4310 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
4312 * configure: Regenerate.
4313 * configure.host: Remove support for knetbsd.
4314 * crossconfig.m4: Likewise.
4316 2016-06-20 François Dumont <fdumont@gcc.gnu.org>
4319 * include/tr1/hashtable_policy.h
4320 (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
4321 dereferenceable to avoid check on lower_bound result.
4322 (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
4323 (_Prime_rehash_policy::_M_need_rehash): Likewise.
4324 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
4325 Always return a value greater than input value. Set _M_next_resize to
4326 max value when reaching highest prime number.
4327 * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
4329 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
4330 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
4332 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
4333 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
4336 2016-06-17 Jonathan Wakely <jwakely@redhat.com>
4339 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
4340 Remove irreflexive checks.
4341 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
4342 binary_search): Likewise.
4343 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
4344 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
4345 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
4346 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
4347 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
4348 Add constructor from array.
4350 2016-06-16 François Dumont <fdumont@gcc.gnu.org>
4352 * include/debug/debug.h
4353 (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
4354 (__glibcxx_requires_subscript): Move...
4355 * include/debug/assertions.h: ...here and add __builtin_expect.
4356 (_GLIBCXX_DEBUG_ONLY): Remove ; value.
4357 * include/bits/stl_deque.h
4358 (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
4359 (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
4360 (std::deque<>::back()): Likewise.
4361 (std::deque<>::pop_front()): Likewise.
4362 (std::deque<>::pop_back()): Likewise.
4363 (std::deque<>::swap(deque&)): Add allocator check.
4364 * include/bits/stl_vector.h
4365 (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
4366 (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
4367 (std::vector<>::back()): Likewise.
4368 (std::vector<>::pop_back()): Likewise.
4369 (std::vector<>::swap(vector&)): Add allocator check.
4371 2016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
4373 Provide swappable traits (p0185r1)
4374 * include/std/type_traits (is_swappable, is_nothrow_swappable,
4375 is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
4376 is_nothrow_swappable_v, is_swappable_with_v,
4377 is_nothrow_swappable_with_v): New.
4378 * include/bits/stl_pair.h: Use it as per p0185r1.
4379 * include/bits/stl_queue.h: Likewise.
4380 * include/bits/stl_stack.h: Likewise.
4381 * include/bits/unique_ptr.h: Likewise.
4382 * include/std/tuple: Likewise.
4383 * include/std/array: Likewise. Fix zero-size member swap.
4384 * include/bits/hashtable.h: Use __and_.
4385 * testsuite/20_util/is_nothrow_swappable/requirements/
4386 explicit_instantiation.cc: Change test options to std=gnu++17.
4387 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
4389 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
4390 * testsuite/20_util/is_swappable/requirements/
4391 explicit_instantiation.cc: Likewise.
4392 * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
4393 * testsuite/20_util/is_swappable/value.cc: Likewise.
4394 * testsuite/20_util/is_nothrow_swappable/requirements/
4395 explicit_instantiation_ext.cc: New.
4396 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
4398 * testsuite/20_util/is_nothrow_swappable/value.h: New.
4399 * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
4400 * testsuite/20_util/is_nothrow_swappable_with/requirements/
4401 explicit_instantiation.cc: New.
4402 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
4404 * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
4405 * testsuite/20_util/is_swappable/requirements/
4406 explicit_instantiation_ext.cc: New.
4407 * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
4408 * testsuite/20_util/is_swappable/value.h: New.
4409 * testsuite/20_util/is_swappable/value_ext.cc: New.
4410 * testsuite/20_util/is_swappable_with/requirements/
4411 explicit_instantiation.cc: New.
4412 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
4413 * testsuite/20_util/is_swappable_with/value.cc: New.
4414 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
4415 dg-error line numbers.
4416 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
4419 2016-06-16 Jonathan Wakely <jwakely@redhat.com>
4421 * include/std/array: Remove trailing whitespace.
4422 * include/std/atomic: Likewise.
4423 * include/std/bitset: Likewise.
4424 * include/std/chrono: Likewise.
4425 * include/std/complex: Likewise.
4426 * include/std/condition_variable: Likewise.
4427 * include/std/fstream: Likewise.
4428 * include/std/functional: Likewise.
4429 * include/std/future: Likewise.
4430 * include/std/iomanip: Likewise.
4431 * include/std/iosfwd: Likewise.
4432 * include/std/istream: Likewise.
4433 * include/std/limits: Likewise.
4434 * include/std/ratio: Likewise.
4435 * include/std/scoped_allocator: Likewise.
4436 * include/std/sstream: Likewise.
4437 * include/std/stdexcept: Likewise.
4438 * include/std/string: Likewise.
4439 * include/std/system_error: Likewise.
4440 * include/std/thread: Likewise.
4441 * include/std/tuple: Likewise.
4442 * include/std/type_traits: Likewise.
4443 * include/std/utility: Likewise.
4444 * include/std/valarray: Likewise.
4445 * include/std/vector: Likewise.
4447 * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
4448 new overloaded functions.
4449 * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
4450 to avoid creating a redundant temporary.
4451 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
4454 2016-06-15 François Dumont <fdumont@gcc.gnu.org>
4456 * include/bits/stl_deque.h
4457 (std::deque<>::operator=): Call _M_assign_aux.
4458 (std::deque<>::assign(initializer_list<>)): Likewise.
4459 (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
4460 (std::deque<>::insert(const_iterator, initializer_list<>)):
4461 Call _M_range_insert_aux.
4462 (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
4464 (std::deque<>::_M_fill_assign): Call _M_fill_insert.
4465 (std::deque<>::_M_move_assign2): Call _M_assign_aux.
4466 * include/bits/deque.tcc
4467 (std::deque<>::operator=): Call _M_range_insert_aux.
4468 (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
4470 * include/bits/stl_vector.h
4471 (std::vector<>::operator=): Call _M_assign_aux.
4472 (std::vector<>::assign(initializer_list<>)): Likewise.
4473 (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
4474 (std::vector<>::insert(const_iterator, initializer_list<>)):
4475 Call _M_range_insert.
4476 * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
4478 2016-06-07 François Dumont <fdumont@gcc.gnu.org>
4480 * include/std/tuple (_Head_base<>): Default specialization condition at
4483 2016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
4485 Support allocators in tuples of zero size.
4486 * include/std/tuple (tuple<>::tuple(),
4487 tuple<>::tuple(allocator_arg_t, const _Alloc&),
4488 tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
4489 * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
4491 2016-06-06 Jonathan Wakely <jwakely@redhat.com>
4494 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
4495 Add or remove permissions according to perms argument.
4496 * testsuite/experimental/filesystem/operations/permissions.cc: New
4499 2016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
4501 Protect allocator-overloads of tuple-from-tuple constructors
4502 from cases that would create dangling references.
4503 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
4504 const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
4505 tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
4506 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
4508 2016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
4510 * doc/xml/manual/backwards_compatibility.xml: Adjust
4511 lists.debian.org link to https.
4512 * doc/html/manual/backwards.html: Regenerate.
4514 2016-05-27 Jonathan Wakely <jwakely@redhat.com>
4516 * doc/xml/manual/abi.xml: Adjust URL to use https.
4517 * doc/html/manual/*: Regenerate.
4519 2016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
4522 * include/std/tuple (_TMC): Add a check for _NotSameTuple.
4523 * include/std/tuple (tuple(_UElements&&...)): Remove the separate
4524 check for _NotSameTuple.
4525 * include/std/tuple (_TMCT): New.
4526 * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
4527 * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
4528 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
4529 const tuple<_UElements...>&)): Likewise.
4530 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
4531 tuple<_UElements...>&&)): Likewise.
4532 * testsuite/20_util/tuple/cons/66338.cc: New.
4534 2016-05-25 Jonathan Wakely <jwakely@redhat.com>
4536 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
4537 * configure: Regenerate.
4538 * config.h.in: Regenerate.
4540 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
4541 * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
4542 Remove const qualification on function. Replace
4543 _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
4544 (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
4545 (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
4547 2016-05-24 François Dumont <fdumont@gcc.gnu.org>
4549 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
4550 * include/bits/hashtable_policy.h
4551 (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
4552 having load factor management.
4553 (_Mask_range_hashing): New.
4555 (_Power2_rehash_policy): New.
4556 (_Inserts<>): Remove last template parameter, _Unique_keys, so that
4557 partial specializations only depend on whether iterators are constant
4559 * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
4560 test new hash policy.
4561 * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
4563 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
4565 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
4567 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
4569 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
4571 * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
4572 using the new hash policy.
4573 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
4575 2016-05-24 Jonathan Wakely <jwakely@redhat.com>
4577 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
4579 2016-05-23 François Dumont <fdumont@gcc.gnu.org>
4581 * include/debug/safe_iterator.h
4582 (_Safe_iterator<>::operator->()): Implement using underlying iterator
4584 * include/debug/safe_local_iterator.h
4585 (_Safe_local_iterator<>::operator->()): Likewise.
4587 2016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
4589 * testsuite/experimental/memory_resource/1.cc: Add required argument
4590 to dg-require-atomic-builtins.
4592 2016-05-13 Jonathan Wakely <jwakely@redhat.com>
4595 * include/debug/bitset: Add #pragma GCC system_header.
4596 * include/debug/deque: Likewise.
4597 * include/debug/list: Likewise.
4598 * include/debug/map: Likewise.
4599 * include/debug/set: Likewise.
4600 * include/debug/string: Likewise.
4601 * include/debug/unordered_map: Likewise.
4602 * include/debug/unordered_set: Likewise.
4603 * include/debug/vector: Likewise.
4604 * include/debug/functions.h: Adjust whitespace.
4606 2016-05-12 Jonathan Wakely <jwakely@redhat.com>
4609 * testsuite/experimental/memory_resource/1.cc: Require atomics.
4611 2016-05-11 Jonathan Wakely <jwakely@redhat.com>
4614 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
4615 exception constructors with __sso_string parameters.
4617 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
4619 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
4620 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
4621 Test begin and end functions.
4622 * testsuite/experimental/filesystem/iterators/
4623 recursive_directory_iterator.cc: Likewise.
4626 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
4627 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
4629 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
4630 Overload operator* to move from rvalues.
4633 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
4634 * testsuite/experimental/filesystem/operations/create_directory.cc:
4638 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
4639 base path to exception.
4640 * testsuite/experimental/filesystem/operations/canonical.cc: Test
4641 paths contained in exception.
4643 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
4647 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
4649 (directory_iterator::operator++(int)): Return proxy.
4650 (recursive_directory_iterator::operator++(int)): Likewise.
4651 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
4652 Test post-increment.
4653 * testsuite/experimental/filesystem/iterators/
4654 recursive_directory_iterator.cc: Likewise.
4656 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
4659 * testsuite/experimental/filesystem/iterators/
4660 recursive_directory_iterator.cc: Fix test02 to not call member
4661 functions on invalid iterator, and use VERIFY not assert.
4663 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
4665 Avoid endless run-time recursion for copying single-element
4666 tuples where the element type is by-value constructible
4668 * include/std/tuple (_NotSameTuple): New.
4669 * include/std/tuple (tuple(_UElements&&...): Use it.
4670 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
4672 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
4675 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
4676 Initialize scalar member variables in default constructor.
4677 * testsuite/experimental/filesystem/iterators/
4678 recursive_directory_iterator.cc: Test default construction.
4680 2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4682 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
4684 2016-05-05 Jonathan Wakely <jwakely@redhat.com>
4686 * testsuite/experimental/filesystem/path/native/string.cc: Add
4687 dg-require-filesystem-ts directive.
4689 2016-05-04 Jonathan Wakely <jwakely@redhat.com>
4692 * include/experimental/memory_resource
4693 (__resource_adaptor_imp::do_allocate): Do not default-construct
4695 (__resource_adaptor_imp::do_deallocate): Likewise. Use
4696 allocator_traits to get pointer type.
4697 (__null_memory_resource::do_allocate): Remove unused parameters.
4698 (__null_memory_resource::do_deallocate): Likewise.
4699 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
4700 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
4701 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
4703 * testsuite/experimental/memory_resource/1.cc: Here.
4704 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
4705 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
4707 2016-04-29 Chris Gregory <czipperz@gmail.com>
4709 * config/*: Remove trailing whitespace.
4711 * testsuite/tr1/*: Likewise.
4712 * testsuite/util/*: Likewise.
4714 2016-04-28 Jonathan Wakely <jwakely@redhat.com>
4717 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
4719 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
4721 * include/std/atomic (atomic<_Tp>): Likewise.
4722 * include/std/shared_mutex (shared_lock): Likewise.
4723 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
4724 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
4725 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
4726 * testsuite/29_atomics/atomic/70766.cc: New test.
4727 * testsuite/30_threads/shared_lock/70766.cc: New test.
4729 * include/bits/hashtable_policy.h (__detail::_Insert_base,
4730 __detail::_Insert): Improve comments.
4732 2016-04-27 Jonathan Wakely <jwakely@redhat.com>
4735 * include/std/limits: Update comments about DRs.
4736 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
4737 numeric_limits<const volatile _Tp>): Define unconditionally.
4739 2016-04-24 Jonathan Wakely <jwakely@redhat.com>
4742 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
4743 static counter to return a different path on every call.
4745 2016-04-22 Tim Shen <timshen@google.com>
4748 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
4749 Fix the match_not_bow and match_not_eow behavior.
4750 * testsuite/28_regex/regression.cc: Add testcase.
4752 2016-04-20 Jonathan Wakely <jwakely@redhat.com>
4755 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
4756 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
4758 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
4761 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
4762 Override endianness bit in mode.
4763 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
4764 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
4765 that little_endian mode is ignored.
4766 * testsuite/experimental/filesystem/path/native/string.cc: New test.
4769 * src/filesystem/ops.cc (close_fd): New function.
4770 (do_copy_file): Set permissions before copying file contents. Check
4771 result of closing file descriptors. Don't copy streambuf when file
4773 (copy(const path&, const path&, copy_options, error_code&)): Use
4774 lstat for source file when copy_symlinks is set.
4775 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
4777 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
4778 operator~ operator&=, operator|=, operator^=): Add noexcept to
4779 overloaded operators for copy_options, perms and directory_options.
4780 * src/filesystem/ops.cc (make_file_type, make_file_status,
4781 is_not_found_errno, file_time): Add noexcept.
4783 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
4785 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
4787 2016-04-18 Jonathan Wakely <jwakely@redhat.com>
4790 * include/bits/random.h: Reword static assertion messages to state
4791 positive conditions.
4792 * include/bits/random.tcc: Likewise.
4793 * include/bits/uniform_int_dist.h: Likewise.
4794 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
4797 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
4799 * config/cpu/sh/atomicity.h: Fix typo in comment.
4802 * include/std/thread (operator<, operator==): Move definitions to
4804 * testsuite/30_threads/thread/id/70294.cc: New test.
4806 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
4807 -Wno-pedantic to dg-options.
4808 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
4809 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
4811 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
4812 Remove extra semi-colon.
4813 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
4814 Always supply second argument to static_assert.
4815 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
4817 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
4819 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
4820 * testsuite/29_atomics/atomic/60695.cc: Likewise.
4821 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
4822 alignof when operand is an object not a type.
4823 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
4824 * testsuite/decimal/make-decimal.cc: Likewise.
4825 * testsuite/experimental/type_traits/value.cc: Always supply second
4826 argument to static_assert.
4827 * testsuite/util/testsuite_common_types.h: Use __extension__ for
4830 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
4832 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
4833 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
4834 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
4835 Likewise. Add licence and change to compile-only test.
4837 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
4839 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
4841 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
4844 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
4846 * include/bits/specfun.h: Trivial comment misspelling.
4848 2016-04-14 Jason Merrill <jason@redhat.com>
4850 Revert Jonathan's empty ABI change from yesterday.
4852 2016-04-13 Martin Sebor <msebor@redhat.com>
4855 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
4856 upper bound is positive.
4858 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
4860 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
4861 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
4862 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
4863 of functions taking empty structs by value. Add a template parameter
4864 to overloads without hints. Rename overloads with hints to
4866 (_Hashtable::_M_erase(true_type, const_iterator),
4867 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
4868 by reordering parameters.
4869 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
4870 _M_emplace_hint instead of _M_emplace.
4871 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
4872 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
4873 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
4874 __shared_ptr): Likewise.
4875 * include/bits/stl_algo.h (replace_if): Likewise.
4876 * include/bits/stl_pair.h (piecewise_construct_t,
4877 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
4878 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
4879 __uses_alloc0): Likewise.
4880 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
4881 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
4882 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
4883 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
4884 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
4885 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
4886 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
4888 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
4890 Document C++17/TR29124 C++ Special Math Functions.
4891 * include/bits/specfun.h: Add Doxygen markup.
4893 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
4895 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
4897 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
4899 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
4900 * src/Makefile.in: Regenerate.
4902 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
4905 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
4906 __atomic_fetch_add for bool.
4907 * configure: Regenerate.
4909 * testsuite/30_threads/thread/70503.cc: Require -static to work.
4912 * src/c++11/thread.cc (execute_native_thread_routine,
4913 execute_native_thread_routine_compat): Give internal linkage.
4914 * testsuite/30_threads/thread/70503.cc: New test.
4916 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
4919 * include/bits/stl_pair.h (_ConstructiblePair,
4920 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
4921 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
4922 for same-type cases.
4923 * testsuite/20_util/pair/70437.cc: New.
4925 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
4928 * config/abi/pre/gnu.ver: Add new symbol.
4929 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
4930 * testsuite/18_support/free_eh_pool.cc: New test.
4932 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
4934 * include/Makefile.am (install-freestanding-headers): Add
4935 concept_check.h and move.h to the installed headers.
4936 * include/Makefile.in: Regenerated.
4937 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
4938 freestanding implementations.
4939 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
4940 that this macro has no effect for freestanding implementations.
4941 * doc/html/manual/using_macros.html: Likewise.
4943 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
4946 * include/experimental/tuple (__apply_impl): Qualify get and forward.
4948 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
4950 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
4951 * doc/html/*: Regenerate.
4954 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
4955 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
4956 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
4957 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
4958 trunc) [__cplusplus >= 201103L]: Import from namespace std.
4959 (fabs) [__cplusplus < 201103L]: Import from namespace std.
4960 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
4962 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
4963 namespace before including TR1 headers.
4964 * testsuite/tr1/headers/c++200x/math.cc: New test.
4966 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
4969 * include/c_global/cstdarg: Undefine __need___va_list.
4970 * include/c_global/cstddef: Undefine all kinds of __need_*.
4972 2016-02-16 Tim Shen <timshen@google.com>
4975 * include/bits/regex_scanner.h: Add different special character
4976 sets for grep and egrep regex.
4977 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
4978 * testsuite/28_regex/regression.cc: Add new testcase.
4980 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
4982 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
4983 added 'constexpr' in previous commit.
4984 * configure: Regenerate.
4987 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
4988 checks for all targets except *-*-solaris2.* and ensure we find the
4989 libc math.h header not our own.
4990 * configure: Regenerate.
4992 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
4994 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
4995 New file. Copied over from s390-linux-gnu.
4997 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
5000 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
5001 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
5002 * config.h.in: Regenerate.
5003 * configure: Regenerate.
5004 * testsuite/21_strings/c_strings/char/69626.cc: New.
5006 * doc/html/index.html: Regenerate.
5008 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
5009 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
5010 * doc/html/*: Regenerate.
5012 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
5015 * include/c_compatibility/math.h: Move header guards.
5016 * include/c_compatibility/stdlib.h: Likewise.
5018 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
5021 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
5023 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
5026 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
5027 isinf and isnan functions into two independent checks. Check on hpux.
5028 * config.h.in: Regenerate.
5029 * configure: Regenerate.
5030 * include/c_global/cmath (isinf(double), isnan(double)): Use
5031 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
5034 2016-01-27 Jakub Jelinek <jakub@redhat.com>
5036 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
5038 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
5041 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
5042 -ffp-contract=off, and -ffloat-store to disable excess precision.
5043 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
5046 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
5049 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
5050 random_access_iterator_tag>): Check is_move_assignable when moving.
5051 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
5053 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
5054 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
5055 * testsuite/25_algorithms/move/69478.cc: New.
5056 * testsuite/25_algorithms/move_backward/69478.cc: new.
5058 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
5060 * include/c_compatibility/stdlib.h: Include wide character related
5061 definitions only when they are available in cstdlib.
5063 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
5066 * include/Makefile.am: Add new header.
5067 * include/Makefile.in: Regenerate.
5068 * include/bits/random.h (uniform_int_distribution): Move to
5069 bits/uniform_int_dist.h.
5070 * include/bits/random.tcc (uniform_int_distribution::operator(),
5071 uniform_int_distribution::__generate_impl): Likewise.
5072 * include/bits/uniform_int_dist.h: New header.
5073 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
5074 <bits/uniform_int_dist.h> instead of <random>.
5075 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
5076 move_iterators/1.cc: Include correct header for uninitialized_copy.
5077 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
5078 move_iterators/1.cc: Likewise.
5079 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
5081 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
5083 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
5086 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
5088 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
5090 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
5091 * include/c_compatibility/math.h: Import the TR29124 functions
5092 into the global namespace.
5093 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
5094 xfail and make compile-only.
5095 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
5096 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
5097 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
5098 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
5099 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
5100 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
5101 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
5102 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
5103 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
5104 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
5105 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
5106 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
5107 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
5108 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
5109 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
5110 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
5111 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
5112 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
5113 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
5114 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
5116 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
5119 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
5120 define result_type for types which can be safely used with valarrays.
5121 * testsuite/26_numerics/valarray/69116.cc: New.
5124 * config/os/gnu-linux/os_defines.h: Define
5125 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
5126 * include/c_global/cmath (isinf, isnan): Check it.
5127 * doc/xml/manual/internals.xml: Document it.
5128 * doc/html/*: Regenerate.
5130 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
5133 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
5134 * include/ext/type_traits.h: Likewise.
5135 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
5136 for presence of C headers.
5137 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
5138 dg-error line number.
5139 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
5140 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
5141 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
5143 2016-01-20 Torvald Riegel <triegel@redhat.com>
5146 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
5148 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
5151 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
5152 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
5153 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
5154 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
5155 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
5156 Add using declarations.
5157 * testsuite/26_numerics/headers/cmath/60401.cc: New.
5160 * include/c_global/ccomplex: Ensure C++ language linkage.
5161 * include/c_global/cmath: Likewise.
5162 * include/c_global/cstdlib: Likewise.
5163 * include/c_global/ctgmath: Likewise.
5164 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
5166 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
5170 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
5171 --enable-cheaders=c_global configs.
5172 * include/Makefile.in: Regenerate.
5173 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
5174 test and allow inclusion from C files.
5175 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
5176 (at_quick_exit, quick_exit): Add using directives.
5177 * include/c_global/cmath: Use #include_next for math.h.
5178 * include/c_global/cstdlib: Use #include_next for stdlib.h.
5179 * testsuite/26_numerics/headers/cmath/14608.cc: New.
5180 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
5181 Remove xfail for most targets.
5182 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
5184 2016-01-18 Torvald Riegel <triegel@redhat.com>
5186 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
5187 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
5188 and move after its definition.
5189 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
5190 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
5191 __GXX_WEAK__, and only provide transactional clones if
5192 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
5195 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
5198 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
5201 * include/std/functional (_Function_base::_M_not_empty_function):
5202 Change overloads for pointers to take arguments by value.
5203 * testsuite/20_util/function/cons/57465.cc: Add tests for
5204 pointer-to-member cases.
5207 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
5208 Use macros for exception handling and fix unused parameter warning.
5210 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
5213 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
5215 2016-01-17 Torvald Riegel <triegel@redhat.com>
5217 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
5219 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
5221 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
5224 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
5227 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
5228 static assertion that type is constructible from the arguments.
5229 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
5230 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
5231 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
5234 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
5235 and isnan on AIX. Quote variables.
5236 * configure: Regenerate.
5238 2016-01-15 Torvald Riegel <triegel@redhat.com>
5240 * include/bits/basic_string.h (basic_string): Declare friends.
5241 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
5242 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
5243 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
5244 length_error, out_of_range, runtime_error, range_error,
5245 underflow_error, overflow_error): Declare members as transaction-safe.
5246 (logic_error, runtime_error): Declare friend functions.
5247 * libsupc++/exception (exception, bad_exception): Declare members as
5249 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
5250 transaction-safe members of exceptions and helper functions.
5251 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
5252 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
5253 (CXXABI_1.3.10): New.
5254 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
5255 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
5256 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
5257 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
5258 * include/Makefile.in: Regenerate.
5259 * config.h.in: Regenerate.
5260 * configure: Regenerate.
5261 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
5263 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
5265 * include/ext/random.tcc: Use __builtin_isfinite instead of
5268 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
5270 * include/bits/std_mutex.h: Fix Doxygen @file name.
5272 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
5273 Jonathan Wakely <jwakely@redhat.com>
5274 Florian Goth <CaptainSifff@gmx.de>
5276 Implement TR29124 C++ special Math Functions.
5277 * include/Makefile.am: Add new headers.
5278 * include/Makefile.in: Regenerate.
5279 * include/bits/specfun.h: New.
5280 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
5281 * include/tr1/bessel_function.tcc: Ditto.
5282 * include/tr1/beta_function.tcc: Ditto.
5283 * include/tr1/cmath: Ditto.
5284 * include/tr1/ell_integral.tcc: Ditto.
5285 * include/tr1/exp_integral.tcc: Ditto.
5286 * include/tr1/gamma.tcc: Ditto.
5287 * include/tr1/hypergeometric.tcc: Ditto.
5288 * include/tr1/legendre_function.tcc: Ditto.
5289 * include/tr1/modified_bessel_func.tcc: Ditto.
5290 * include/tr1/poly_hermite.tcc: Ditto.
5291 * include/tr1/poly_laguerre.tcc: Ditto.
5292 * include/tr1/riemann_zeta.tcc: Ditto.
5293 * include/tr1/special_function_util.h: Ditto.
5294 * testsuite/ext/special_functions/conf_hyperg: New.
5295 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
5296 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
5297 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
5298 * testsuite/ext/special_functions/hyperg: New.
5299 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
5300 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
5301 * testsuite/ext/special_functions/hyperg/compile.cc: New.
5302 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
5303 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
5304 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
5305 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
5306 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
5307 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
5308 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
5309 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
5310 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
5311 * testsuite/special_functions/03_beta/check_nan.cc: New.
5312 * testsuite/special_functions/03_beta/check_value.cc: New.
5313 * testsuite/special_functions/03_beta/compile.cc: New.
5314 * testsuite/special_functions/03_beta/compile_2.cc: New.
5315 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
5316 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
5317 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
5318 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
5319 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
5320 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
5321 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
5322 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
5323 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
5324 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
5325 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
5326 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
5327 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
5328 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
5329 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
5330 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
5331 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
5332 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
5333 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
5334 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
5335 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
5336 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
5337 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
5338 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
5339 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
5340 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
5341 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
5342 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
5343 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
5344 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
5345 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
5346 * testsuite/special_functions/11_ellint_1/compile.cc: New.
5347 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
5348 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
5349 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
5350 * testsuite/special_functions/12_ellint_2/compile.cc: New.
5351 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
5352 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
5353 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
5354 * testsuite/special_functions/13_ellint_3/compile.cc: New.
5355 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
5356 * testsuite/special_functions/14_expint/check_nan.cc: New.
5357 * testsuite/special_functions/14_expint/check_value.cc: New.
5358 * testsuite/special_functions/14_expint/compile.cc: New.
5359 * testsuite/special_functions/14_expint/compile_2.cc: New.
5360 * testsuite/special_functions/15_hermite/check_nan.cc: New.
5361 * testsuite/special_functions/15_hermite/check_value.cc: New.
5362 * testsuite/special_functions/15_hermite/compile.cc: New.
5363 * testsuite/special_functions/15_hermite/compile_2.cc: New.
5364 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
5365 * testsuite/special_functions/16_laguerre/check_value.cc: New.
5366 * testsuite/special_functions/16_laguerre/compile.cc: New.
5367 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
5368 * testsuite/special_functions/17_legendre/check_nan.cc: New.
5369 * testsuite/special_functions/17_legendre/check_value.cc: New.
5370 * testsuite/special_functions/17_legendre/compile.cc: New.
5371 * testsuite/special_functions/17_legendre/compile_2.cc: New.
5372 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
5373 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
5374 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
5375 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
5376 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
5377 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
5378 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
5379 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
5380 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
5381 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
5382 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
5383 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
5384 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
5385 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
5386 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
5387 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
5388 * testsuite/util/specfun_testcase.h: New.
5389 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
5390 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
5391 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
5392 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
5393 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
5394 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
5395 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
5397 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
5400 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
5401 and isnan functions.
5402 * config.h.in: Regenerate.
5403 * configure: Regenerate.
5404 * include/c_global/cmath (isinf(double), isnan(double))
5405 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
5406 * testsuite/26_numerics/headers/cmath/48891.cc: New.
5408 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5411 * configure.host (abi_baseline_pair): Use separate baseline for
5412 Solaris 11+ and Solaris 10 with gld.
5413 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
5414 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
5415 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
5417 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
5420 * include/std/type_traits: Following N4511, reimplement __is_swappable
5421 and __is_nothrow_swappable. Move __is_swappable to namespace std,
5422 adjust callers. Use __is_nothrow_swappable in swap.
5423 * include/bits/move.h: Use __is_nothrow_swappable in swap.
5424 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
5425 __is_swappable related tests.
5426 * testsuite/20_util/is_swappable/value.cc: New.
5427 * testsuite/20_util/is_swappable/requirements/
5428 explicit_instantiation.cc: New.
5429 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
5430 * testsuite/25_algorithms/swap/68877.cc: New.
5432 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
5434 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
5438 * include/std/functional (function::_Invoke): Remove, use result_of.
5439 (function::_Callable): Replace alias template with class template
5440 and use partial specialization instead of _NotSelf alias template.
5441 (function(_Functor)): Add "not self" constraint so that _Callable is
5442 not used while type is incomplete.
5443 * testsuite/20_util/function/69222.cc: New.
5445 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
5448 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
5449 Define partial specialization.
5450 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
5451 destroy members to std::allocator explicit specialization.
5453 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
5455 * testsuite/26_numerics/headers/cmath/
5456 c99_classification_macros_c++.cc: Rename to ...
5457 * testsuite/26_numerics/headers/cmath/
5458 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
5459 * testsuite/26_numerics/headers/cmath/
5460 c99_classification_macros_c++0x.cc: Rename to ...
5461 * testsuite/26_numerics/headers/cmath/
5462 c99_classification_macros_c++11.cc: Here.
5465 * include/bits/uses_allocator.h: Add missing include.
5467 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
5472 * include/bits/stl_iterator.h (back_insert_iterator,
5473 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
5474 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
5475 * include/std/future (__future::base::_State_baseV2::__setter):
5477 * include/std/scoped_allocator (__outermost): Likewise.
5478 * testsuite/20_util/scoped_allocator/69114.cc: New.
5479 * testsuite/20_util/uses_allocator/69114.cc: New.
5480 * testsuite/30_threads/promise/69106.cc: New.
5482 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
5485 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
5486 Remove _GLIBCXX_NOEXCEPT.
5487 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
5489 * include/Makefile.am: Adjust.
5490 * include/Makefile.in: Regenerate.
5491 * include/bits/mutex.h: Rename to bits/std_mutex.h.
5492 * include/std/condition_variable: Adjust include.
5493 * include/std/mutex: Likewise.
5495 2016-01-04 Jakub Jelinek <jakub@redhat.com>
5497 Update copyright years.
5499 Copyright (C) 2016 Free Software Foundation, Inc.
5501 Copying and distribution of this file, with or without modification,
5502 are permitted in any medium without royalty provided the copyright
5503 notice and this notice are preserved.