]> git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/ChangeLog
PR65122 extended alignment support in allocators
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
1 2016-10-14 Jonathan Wakely <jwakely@redhat.com>
2
3 PR libstdc++/65122
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
9 extended alignment.
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.
22
23 2016-10-14 Tim Shen <timshen@google.com>
24
25 PR libstdc++/77944
26 * include/std/variant: Include <bits/funcexcept.h> for __try and
27 __catch.
28
29 2016-10-14 Jonathan Wakely <jwakely@redhat.com>
30
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.
34
35 2016-10-13 Paolo Carlini <paolo.carlini@oracle.com>
36
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:
67 Likewise.
68 * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
69 Likewise.
70 * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
71 Likewise.
72 * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
73 Likewise.
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:
93 Likewise.
94 * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
95 Likewise.
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:
148 Likewise.
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:
183 Likewise.
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:
198 Likewise.
199 * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc:
200 Likewise.
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:
208 Likewise.
209 * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
210 Likewise.
211 * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
212 Likewise.
213 * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc:
214 Likewise.
215 * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
216 Likewise.
217 * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
218 Likewise.
219 * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc:
220 Likewise.
221 * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
222 Likewise.
223 * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
224 Likewise.
225 * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Likewise.
226 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
227 Likewise.
228 * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc:
229 Likewise.
230 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
231 Likewise.
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:
235 Likewise.
236 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc:
237 Likewise.
238 * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
239 Likewise.
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:
245 Likewise.
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:
255 Likewise.
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:
259 Likewise.
260 * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
261 Likewise.
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:
265 Likewise.
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:
280 Likewise.
281 * testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
282 Likewise.
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:
297 Likewise.
298 * testsuite/28_regex/iterators/regex_iterator/char/
299 string_position_01.cc
300 * testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc:
301 Likewise.
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:
306 Likewise.
307 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
308 Likewise.
309 * testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Likewise.
310 * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
311 Likewise.
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:
317 Likewise.
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:
382 Likewise.
383 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise.
384 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
385 Likewise.
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.
434
435 2016-10-13 Jonathan Wakely <jwakely@redhat.com>
436
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
449 missing includes.
450 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
451 * testsuite/20_util/specialized_algorithms/memory_management_tools/
452 1.cc: Likewise.
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.
466
467 * testsuite/experimental/algorithm/sample.cc: Add missing header.
468
469 * include/experimental/propagate_const (element_type): Qualify
470 declval.
471
472 * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
473 instead of assert.
474
475 * include/experiumental/functional (boyer_moore_searcher)
476 (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
477 with _GLIBCXX_STD_C.
478 * include/std/functional: Likewise.
479
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.
483
484 * src/c++11/compatibility-thread-c++0x.cc (_Bind_simple)
485 (_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols.
486
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
496 <functional>.
497 (thread::_Invoker, thread::__make_invoker): Define helpers to do
498 INVOKE(DECAY_COPY(f), DECAY_COPY(args)...).
499
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.
505
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.
509
510 2016-10-12 Paolo Carlini <paolo.carlini@oracle.com>
511
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:
527 Likewise.
528 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
529 Likewise.
530 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
531 Likewise.
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:
563 Likewise.
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:
579 Likewise.
580 * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
581 * testsuite/19_diagnostics/error_condition/operators/equal.cc:
582 Likewise.
583 * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
584 Likewise.
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:
606 Likewise.
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:
638 Likewise.
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:
696 Likewise.
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:
711 Likewise.
712 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
713 Likewise.
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:
737 Likewise.
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:
750 Likewise.
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:
759 Likewise.
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:
791 Likewise.
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:
798 Likewise.
799 * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
800 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
801 Likewise.
802 * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
803 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
804 Likewise.
805 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
806 Likewise.
807 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
808 Likewise.
809 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
810 Likewise.
811 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
812 Likewise.
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:
818 Likewise.
819 * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise.
820 * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
821 Likewise.
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:
824 Likewise.
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:
847 Likewise.
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:
853 Likewise.
854 * testsuite/21_strings/basic_string/element_access/char/empty.cc:
855 Likewise.
856 * testsuite/21_strings/basic_string/element_access/char/front_back.cc:
857 Likewise.
858 * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc:
859 Likewise.
860 * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc:
861 Likewise.
862 * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc:
863 Likewise.
864 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
865 Likewise.
866 * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
867 Likewise.
868 * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
869 Likewise.
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:
874 Likewise.
875 * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
876 Likewise.
877 * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
878 Likewise.
879 * testsuite/21_strings/basic_string/inserters_extractors/char/
880 28277.cc: Likewise.
881 * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
882 Likewise.
883 * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
884 Likewise.
885 * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
886 Likewise.
887 * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
888 Likewise.
889 * testsuite/21_strings/basic_string/inserters_extractors/char/8.cc:
890 Likewise.
891 * testsuite/21_strings/basic_string/inserters_extractors/char/9.cc:
892 Likewise.
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:
898 Likewise.
899 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
900 10.cc: Likewise.
901 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
902 11.cc: Likewise.
903 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
904 28277.cc: Likewise.
905 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
906 Likewise.
907 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
908 Likewise.
909 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
910 Likewise.
911 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
912 Likewise.
913 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc:
914 Likewise.
915 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc:
916 Likewise.
917 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc:
918 Likewise.
919 * testsuite/21_strings/basic_string/modifiers/append/char/2.cc:
920 Likewise.
921 * testsuite/21_strings/basic_string/modifiers/append/char/3.cc:
922 Likewise.
923 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
924 Likewise.
925 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
926 Likewise.
927 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc:
928 Likewise.
929 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc:
930 Likewise.
931 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
932 Likewise.
933 * testsuite/21_strings/basic_string/modifiers/assign/char/1.cc:
934 Likewise.
935 * testsuite/21_strings/basic_string/modifiers/assign/char/2.cc:
936 Likewise.
937 * testsuite/21_strings/basic_string/modifiers/assign/char/3.cc:
938 Likewise.
939 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
940 Likewise.
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:
944 Likewise.
945 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc:
946 Likewise.
947 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc:
948 Likewise.
949 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
950 Likewise.
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:
954 Likewise.
955 * testsuite/21_strings/basic_string/modifiers/insert/char/2.cc:
956 Likewise.
957 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
958 Likewise.
959 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc:
960 Likewise.
961 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc:
962 Likewise.
963 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
964 Likewise.
965 * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc:
966 Likewise.
967 * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc:
968 Likewise.
969 * testsuite/21_strings/basic_string/modifiers/replace/char/1.cc:
970 Likewise.
971 * testsuite/21_strings/basic_string/modifiers/replace/char/2.cc:
972 Likewise.
973 * testsuite/21_strings/basic_string/modifiers/replace/char/3.cc:
974 Likewise.
975 * testsuite/21_strings/basic_string/modifiers/replace/char/4.cc:
976 Likewise.
977 * testsuite/21_strings/basic_string/modifiers/replace/char/5.cc:
978 Likewise.
979 * testsuite/21_strings/basic_string/modifiers/replace/char/6.cc:
980 Likewise.
981 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
982 Likewise.
983 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc:
984 Likewise.
985 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc:
986 Likewise.
987 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc:
988 Likewise.
989 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc:
990 Likewise.
991 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc:
992 Likewise.
993 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc:
994 Likewise.
995 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
996 Likewise.
997 * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
998 Likewise.
999 * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
1000 Likewise.
1001 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
1002 Likewise.
1003 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
1004 Likewise.
1005 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
1006 Likewise.
1007 * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
1008 Likewise.
1009 * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
1010 Likewise.
1011 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
1012 Likewise.
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/
1020 stod.cc: Likewise.
1021 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1022 stof.cc: Likewise.
1023 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1024 stoi.cc: Likewise.
1025 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1026 stol.cc: Likewise.
1027 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1028 stold.cc: Likewise.
1029 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1030 stoll.cc: Likewise.
1031 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
1032 stoul.cc: Likewise.
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:
1038 Likewise.
1039 * testsuite/21_strings/basic_string/operations/compare/char/13650.cc:
1040 Likewise.
1041 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
1042 Likewise.
1043 * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
1044 Likewise.
1045 * testsuite/21_strings/basic_string/operations/compare/wchar_t/
1046 13650.cc: Likewise.
1047 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
1048 Likewise.
1049 * testsuite/21_strings/basic_string/operations/data/char/1.cc:
1050 Likewise.
1051 * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc:
1052 Likewise.
1053 * testsuite/21_strings/basic_string/operations/find/char/1.cc:
1054 Likewise.
1055 * testsuite/21_strings/basic_string/operations/find/char/2.cc:
1056 Likewise.
1057 * testsuite/21_strings/basic_string/operations/find/char/3.cc:
1058 Likewise.
1059 * testsuite/21_strings/basic_string/operations/find/char/4.cc:
1060 Likewise.
1061 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
1062 Likewise.
1063 * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc:
1064 Likewise.
1065 * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc:
1066 Likewise.
1067 * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc:
1068 Likewise.
1069 * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc:
1070 Likewise.
1071 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
1072 Likewise.
1073 * testsuite/21_strings/basic_string/operations/rfind/char/1.cc:
1074 Likewise.
1075 * testsuite/21_strings/basic_string/operations/rfind/char/2.cc:
1076 Likewise.
1077 * testsuite/21_strings/basic_string/operations/rfind/char/3.cc:
1078 Likewise.
1079 * testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc:
1080 Likewise.
1081 * testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc:
1082 Likewise.
1083 * testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc:
1084 Likewise.
1085 * testsuite/21_strings/basic_string/operations/substr/char/1.cc:
1086 Likewise.
1087 * testsuite/21_strings/basic_string/operations/substr/wchar_t/
1088 1.cc: Likewise.
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/
1107 1.cc: Likewise.
1108 * testsuite/21_strings/basic_string_view/element_access/char/
1109 empty.cc: Likewise.
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/
1113 1.cc: Likewise.
1114 * testsuite/21_strings/basic_string_view/element_access/wchar_t/
1115 empty.cc: Likewise.
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:
1122 Likewise.
1123 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
1124 Likewise.
1125 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
1126 Likewise.
1127 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
1128 Likewise.
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/
1138 1.cc: Likewise.
1139 * testsuite/21_strings/basic_string_view/operations/compare/char/
1140 13650.cc: Likewise.
1141 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
1142 1.cc: Likewise.
1143 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
1144 13650.cc: Likewise.
1145 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
1146 Likewise.
1147 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
1148 Likewise.
1149 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
1150 Likewise.
1151 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
1152 Likewise.
1153 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
1154 Likewise.
1155 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
1156 Likewise.
1157 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
1158 Likewise.
1159 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
1160 Likewise.
1161 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
1162 1.cc: Likewise.
1163 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
1164 2.cc: Likewise.
1165 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
1166 3.cc: Likewise.
1167 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
1168 4.cc: Likewise.
1169 * testsuite/21_strings/basic_string_view/operations/rfind/char/
1170 1.cc: Likewise.
1171 * testsuite/21_strings/basic_string_view/operations/rfind/char/
1172 2.cc: Likewise.
1173 * testsuite/21_strings/basic_string_view/operations/rfind/char/
1174 3.cc: Likewise.
1175 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
1176 1.cc: Likewise.
1177 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
1178 2.cc: Likewise.
1179 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
1180 3.cc: Likewise.
1181 * testsuite/21_strings/basic_string_view/operations/string_conversion/
1182 1.cc: Likewise.
1183 * testsuite/21_strings/basic_string_view/operations/substr/char/
1184 1.cc: Likewise.
1185 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
1186 1.cc: Likewise.
1187 * testsuite/21_strings/basic_string_view/operators/char/2.cc:
1188 Likewise.
1189 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
1190 Likewise.
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:
1195 Likewise.
1196 * testsuite/21_strings/char_traits/requirements/short/1.cc: Likewise.
1197 * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Likewise.
1198
1199 * doc/xml/manual/test.xml: Fix typo.
1200
1201 2016-10-12 Jonathan Wakely <jwakely@redhat.com>
1202
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.
1211
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
1216 line numbers.
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.
1222
1223 * include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove.
1224 (call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call.
1225
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.
1230
1231 * libsupc++/nested_exception.h (throw_with_nested): Remove return.
1232
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
1240 __bind_simple.
1241 * testsuite/30_threads/call_once/dr2442.cc: New test.
1242
1243 2016-10-11 Jonathan Wakely <jwakely@redhat.com>
1244
1245 * include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
1246 _M_assign_dispatch directly with correct tag.
1247
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.
1260
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.
1265
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.
1269
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.
1275
1276 2016-10-10 Jonathan Wakely <jwakely@redhat.com>
1277
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.
1282
1283 2016-10-10 Ville Voutilainen <ville.voutilainen@gmail.com>
1284
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&&...)):
1289 Make explicit.
1290 (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
1291 Likewise.
1292 (operator=(const any&)): Make strongly exception-safe.
1293 (operator=(any&&)): reset() unconditionally in the case where
1294 rhs has a value.
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.
1302
1303 2016-10-10 Jonathan Wakely <jwakely@redhat.com>
1304
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.
1309
1310 * doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
1311
1312 * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
1313 with noexcept.
1314
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
1319 __disable_if_void.
1320
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.
1329
1330 * include/bits/allocator.h (allocator<T>::is_always_equal): Define.
1331 * testsuite/20_util/allocator/requirements/typedefs.cc: Test for
1332 is_always_equal.
1333 * testsuite/util/testsuite_allocator.h
1334 (uneq_allocator::is_always_equal): Define as false_type.
1335
1336 * include/experimental/numeric (gcd, lcm): Make bool arguments
1337 ill-formed.
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.
1341
1342 * include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this):
1343 Add noexcept.
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.
1348
1349 2016-10-07 Jonathan Wakely <jwakely@redhat.com>
1350
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.
1355
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/
1362 typedefs.cc: New.
1363
1364 2016-10-06 Jonathan Wakely <jwakely@redhat.com>
1365
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.
1378
1379 2016-10-05 Jonathan Wakely <jwakely@redhat.com>
1380
1381 PR libstdc++/70564
1382 * testsuite/20_util/not_fn/1.cc: Fix test.
1383 * testsuite/experimental/functional/not_fn.cc: Likewise.
1384
1385 PR libstdc++/70101
1386 * include/bits/stl_queue.h (priority_queue): Fix allocator-extended
1387 constructors.
1388 * testsuite/23_containers/priority_queue/allocator.cc: New test.
1389
1390 PR libstdc++/77864
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:
1397 New test.
1398 * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
1399 Likewise.
1400 * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
1401 Likewise.
1402 * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
1403 Likewise.
1404
1405 * include/bits/node_handle.h (_Node_handle): Remove invalid and unused
1406 alias declaration.
1407
1408 PR libstdc++/70564
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.
1416
1417 2016-10-03 François Dumont <fdumont@gcc.gnu.org>
1418
1419 * src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move
1420 declaration...
1421 * src/c++11/mutex_pool.h: ... here. New.
1422 * src/c++11/debug.cc: Use latter.
1423
1424 2016-10-03 Jonathan Wakely <jwakely@redhat.com>
1425
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.
1437
1438 PR libstdc++/68323
1439 PR libstdc++/77794
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
1447 for PR c++/59256.
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
1455 namespaces.
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:
1479 Likewise.
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.
1486
1487 PR libstdc++/77814
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>.
1491
1492 2016-10-03 Ville Voutilainen <ville.voutilainen@gmail.com>
1493
1494 PR libstdc++/77802
1495 * testsuite/20_util/tuple/77802.cc: New.
1496
1497 Revert:
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.
1521
1522 2016-09-30 Jonathan Wakely <jwakely@redhat.com>
1523
1524 PR libstdc++/77795
1525 * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check
1526 for gets.
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.
1533
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.
1549
1550 PR libstdc++/77801
1551 * include/experimental/numeric: Include <numeric>.
1552 (__abs): Define.
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.
1557
1558 2016-09-29 Ville Voutilainen <ville.voutilainen@gmail.com>
1559
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.
1566
1567 2016-09-29 Jonathan Wakely <jwakely@redhat.com>
1568
1569 * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads
1570 outside _GLIBCXX_USE_C99_MATH_TR1 condition.
1571
1572 2016-09-29 Alan Modra <amodra@gmail.com>
1573
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.
1589
1590 2016-09-28 Jonathan Wakely <jwakely@redhat.com>
1591
1592 * include/std/chrono (system_clock): Fix typo in comment.
1593
1594 * include/experimental/bits/fs_fwd.h (file_time_type): Simplify
1595 definition.
1596 * src/filesystem/ops.cc (file_time): Take error_code parameter and
1597 check for overflow.
1598 (do_copy_file, last_write_time): Pass error_code in file_time calls.
1599 * testsuite/experimental/filesystem/operations/last_write_time.cc:
1600 New.
1601 * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper.
1602
1603 PR libstdc++/77686
1604 * include/std/functional (_Any_data): Add may_alias attribute.
1605
1606 2016-09-27 Jonathan Wakely <jwakely@redhat.com>
1607
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.
1612
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.
1616
1617 2016-09-26 Ville Voutilainen <ville.voutilainen@gmail.com>
1618
1619 PR libstdc++/77727
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.
1624
1625 2016-09-26 François Dumont <fdumont@gcc.gnu.org>
1626
1627 * include/debug/safe_base.h
1628 (_Safe_iterator_base::_M_detach_single): Make public.
1629
1630 2016-09-26 Jonathan Wakely <jwakely@redhat.com>
1631
1632 * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
1633 redefine macro defined in <bits/stl_iterator.h>.
1634
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)):
1638 Likewise.
1639 * include/bits/stl_multiset.h (multiset::extract(const_iterator)):
1640 Likewise.
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.
1646
1647 2016-09-26 Ville Voutilainen <ville.voutilainen@gmail.com>
1648
1649 PR libstdc++/77717
1650 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
1651 Fix an out-of-bounds access.
1652
1653 2016-09-26 Marek Polacek <polacek@redhat.com>
1654
1655 PR c/7652
1656 * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]].
1657
1658 2016-09-25 François Dumont <fdumont@gcc.gnu.org>
1659
1660 * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
1661 functional.
1662 (get_safe_base_mutex): Get mutex based on address lowest non nil bits.
1663 * testsuite/23_containers/vector/debug/mutex_association.cc: New.
1664
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.
1695
1696 * include/parallel/algo.h: Generalize usage of std::__iterator_category.
1697 Adjust whitespaces.
1698
1699 2016-09-23 Jonathan Wakely <jwakely@redhat.com>
1700
1701 PR libstdc++/56166
1702 PR libstdc++/77582
1703 * include/bits/basic_string.h (basic_string::clear()): Drop reference
1704 and use empty rep.
1705 * include/ext/rc_string_base.h (__rc_string_base::_M_clear()):
1706 Likewise.
1707 * testsuite/21_strings/basic_string/56166.cc: New.
1708 * testsuite/ext/vstring/modifiers/clear/56166.cc: New.
1709
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.
1716
1717 2016-09-22 Jason Merrill <jason@redhat.com>
1718
1719 * configure.ac: Define HAVE_MEMALIGN for newlib.
1720
1721 2015-09-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
1722
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.
1728
1729 2016-09-22 Jonathan Wakely <jwakely@redhat.com>
1730
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
1743 friend.
1744 (map::node_type, map::insert_return_type, map::extract, map::merge)
1745 (map::insert(node_type&&), map::insert(const_iterator, node_type&&)):
1746 Define new members.
1747 (_Rb_tree_merge_helper): Specialize for map.
1748 * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper
1749 as friend.
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
1755 as friend.
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
1760 friend.
1761 (set::node_type, set::insert_return_type, set::extract, set::merge)
1762 (set::insert(node_type&&), set::insert(const_iterator, node_type&&)):
1763 Define.
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):
1799 Likewise.
1800 * include/debug/unordered_set( unordered_set, unordered_multiset):
1801 Likewise.
1802 * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New
1803 helper function.
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:
1818 New.
1819 * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New.
1820 * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
1821 New.
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
1826 dg-error lineno.
1827 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles.
1828
1829 2016-09-22 Ville Voutilainen <ville.voutilainen@gmail.com>
1830
1831 Fix tests on old arm platforms for optional.
1832 * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
1833
1834 2016-09-22 Jonathan Wakely <jwakely@redhat.com>
1835
1836 * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for
1837 recent change to _Variant_storage.
1838 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with
1839 reference type.
1840
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.
1846
1847 2016-09-22 Tim Shen <timshen@google.com>
1848
1849 * include/std/variant (variant::operator=): Fix assignment
1850 on references.
1851 * testsuite/20_util/variant/compile.cc: Add test.
1852
1853 2016-09-22 Tim Shen <timshen@google.com>
1854
1855 PR libstdc++/77641
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.
1859
1860 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
1861
1862 PR libstdc++/77288
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.
1876
1877 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
1878
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.
1901
1902 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
1903
1904 PR libstdc++/77537
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.
1910 (_PCCP): New.
1911 (pair(const _T1&, const _T2&)): Adjust.
1912 (_PCCFP): New.
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.
1924
1925 2016-09-20 Ville Voutilainen <ville.voutilainen@gmail.com>
1926
1927 PR libstdc++/77619
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.
1951
1952 2016-09-20 Jonathan Wakely <jwakely@redhat.com>
1953
1954 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
1955 (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
1956
1957 2016-09-19 Jonathan Wakely <jwakely@redhat.com>
1958
1959 PR libstdc++/77645
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.
1963
1964 * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
1965
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.
1974
1975 PR libstdc++/77645
1976 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
1977 argument.
1978 (ListWorkerBase.get_value_from_node): Define new method.
1979 (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
1980
1981 2016-09-17 Jonathan Wakely <jwakely@redhat.com>
1982
1983 * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
1984 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
1985 Register for C++17 components in namespace std. Strip inline namespace
1986 from typename.
1987
1988 2016-09-16 Jonathan Wakely <jwakely@redhat.com>
1989
1990 * doc/xml/manual/profile_mode.xml: Fix typo.
1991 * doc/html/manual/profile_mode_devel.html: Regenerate.
1992
1993 2016-09-16 Jonathan Wakely <jwakely@redhat.com>
1994 Marc Glisse <marc.glisse@inria.fr>
1995
1996 * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
1997 (operator new(size_t, align_val_t)): Replace modulus operator with
1998 mask.
1999
2000 2016-09-16 Jonathan Wakely <jwakely@redhat.com>
2001
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.
2006
2007 2016-09-15 Jonathan Wakely <jwakely@redhat.com>
2008
2009 * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
2010 * doc/html/*: Regenerate.
2011
2012 * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
2013 -Wno-deprecated.
2014 * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
2015
2016 2016-09-14 Marek Polacek <polacek@redhat.com>
2017
2018 * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
2019 -Wno-deprecated.
2020
2021 2016-09-14 Christophe Lyon <christophe.lyon@linaro.org>
2022
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:
2042 Likewise.
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.
2048
2049 2016-09-13 Ville Voutilainen <ville.voutilainen@gmail.com>
2050
2051 Implement P0040R3, Extending memory management tools.
2052 * include/bits/stl_uninitialized.h (utility): New include
2053 in C++17 mode.
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/
2062 1.cc: New.
2063
2064 2016-09-12 Jason Merrill <jason@redhat.com>
2065
2066 * config/abi/pre/gnu.ver: Use [jmy] for size_t.
2067
2068 2016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
2069
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.
2077
2078 2016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
2079
2080 Implement C++17 string searchers.
2081 * include/std/functional: (unordered_map, vector): New includes
2082 in C++17 mode.
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.
2091
2092 2016-09-12 Matthew Wahab <matthew.wahab@arm.com>
2093
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:
2098 Likewise.
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:
2112 Likewise.
2113 * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
2114 Likewise.
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:
2118 Likewise.
2119 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
2120 Likewise.
2121 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
2122 Likewise.
2123 * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
2124 Likewise.
2125 * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
2126 Likewise.
2127 * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
2128 Likewise.
2129 * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
2130 Likewise.
2131 * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
2132 Likewise.
2133 * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
2134 Likewise.
2135 * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
2136 Likewise.
2137 * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
2138 Likewise.
2139 * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
2140 Likewise.
2141 * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
2142 Likewise.
2143 * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
2144 Likewise.
2145 * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
2146 Likewise.
2147 * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
2148 Likewise.
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:
2152 Likewise.
2153 * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
2154 Likewise.
2155 * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
2156 Likewise.
2157 * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
2158 Likewise.
2159 * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
2160 Likewise.
2161 * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
2162 Likewise.
2163 * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
2164 Likewise.
2165 * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
2166 Likewise.
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:
2178 Likewise.
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:
2188 Likewise.
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:
2200 Likewise.
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:
2211 Likewise.
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:
2220 Likewise.
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:
2226 Likewise.
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:
2230 Likewise.
2231 * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
2232 Likewise.
2233 * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
2234 Likewise.
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:
2247 Likewise.
2248 * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
2249 Likewise.
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:
2258 Likewise.
2259 * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
2260 Likewise.
2261 * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
2262 Likewise.
2263 * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
2264 Likewise.
2265 * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
2266 Likewise.
2267 * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
2268 Likewise.
2269 * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
2270 Likewise.
2271 * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
2272 Likewise.
2273 * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
2274 Likewise.
2275 * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
2276 Likewise.
2277 * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
2278 Likewise.
2279 * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
2280 Likewise.
2281 * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
2282 Likewise.
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:
2300 Likewise.
2301 * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
2302 Likewise.
2303 * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
2304 Likewise.
2305 * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
2306 Likewise.
2307 * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
2308 Likewise.
2309 * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
2310 Likewise.
2311 * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
2312 Likewise.
2313 * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
2314 Likewise.
2315 * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
2316 Likewise.
2317 * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
2318 Likewise.
2319 * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
2320 Likewise.
2321 * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
2322 Likewise.
2323 * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
2324 Likewise.
2325 * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
2326 Likewise.
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:
2347 Likewise.
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:
2351 Likewise.
2352 * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
2353 Likewise.
2354 * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
2355 Likewise.
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:
2383 Likewise.
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:
2395 Likewise.
2396
2397 2016-09-11 Jonathan Wakely <jwakely@redhat.com>
2398
2399 * libsupc++/new_opant.cc: Include exception_defines.h.
2400 * libsupc++/new_opvant.cc: Likewise.
2401
2402 2016-09-09 Jason Merrill <jason@redhat.com>
2403
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,
2408 _aligned_malloc.
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.
2420
2421 2016-09-05 Tim Shen <timshen@google.com>
2422
2423 * include/std/variant: include bits/move.h for std::addressof.
2424
2425 2016-09-05 Mikhail Strelnikov <mikhail.strelnikov@gmail.com>
2426
2427 * include/std/variant (_Variant_storage::_M_storage()): Use
2428 std::addressof instead of operator& to take address.
2429
2430 2016-09-02 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
2431
2432 * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
2433 setrlimit on both native and cross targets.
2434 * configure: Regenerate.
2435
2436 2016-08-31 Jonathan Wakely <jwakely@redhat.com>
2437
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
2442 _Assignable.
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
2447 _Assignable.
2448 (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
2449 (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
2450 _Convertible.
2451 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
2452 match on any line.
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.
2458
2459 * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
2460 comparison object.
2461 * testsuite/23_containers/set/move_comparison.cc: New test.
2462
2463 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
2464 New test.
2465
2466 2016-08-30 Ville Voutilainen <ville.voutilainen@gmail.com>
2467
2468 PR libstdc++/77395
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:
2475 Likewise.
2476 * testsuite/20_util/tuple/77395.cc: New.
2477
2478 2016-08-30 Uros Bizjak <ubizjak@gmail.com>
2479
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.
2487
2488 2016-08-27 Tim Shen <timshen@google.com>
2489
2490 PR libstdc++/77356
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.
2498
2499 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
2500
2501 PR libstdc++/51960
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.
2507
2508 * testsuite/*: Use { target c++11 } or { target c++14 } instead of
2509 using -std in dg-options.
2510
2511 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
2512 Pedro Alves <palves@redhat.com>
2513
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.
2519
2520 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
2521
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
2531 default argument.
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.
2536
2537 2016-08-24 Aditya Kumar <hiraditya@msn.com>
2538
2539 * include/bits/algorithmfwd.h: Remove trailing whitespace.
2540 * include/bits/shared_ptr_base.h: Likewise.
2541
2542 2016-08-23 Jonathan Wakely <jwakely@redhat.com>
2543
2544 * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
2545 * include/profile/array (array): Likewise.
2546 (array::swap): Fix exception specification for zero-sized arrays.
2547
2548 PR libstdc++/77334
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.
2552
2553 * doc/xml/manual/using.xml: Remove reference to -pthreads option.
2554 * doc/html/*: Regenerate.
2555
2556 * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
2557 * testsuite/experimental/feat-lib-fund.cc: Likewise.
2558
2559 PR libstdc++/71771
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
2565 -std=gnu++98.
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.
2574
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):
2580 Likewise.
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.
2593
2594 2016-08-22 Tim Shen <timshen@google.com>
2595
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.
2604
2605 2016-08-22 Gleb Natapov <gleb@scylladb.com>
2606
2607 PR libstdc++/68297
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
2624 friend declaration.
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.
2631
2632 2016-08-22 Jonathan Wakely <jwakely@redhat.com>
2633
2634 * doc/xml/api.xml: Replace hardcoded links for specific versions with
2635 link to docs for all releases.
2636 * doc/html/*: Regenerate.
2637
2638 PR libstdc++/77322
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.
2643
2644 2016-08-19 Jonathan Wakely <jwakely@redhat.com>
2645
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:
2665 Likewise.
2666 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
2667 * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
2668 Likewise.
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.
2688
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
2692 semantics.
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.
2697
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.
2704
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
2708 C++17 mode.
2709 * testsuite/experimental/tuple/tuple_size.cc: Likewise.
2710 * testsuite/experimental/type_traits/value.cc: Likewise.
2711
2712 * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
2713 and variant.
2714 * doc/html/*: Regenerate.
2715
2716 2016-08-18 Ville Voutilainen <ville.voutilainen@gmail.com>
2717
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
2732 constraints.
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.
2740
2741 2016-08-18 Tim Shen <timshen@google.com>
2742
2743 Implement <variant>
2744
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.
2754
2755 2016-08-18 Jonathan Wakely <jwakely@redhat.com>
2756
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.
2761
2762 * doc/xml/manual/test.xml: Improve documentation of test targets.
2763 Document new-abi-baseline, check-debug, and check-parallel targets.
2764
2765 * doc/xml/manual/build_hacking.xml: New section on shared library
2766 versioning.
2767
2768 * doc/xml/manual/build_hacking.xml: Improve markup.
2769 * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
2770 to "Testing".
2771 * doc/xml/faq.xml: Change link text to "Testing".
2772
2773 * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
2774 dg-options directive.
2775
2776 2016-08-17 Jonathan Wakely <jwakely@redhat.com>
2777
2778 * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
2779 directive and use effective target instead of dg-options.
2780
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.
2793
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.
2797
2798 * testsuite/26_numerics/complex/literals/types.cc: Add comment.
2799
2800 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
2801 Remove duplicate dg-options directive.
2802
2803 * testsuite/ext/profile/all.cc: Use effective target instead of
2804 -std=gnu++11. Use dg-additional-options instead of repeating options.
2805
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.
2809
2810 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
2811 test for C++17.
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
2815 C++17.
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.
2827
2828 * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
2829 expected signatures for C++14 compatibility.
2830
2831 PR libstdc++/77264
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)):
2843 Use _If_sv.
2844 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
2845 SFINAE constraints.
2846 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
2847 Likewise.
2848 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
2849 Likewise.
2850 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
2851 Likewise.
2852 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
2853 Likewise.
2854 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
2855 Likewise.
2856 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
2857 Likewise.
2858 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
2859 Likewise.
2860 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
2861 Likewise.
2862 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
2863 Likewise.
2864 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
2865 Likewise.
2866
2867 2016-08-16 Jonathan Wakely <jwakely@redhat.com>
2868
2869 PR libstdc++/72847
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.
2878
2879 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
2880
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&&...)):
2885 Likewise.
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
2891 emplace.
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.
2897
2898 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
2899
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.
2905
2906 2016-08-15 Uros Bizjak <ubizjak@gmail.com>
2907
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.
2913
2914 2016-08-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
2915
2916 PR libstdc++/72840
2917 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
2918 syntax.
2919
2920 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
2921
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.
2925
2926 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
2927
2928 Implement LWG 2758.
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)):
2936 Likewise.
2937 (compare(size_type, size_type,__sv_type, size_type, size_type)):
2938 Likewise.
2939 * testsuite/21_strings/basic_string/lwg2758.cc: New.
2940
2941 2016-08-06 Jonathan Wakely <jwakely@redhat.com>
2942
2943 * doc/xml/manual/status_cxx2017.xml: Update status table.
2944 * doc/html/manual/status.html: Regenerate.
2945
2946 * testsuite/lib/libstdc++.exp: Fix typo in comment.
2947
2948 PR libstdc++/72820
2949 * include/std/functional (_Function_base::_Base_manager::_M_clone):
2950 Qualify new operator.
2951 * testsuite/20_util/function/cons/72820.cc: New test.
2952
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
2962 new header.
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
2967 lineno.
2968
2969 2016-08-05 Jonathan Wakely <jwakely@redhat.com>
2970
2971 * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
2972 * doc/html/manual/status.html: Regenerate.
2973
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
2980 dg-error lineno.
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.
2984
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.
2991
2992 2016-08-04 Jonathan Wakely <jwakely@redhat.com>
2993
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
3010 test.
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:
3018 New test.
3019 * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
3020 New test.
3021 * testsuite/20_util/is_nothrow_callable/value.cc: New test.
3022 * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
3023
3024 * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
3025 * doc/html/manual/status.html: Regenerate.
3026
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:
3030 New test.
3031
3032 * include/std/functional (_Unwrap): Rename to __inv_unwrap.
3033 (__invfwd): Adjust.
3034 (__invoke_impl): Remove unused template parameters.
3035 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
3036 parameter.
3037 * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
3038 and test __invoke extension for C++11.
3039
3040 2016-08-03 Jonathan Wakely <jwakely@redhat.com>
3041
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
3045 for the macro.
3046
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.
3052
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.
3056
3057 * include/bits/shared_ptr.h (owner_less): Add default template
3058 argument.
3059 * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
3060 specialization.
3061 (owner_less<void>): Define specialization.
3062 * include/bits/stl_function.h (__cpp_lib_transparent_operators):
3063 Update value.
3064 * testsuite/20_util/owner_less/void.cc: New test.
3065 * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
3066
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.
3073
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.
3078
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
3081 true.
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.
3100
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
3106 line number.
3107 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
3108 Likewise.
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:
3120 Likewise.
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
3125 tests.
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:
3130 Likewise.
3131
3132 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
3133
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:
3137 Likewise.
3138 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
3139 Likewise.
3140 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
3141 Likewise.
3142 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
3143 Likewise.
3144 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
3145 Likewise.
3146 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
3147 Likewise.
3148
3149 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
3150 comments.
3151
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:
3155 Likewise.
3156 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
3157
3158 * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
3159
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.
3163
3164 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
3165 check_value.cc: Do not add special functions to namespace std in TR1
3166 test.
3167
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:
3171 Likewise.
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:
3177 Likewise.
3178 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
3179 Likewise.
3180 * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
3181 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
3182 Likewise.
3183 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
3184 Likewise.
3185 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
3186 Likewise.
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:
3195 Likewise.
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:
3200 Likewise.
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:
3205 Likewise.
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:
3210 Likewise.
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:
3216 Likewise.
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:
3221 Likewise.
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:
3258 Likewise.
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:
3267 Likewise.
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.
3274
3275 * testsuite/tr1/5_numerical_facilities/special_functions/
3276 08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
3277 of [[gnu::unused]].
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.
3288
3289 2016-08-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3290
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.
3297
3298 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
3299
3300 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
3301 test if -flto used.
3302
3303 * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
3304 additional flags for compiling libtestc++.a objects.
3305
3306 2016-08-01 Jonathan Wakely <jwakely@redhat.com>
3307
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.
3312
3313 * include/bits/basic_string.tcc: Disable explicit instantiation
3314 declarations for C++17.
3315
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:
3319 Likewise.
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.
3326
3327 * testsuite/backward/hash_set/check_construct_destroy.cc: Account
3328 for different construct/destroy counts in C++98 mode.
3329
3330 * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
3331
3332 * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
3333 later.
3334 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
3335 Likewise.
3336
3337 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
3338 C++98-compatible initialization for array.
3339
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:
3346 Likewise.
3347
3348 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
3349 Remove duplicate dg-options directive.
3350
3351 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
3352 808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
3353
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:
3357 Likewise.
3358
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.
3363
3364 2016-08-01 Uros Bizjak <ubizjak@gmail.com>
3365
3366 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
3367
3368 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
3369
3370 * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
3371 compile-only test.
3372
3373 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
3374 Ensure test is compiled with optimization.
3375
3376 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
3377 Adjust dg-prune-output pattern for error in C++98 mode.
3378
3379 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
3380 run for C++11 or later.
3381
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.
3385
3386 * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
3387 c++11 instead of setting -std=gnu++14.
3388
3389 PR libstdc++/72745
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.
3395
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:
3399 Likewise.
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:
3409 Likewise.
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.
3414
3415 2016-07-31 Ville Voutilainen <ville.voutilainen@gmail.com>
3416
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):
3420 Likewise.
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:
3429 Likewise.
3430 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
3431 * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
3432 New.
3433
3434 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
3435
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:
3445 Likewise.
3446 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
3447 Likewise.
3448
3449 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
3450
3451 2016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
3452
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:
3488 Likewise.
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.
3492
3493 2016-07-29 Andreas Schwab <schwab@linux-m68k.org>
3494
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.
3498
3499 2016-07-29 Jonathan Wakely <jwakely@redhat.com>
3500
3501 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
3502 * doc/html/manual/abi.html: Regenerate.
3503
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
3506 symbols.
3507 * configure: Regenerate.
3508 * testsuite/util/testsuite_abi.cc: Add new symbol version.
3509
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:
3514 Likewise.
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.
3518
3519 2016-07-28 Jonathan Wakely <jwakely@redhat.com>
3520
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:
3528 Likewise.
3529 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
3530 Likewise.
3531 * testsuite/23_containers/list/requirements/dr438/
3532 constructor_1_neg.cc: Likewise.
3533 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
3534 Likewise.
3535 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
3536 Likewise.
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:
3542 Likewise.
3543
3544 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
3545 for different construct/destroy counts in C++98 mode.
3546
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:
3550 Likewise.
3551 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
3552 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
3553 Likewise.
3554 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
3555 Use dg-additional-options instead of repeating the common options.
3556
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
3560 dg-do directive.
3561 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
3562
3563 2016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
3564
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.
3571 (__sv_type): New.
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)):
3584 Likewise.
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)):
3595 Likewise.
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:
3601 Likewise.
3602 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
3603 Likewise.
3604 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
3605 Likewise.
3606 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
3607 Likewise.
3608 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
3609 Likewise.
3610 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
3611 Likewise.
3612 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
3613 Likewise.
3614 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
3615 Likewise.
3616 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
3617 Likewise.
3618 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
3619 Likewise.
3620 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
3621 Likewise.
3622 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
3623 Likewise.
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:
3634 Likewise.
3635 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
3636 Likewise.
3637 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
3638 Likewise.
3639 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
3640 Likewise.
3641 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
3642 Likewise.
3643 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
3644 Likewise.
3645 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
3646 Likewise.
3647 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
3648 Likewise.
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:
3654 Likewise.
3655 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
3656 Likewise.
3657 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
3658 Likewise.
3659 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
3660 Likewise.
3661 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
3662 Likewise.
3663 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
3664 Likewise.
3665 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
3666 Likewise.
3667 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
3668 Likewise.
3669 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
3670 Likewise.
3671 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
3672 Likewise.
3673 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
3674 Likewise.
3675 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
3676 Likewise.
3677 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
3678 Likewise.
3679 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
3680 Likewise.
3681 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
3682 Likewise.
3683 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
3684 Likewise.
3685 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
3686 Likewise.
3687 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
3688 Likewise.
3689 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
3690 Likewise.
3691 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
3692 Likewise.
3693 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
3694 Likewise.
3695 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
3696 Likewise.
3697 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
3698 Likewise.
3699 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
3700 Likewise.
3701 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
3702 Likewise.
3703 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
3704 Likewise.
3705 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
3706 Likewise.
3707 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
3708 Likewise.
3709 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
3710 Likewise.
3711 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
3712 Likewise.
3713 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
3714 Likewise.
3715 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
3716 Likewise.
3717 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
3718 Likewise.
3719 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
3720 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
3721 Likewise.
3722 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
3723 Likewise.
3724 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
3725 Likewise.
3726 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
3727 Likewise.
3728 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
3729 Likewise.
3730 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
3731 Likewise.
3732 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
3733 Likewise.
3734 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
3735 Likewise.
3736 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
3737 Likewise.
3738 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
3739 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
3740
3741 2016-07-27 Jonathan Wakely <jwakely@redhat.com>
3742
3743 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
3744
3745 2016-07-25 Georeth Chow <georeth2010@gmail.com>
3746
3747 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
3748 _S_concat enumerator.
3749 * testsuite/ext/rope/6.cc: New test.
3750
3751 2016-07-25 Jonathan Wakely <jwakely@redhat.com>
3752
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.
3756
3757 2016-07-22 Jonathan Wakely <jwakely@redhat.com>
3758
3759 PR libstdc++/71964
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.
3765
3766 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
3767 delete[] instead of delete.
3768
3769 2016-07-21 Jonathan Wakely <jwakely@redhat.com>
3770
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.
3774
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.
3780
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:
3784 Likewise.
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.
3790
3791 * testsuite/24_iterators/container_access.cc: Fix missing returns.
3792 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
3793
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:
3799 Likewise.
3800
3801 2016-07-20 Jonathan Wakely <jwakely@redhat.com>
3802
3803 * doc/xml/manual/intro.xml: Document DR 2684 status.
3804 * doc/html/*: Regenerate.
3805
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
3810 lines.
3811 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
3812 the new types.
3813 * doc/xml/manual/intro.xml: Document DR 2441 status.
3814
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.
3819
3820 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
3821 static objects for catching nullptr as pointer to member types.
3822
3823 2016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
3824
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.
3829
3830 2016-07-15 Jonathan Wakely <jwakely@redhat.com>
3831
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
3838 comment.
3839 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
3840 * testsuite/util/thread/all.h: Likewise.
3841
3842 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
3843 and adjust comment.
3844
3845 PR c++/58796
3846 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
3847 nullptr match handlers of pointer type.
3848
3849 2016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
3850
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/
3858 1.cc: New test.
3859 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
3860 pod.cc: New test.
3861
3862 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
3863
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.
3870
3871 2016-07-14 Jonathan Wakely <jwakely@redhat.com>
3872
3873 * include/experimental/functional: Include <parallel/algorithm> in
3874 Parallel Mode.
3875
3876 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
3877 for std::search.
3878
3879 PR libstdc++/70716
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):
3891 Likewise.
3892 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
3893 Likewise.
3894
3895 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
3896
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
3900 initialize _M_ptr.
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&&...)):
3908 Likewise.
3909 (~any()): Adjust.
3910 (operator=(const any&)): Likewise.
3911 (operator=(any&&)): Likewise.
3912 (operator=(_ValueType&&)): Constrain.
3913 (emplace(_Args&&...)): New.
3914 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
3915 (clear()): Remove.
3916 (reset()): New.
3917 (swap(any&)): Adjust.
3918 (empty()): Remove.
3919 (has_value()): New.
3920 (type()): 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.
3928 (has_value()): New.
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.
3953
3954 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
3955
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.
3994
3995 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
3996
3997 PR libstdc++/71856
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.
4012
4013 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
4014 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
4015 Forward to different overload.
4016
4017 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
4018 static.
4019
4020 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
4021
4022 Revert "Add non-const overload of std::string::data()".
4023
4024 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
4025
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.
4064
4065 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
4066
4067 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
4068 New function.
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&)):
4072 Likewise.
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)):
4078 Likewise.
4079 (replace(size_type, size_type, const basic_string&, size_type,
4080 size_type)): Likewise.
4081 (replace(__const_iterator, __const_iterator, const basic_string&)):
4082 Likewise.
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
4090 _S_assign.
4091 (find(const _CharT*, size_type, size_type)): Use data instead of
4092 _M_data().
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.
4096
4097 2016-07-12 Jonathan Wakely <jwakely@redhat.com>
4098
4099 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
4100 * doc/xml/manual/intro.xml: Document DR 2458 status.
4101 * doc/html*: Regenerate.
4102
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:
4107 Likewise.
4108 * doc/xml/manual/intro.xml: Document LWG 2212 support.
4109 * doc/html*: Regenerate.
4110
4111 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
4112 Add testcase from LWG 2164.
4113
4114 2016-07-11 François Dumont <fdumont@gcc.gnu.org>
4115
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.
4129
4130 2016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
4131
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.
4180
4181 2016-07-08 Jonathan Wakely <jwakely@redhat.com>
4182
4183 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
4184
4185 2016-07-07 Jonathan Wakely <jwakely@redhat.com>
4186
4187 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
4188 * doc/html/*: Regenerate.
4189
4190 2016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
4191
4192 Implement std::any.
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.
4210
4211 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
4212
4213 Add a new header for diagnosing the use of C++17 facilities
4214 in pre-C++17 modes.
4215 * include/bits/c++17_warning.h: New.
4216
4217 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
4218
4219 Implement LWG 2451, optional<T> should 'forward' T's
4220 implicit conversions.
4221 * include/experimental/optional (__is_optional_impl, __is_optional):
4222 New.
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.
4231
4232 2016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
4233
4234 Implement LWG 2509,
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.
4242
4243 2016-07-04 François Dumont <fdumont@gcc.gnu.org>
4244
4245 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
4246 New test.
4247 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
4248 test.
4249
4250 2016-07-04 Jonathan Wakely <jwakely@redhat.com>
4251
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
4270 using allocator.
4271 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
4272
4273 2016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
4274
4275 PR libstdc++/71313
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:
4279 Adjust.
4280
4281 2016-07-02 François Dumont <fdumont@gcc.gnu.org>
4282
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.
4289
4290 2016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
4291
4292 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
4293 than specific target.
4294
4295 2016-06-27 François Dumont <fdumont@gcc.gnu.org>
4296
4297 PR libstdc++/71640
4298 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
4299 friend declaration.
4300
4301 2016-06-23 François Dumont <fdumont@gcc.gnu.org>
4302
4303 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
4304 zero-size array.
4305
4306 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
4307
4308 * configure.host: Remove mep-* support.
4309
4310 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
4311
4312 * configure: Regenerate.
4313 * configure.host: Remove support for knetbsd.
4314 * crossconfig.m4: Likewise.
4315
4316 2016-06-20 François Dumont <fdumont@gcc.gnu.org>
4317
4318 PR libstdc++/71181
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
4328 being now useless.
4329 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
4330 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
4331 (test02): New.
4332 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
4333 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
4334 Fix indentation.
4335
4336 2016-06-17 Jonathan Wakely <jwakely@redhat.com>
4337
4338 PR libstdc++/71545
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.
4349
4350 2016-06-16 François Dumont <fdumont@gcc.gnu.org>
4351
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.
4370
4371 2016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
4372
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:
4388 Likewise.
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:
4397 New.
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:
4403 New.
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:
4417 Likewise.
4418
4419 2016-06-16 Jonathan Wakely <jwakely@redhat.com>
4420
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.
4446
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
4452 test.
4453
4454 2016-06-15 François Dumont <fdumont@gcc.gnu.org>
4455
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):
4463 Likewise.
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)):
4469 Likewise.
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.
4477
4478 2016-06-07 François Dumont <fdumont@gcc.gnu.org>
4479
4480 * include/std/tuple (_Head_base<>): Default specialization condition at
4481 type declaration.
4482
4483 2016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
4484
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.
4490
4491 2016-06-06 Jonathan Wakely <jwakely@redhat.com>
4492
4493 PR libstdc++/71320
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
4497 test.
4498
4499 2016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
4500
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.
4507
4508 2016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
4509
4510 * doc/xml/manual/backwards_compatibility.xml: Adjust
4511 lists.debian.org link to https.
4512 * doc/html/manual/backwards.html: Regenerate.
4513
4514 2016-05-27 Jonathan Wakely <jwakely@redhat.com>
4515
4516 * doc/xml/manual/abi.xml: Adjust URL to use https.
4517 * doc/html/manual/*: Regenerate.
4518
4519 2016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
4520
4521 PR libstdc++/66338
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.
4533
4534 2016-05-25 Jonathan Wakely <jwakely@redhat.com>
4535
4536 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
4537 * configure: Regenerate.
4538 * config.h.in: Regenerate.
4539
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.
4546
4547 2016-05-24 François Dumont <fdumont@gcc.gnu.org>
4548
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.
4554 (__clp2): 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
4558 or not.
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:
4562 Likewise.
4563 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
4564 Likewise.
4565 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
4566 Likewise.
4567 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
4568 Likewise.
4569 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
4570 New.
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.
4574
4575 2016-05-24 Jonathan Wakely <jwakely@redhat.com>
4576
4577 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
4578
4579 2016-05-23 François Dumont <fdumont@gcc.gnu.org>
4580
4581 * include/debug/safe_iterator.h
4582 (_Safe_iterator<>::operator->()): Implement using underlying iterator
4583 operator ->.
4584 * include/debug/safe_local_iterator.h
4585 (_Safe_local_iterator<>::operator->()): Likewise.
4586
4587 2016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
4588
4589 * testsuite/experimental/memory_resource/1.cc: Add required argument
4590 to dg-require-atomic-builtins.
4591
4592 2016-05-13 Jonathan Wakely <jwakely@redhat.com>
4593
4594 PR libstdc++/71073
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.
4605
4606 2016-05-12 Jonathan Wakely <jwakely@redhat.com>
4607
4608 PR libstdc++/71081
4609 * testsuite/experimental/memory_resource/1.cc: Require atomics.
4610
4611 2016-05-11 Jonathan Wakely <jwakely@redhat.com>
4612
4613 PR libstdc++/71049
4614 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
4615 exception constructors with __sso_string parameters.
4616
4617 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
4618
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.
4624
4625 PR libstdc++/71038
4626 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
4627 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
4628
4629 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
4630 Overload operator* to move from rvalues.
4631
4632 PR libstdc++/71036
4633 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
4634 * testsuite/experimental/filesystem/operations/create_directory.cc:
4635 New test.
4636
4637 PR libstdc++/71037
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.
4642
4643 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
4644 using declaration.
4645
4646 PR libstdc++/71005
4647 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
4648 New type.
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.
4655
4656 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
4657
4658 PR libstdc++/71004
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.
4662
4663 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
4664
4665 Avoid endless run-time recursion for copying single-element
4666 tuples where the element type is by-value constructible
4667 from any type.
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.
4671
4672 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
4673
4674 PR libstdc++/71004
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.
4679
4680 2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4681
4682 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
4683
4684 2016-05-05 Jonathan Wakely <jwakely@redhat.com>
4685
4686 * testsuite/experimental/filesystem/path/native/string.cc: Add
4687 dg-require-filesystem-ts directive.
4688
4689 2016-05-04 Jonathan Wakely <jwakely@redhat.com>
4690
4691 PR libstdc++/70940
4692 * include/experimental/memory_resource
4693 (__resource_adaptor_imp::do_allocate): Do not default-construct
4694 rebound allocator.
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
4702 move to ...
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.
4706
4707 2016-04-29 Chris Gregory <czipperz@gmail.com>
4708
4709 * config/*: Remove trailing whitespace.
4710 * src/*: Likewise.
4711 * testsuite/tr1/*: Likewise.
4712 * testsuite/util/*: Likewise.
4713
4714 2016-04-28 Jonathan Wakely <jwakely@redhat.com>
4715
4716 PR libstdc++/70766
4717 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
4718 __addressof.
4719 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
4720 Likewise.
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.
4728
4729 * include/bits/hashtable_policy.h (__detail::_Insert_base,
4730 __detail::_Insert): Improve comments.
4731
4732 2016-04-27 Jonathan Wakely <jwakely@redhat.com>
4733
4734 PR libstdc++/70767
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.
4738
4739 2016-04-24 Jonathan Wakely <jwakely@redhat.com>
4740
4741 PR libstdc++/70762
4742 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
4743 static counter to return a different path on every call.
4744
4745 2016-04-22 Tim Shen <timshen@google.com>
4746
4747 PR libstdc++/70745
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.
4751
4752 2016-04-20 Jonathan Wakely <jwakely@redhat.com>
4753
4754 PR libstdc++/69703
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.
4757
4758 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
4759
4760 PR libstdc++/69703
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.
4767
4768 PR libstdc++/70609
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
4772 is empty.
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().
4776
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.
4782
4783 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
4784
4785 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
4786
4787 2016-04-18 Jonathan Wakely <jwakely@redhat.com>
4788
4789 PR libstdc++/41759
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
4795 patterns.
4796
4797 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
4798
4799 * config/cpu/sh/atomicity.h: Fix typo in comment.
4800
4801 PR libstdc++/70294
4802 * include/std/thread (operator<, operator==): Move definitions to
4803 namespace-scope.
4804 * testsuite/30_threads/thread/id/70294.cc: New test.
4805
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
4810 to dg-options.
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
4816 semi-colon.
4817 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
4818 dg-options.
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
4828 __int128 types.
4829
4830 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
4831 internal header.
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.
4836
4837 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
4838 unused parameter.
4839 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
4840
4841 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
4842 warnings.
4843
4844 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
4845
4846 * include/bits/specfun.h: Trivial comment misspelling.
4847
4848 2016-04-14 Jason Merrill <jason@redhat.com>
4849
4850 Revert Jonathan's empty ABI change from yesterday.
4851
4852 2016-04-13 Martin Sebor <msebor@redhat.com>
4853
4854 PR c++/69517
4855 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
4856 upper bound is positive.
4857
4858 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
4859
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
4865 _M_emplace_hint.
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.
4887
4888 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
4889
4890 Document C++17/TR29124 C++ Special Math Functions.
4891 * include/bits/specfun.h: Add Doxygen markup.
4892
4893 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
4894
4895 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
4896
4897 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
4898
4899 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
4900 * src/Makefile.in: Regenerate.
4901
4902 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
4903
4904 PR libstdc++/70554
4905 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
4906 __atomic_fetch_add for bool.
4907 * configure: Regenerate.
4908
4909 * testsuite/30_threads/thread/70503.cc: Require -static to work.
4910
4911 PR libstdc++/70503
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.
4915
4916 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
4917
4918 PR libstdc++/70437
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.
4924
4925 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
4926
4927 PR libstdc++/69945
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.
4931
4932 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
4933
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.
4942
4943 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
4944
4945 PR libstdc++/69939
4946 * include/experimental/tuple (__apply_impl): Qualify get and forward.
4947
4948 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
4949
4950 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
4951 * doc/html/*: Regenerate.
4952
4953 PR libstdc++/69893
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]:
4961 Likewise.
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.
4965
4966 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
4967
4968 PR libstdc++/69881
4969 * include/c_global/cstdarg: Undefine __need___va_list.
4970 * include/c_global/cstddef: Undefine all kinds of __need_*.
4971
4972 2016-02-16 Tim Shen <timshen@google.com>
4973
4974 PR libstdc++/69794
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.
4979
4980 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
4981
4982 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
4983 added 'constexpr' in previous commit.
4984 * configure: Regenerate.
4985
4986 PR libstdc++/48891
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.
4991
4992 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
4993
4994 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
4995 New file. Copied over from s390-linux-gnu.
4996
4997 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
4998
4999 PR libstdc++/69626
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.
5005
5006 * doc/html/index.html: Regenerate.
5007
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.
5011
5012 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
5013
5014 PR libstdc++/69581
5015 * include/c_compatibility/math.h: Move header guards.
5016 * include/c_compatibility/stdlib.h: Likewise.
5017
5018 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
5019
5020 PR libstdc++/69506
5021 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
5022
5023 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
5024
5025 PR libstdc++/69450
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,
5032 respectively.
5033
5034 2016-01-27 Jakub Jelinek <jakub@redhat.com>
5035
5036 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
5037
5038 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
5039
5040 PR libstdc++/69295
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
5044 -ffp-contract=off.
5045
5046 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
5047
5048 PR libstdc++/69478
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>):
5052 Likewise.
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.
5057
5058 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
5059
5060 * include/c_compatibility/stdlib.h: Include wide character related
5061 definitions only when they are available in cstdlib.
5062
5063 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
5064
5065 PR libstdc++/69464
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
5080 header for vector.
5081 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
5082
5083 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
5084
5085 PR libstdc++/69446
5086 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
5087
5088 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
5089
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.
5115
5116 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
5117
5118 PR libstdc++/69116
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.
5122
5123 PR libstdc++/69413
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.
5129
5130 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
5131
5132 PR libstdc++/69406
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.
5142
5143 2016-01-20 Torvald Riegel <triegel@redhat.com>
5144
5145 PR libstdc++/69310
5146 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
5147
5148 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
5149
5150 PR libstdc++/60401
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.
5158
5159 PR libstdc++/69386
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.
5165
5166 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
5167
5168 PR libstdc++/14608
5169 PR libstdc++/60401
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.
5183
5184 2016-01-18 Torvald Riegel <triegel@redhat.com>
5185
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
5193 functions.
5194
5195 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
5196
5197 PR libstdc++/60637
5198 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
5199
5200 PR libstdc++/69243
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.
5205
5206 PR libstdc++/69340
5207 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
5208 Use macros for exception handling and fix unused parameter warning.
5209
5210 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
5211
5212 PR libstdc++/68734
5213 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
5214
5215 2016-01-17 Torvald Riegel <triegel@redhat.com>
5216
5217 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
5218
5219 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
5220
5221 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
5222 __int128 symbols.
5223
5224 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
5225
5226 PR libstdc++/69293
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.
5232
5233 PR libstdc++/69294
5234 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
5235 and isnan on AIX. Quote variables.
5236 * configure: Regenerate.
5237
5238 2016-01-15 Torvald Riegel <triegel@redhat.com>
5239
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
5248 transaction-safe.
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.
5262
5263 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
5264
5265 * include/ext/random.tcc: Use __builtin_isfinite instead of
5266 std::isfinite.
5267
5268 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
5269
5270 * include/bits/std_mutex.h: Fix Doxygen @file name.
5271
5272 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
5273 Jonathan Wakely <jwakely@redhat.com>
5274 Florian Goth <CaptainSifff@gmx.de>
5275
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.
5396
5397 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
5398
5399 PR libstdc++/48891
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.
5407
5408 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5409
5410 PR libstdc++/66006
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.
5416
5417 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
5418
5419 PR libstdc++/68877
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.
5431
5432 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
5433
5434 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
5435
5436 PR libstdc++/69005
5437 PR libstdc++/69222
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.
5444
5445 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
5446
5447 PR libstdc++/60976
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.
5452
5453 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
5454
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.
5463
5464 PR libstdc++/69190
5465 * include/bits/uses_allocator.h: Add missing include.
5466
5467 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
5468
5469 PR libstdc++/69105
5470 PR libstdc++/69106
5471 PR libstdc++/69114
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):
5476 Likewise.
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.
5481
5482 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
5483
5484 PR libstdc++/69092
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.
5488
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.
5494
5495 2016-01-04 Jakub Jelinek <jakub@redhat.com>
5496
5497 Update copyright years.
5498 \f
5499 Copyright (C) 2016 Free Software Foundation, Inc.
5500
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.