1 2016-09-14 Christophe Lyon <christophe.lyon@linaro.org>
3 * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
4 Move dg-do directive before dg-skip.
5 * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
6 Move dg-do directive before dg-require.
7 * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
8 * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
9 * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
10 * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
11 * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
12 * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
13 * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
14 * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
15 * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
16 * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
17 * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
18 * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
19 * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
20 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
21 * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
23 * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
24 * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
25 * testsuite/27_io/objects/char/12048-5.cc: Likewise.
26 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
27 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
29 2016-09-13 Ville Voutilainen <ville.voutilainen@gmail.com>
31 Implement P0040R3, Extending memory management tools.
32 * include/bits/stl_uninitialized.h (utility): New include
34 (uninitialized_default_construct): New.
35 (uninitialized_default_construct_n): Likewise.
36 (uninitialized_value_construct): Likewise.
37 (uninitialized_value_construct_n): Likewise.
38 (uninitialized_move): Likewise.
39 (uninitialized_move_n): Likewise.
40 (destroy_at, destroy, destroy_n): Likewise.
41 * testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc:
44 2016-09-12 Jason Merrill <jason@redhat.com>
46 * config/abi/pre/gnu.ver: Use [jmy] for size_t.
48 2016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
50 Implement P0253R1, Fixing a design mistake in the searchers
51 interface in Library Fundamentals.
52 * include/std/functional: (utility): New include in C++17 mode.
53 (default_searcher): Use a pair as return type, adjust the definition.
54 (boyer_moore_searcher): Likewise.
55 (boyer_moore_horspool_searcher): Likewise.
56 * testsuite/20_util/function_objects/searchers.cc: Adjust.
58 2016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
60 Implement C++17 string searchers.
61 * include/std/functional: (unordered_map, vector): New includes
63 (array, bits/stl_algo.h): Likewise.
64 (default_searcher, __boyer_moore_map_base): New.
65 (__boyer_moore_array_base, __is_std_equal_to): Likewise.
66 (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
67 (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
68 (make_boyer_moore_searcher): Likewise.
69 (make_boyer_moore_horspool_searcher): Likewise.
70 * testsuite/20_util/function_objects/searchers.cc: New.
72 2016-09-12 Matthew Wahab <matthew.wahab@arm.com>
74 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
75 Move dg-do directive before dg-require.
76 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
77 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
79 * testsuite/22_locale/codecvt/utf8.cc: Likewise.
80 * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
81 * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
82 * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
83 * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
84 * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
85 * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
86 * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
87 * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
88 * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
89 * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
90 * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
91 * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
93 * testsuite/23_containers/deque/debug/self_move_assign_neg.cc: Likewise.
94 * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
95 * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
96 * testsuite/23_containers/forward_list/debug/construct1_neg.cc: Likewise.
97 * testsuite/23_containers/forward_list/debug/construct2_neg.cc: Likewise.
98 * testsuite/23_containers/forward_list/debug/construct3_neg.cc: Likewise.
99 * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc: Likewise.
100 * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc: Likewise.
101 * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc: Likewise.
102 * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc: Likewise.
103 * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc: Likewise.
104 * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc: Likewise.
105 * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc: Likewise.
106 * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc: Likewise.
107 * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc: Likewise.
108 * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc: Likewise.
109 * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc: Likewise.
110 * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc: Likewise.
111 * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc: Likewise.
112 * testsuite/23_containers/forward_list/debug/iterator_self_move_assign_neg.cc:
114 * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
116 * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc: Likewise.
117 * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc: Likewise.
118 * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc: Likewise.
119 * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc: Likewise.
120 * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc: Likewise.
121 * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc: Likewise.
122 * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc: Likewise.
123 * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
124 * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
125 * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
126 * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
127 * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
128 * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
129 * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
130 * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
131 * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
132 * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
133 * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
135 * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
136 * testsuite/23_containers/map/debug/60499.cc: Likewise.
137 * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
138 * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
139 * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
140 * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
141 * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
142 * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
143 * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
145 * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
146 * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
147 * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
148 * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
149 * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
150 * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
151 * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
152 * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
153 * testsuite/23_containers/multimap/debug/iterator_self_move_assign_neg.cc:
155 * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc: Likewise.
156 * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
157 * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
158 * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
159 * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
160 * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
161 * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
162 * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
163 * testsuite/23_containers/multiset/debug/iterator_self_move_assign_neg.cc:
165 * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc: Likewise.
166 * testsuite/23_containers/set/debug/60499.cc: Likewise.
167 * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
168 * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
169 * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
170 * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
171 * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
172 * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
173 * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
175 * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
176 * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
177 * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
178 * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
179 * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc: Likewise.
180 * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
181 * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
182 * testsuite/23_containers/unordered_map/debug/construct1_neg.cc: Likewise.
183 * testsuite/23_containers/unordered_map/debug/construct2_neg.cc: Likewise.
184 * testsuite/23_containers/unordered_map/debug/construct3_neg.cc: Likewise.
185 * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
186 * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
187 * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
188 * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
189 * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
190 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_compare_neg.cc: Likewise.
191 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_range_neg.cc: Likewise.
192 * testsuite/23_containers/unordered_map/debug/iterator_self_move_assign_neg.cc:
194 * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
196 * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
198 * testsuite/23_containers/unordered_map/debug/use_erased_local_iterator_neg.cc:
200 * testsuite/23_containers/unordered_map/debug/use_invalid_iterator_neg.cc:
202 * testsuite/23_containers/unordered_map/debug/use_invalid_local_iterator_neg.cc:
204 * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
205 * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc: Likewise.
206 * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc: Likewise.
207 * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
209 * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc: Likewise.
210 * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc: Likewise.
211 * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
213 * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
215 * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
217 * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc: Likewise.
218 * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc: Likewise.
219 * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc: Likewise.
220 * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc: Likewise.
221 * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc: Likewise.
222 * testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_compare_neg.cc:
224 * testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_range_neg.cc:
226 * testsuite/23_containers/unordered_multimap/debug/iterator_self_move_assign_neg.cc:
228 * testsuite/23_containers/unordered_multimap/debug/max_load_factor_neg.cc:
230 * testsuite/23_containers/unordered_multimap/debug/self_move_assign_neg.cc:
232 * testsuite/23_containers/unordered_multimap/debug/use_erased_local_iterator_neg.cc:
234 * testsuite/23_containers/unordered_multimap/debug/use_invalid_iterator_neg.cc:
236 * testsuite/23_containers/unordered_multimap/debug/use_invalid_local_iterator_neg.cc:
238 * testsuite/23_containers/unordered_multiset/debug/60499.cc:
240 * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
242 * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
244 * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
246 * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
248 * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
250 * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
252 * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
254 * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
256 * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc: Likewise.
257 * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc: Likewise.
258 * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc: Likewise.
259 * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc: Likewise.
260 * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc: Likewise.
261 * testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_compare_neg.cc:
263 * testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_range_neg.cc:
265 * testsuite/23_containers/unordered_multiset/debug/iterator_self_move_assign_neg.cc:
267 * testsuite/23_containers/unordered_multiset/debug/max_load_factor_neg.cc:
269 * testsuite/23_containers/unordered_multiset/debug/self_move_assign_neg.cc:
271 * testsuite/23_containers/unordered_multiset/debug/use_erased_local_iterator_neg.cc:
273 * testsuite/23_containers/unordered_multiset/debug/use_invalid_iterator_neg.cc:
275 * testsuite/23_containers/unordered_multiset/debug/use_invalid_local_iterator_neg.cc:
277 * testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
278 * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
279 * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
280 * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc: Likewise.
281 * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
282 * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
283 * testsuite/23_containers/unordered_set/debug/construct1_neg.cc: Likewise.
284 * testsuite/23_containers/unordered_set/debug/construct2_neg.cc: Likewise.
285 * testsuite/23_containers/unordered_set/debug/construct3_neg.cc: Likewise.
286 * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
287 * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
288 * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
289 * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
290 * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
291 * testsuite/23_containers/unordered_set/debug/invalid_local_iterator_compare_neg.cc:
293 * testsuite/23_containers/unordered_set/debug/invalid_local_iterator_range_neg.cc:
295 * testsuite/23_containers/unordered_set/debug/iterator_self_move_assign_neg.cc:
297 * testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc:
299 * testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc:
301 * testsuite/23_containers/unordered_set/debug/use_erased_local_iterator_neg.cc:
303 * testsuite/23_containers/unordered_set/debug/use_invalid_iterator_neg.cc:
305 * testsuite/23_containers/unordered_set/debug/use_invalid_local_iterator_neg.cc:
307 * testsuite/23_containers/vector/debug/52433.cc: Likewise.
308 * testsuite/23_containers/vector/debug/60499.cc: Likewise.
309 * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
310 * testsuite/23_containers/vector/debug/iterator_self_move_assign_neg.cc:
312 * testsuite/23_containers/vector/debug/self_move_assign_neg.cc: Likewise.
313 * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
314 * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
315 * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
316 * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
317 * testsuite/29_atomics/atomic/60658.cc: Likewise.
318 * testsuite/29_atomics/atomic/60695.cc: Likewise.
319 * testsuite/29_atomics/atomic/62259.cc: Likewise.
320 * testsuite/29_atomics/atomic/64658.cc: Likewise.
321 * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
322 * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
323 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: Likewise.
325 2016-09-11 Jonathan Wakely <jwakely@redhat.com>
327 * libsupc++/new_opant.cc: Include exception_defines.h.
328 * libsupc++/new_opvant.cc: Likewise.
330 2016-09-09 Jason Merrill <jason@redhat.com>
332 Implement P0035R4, C++17 new of over-aligned types.
333 * libsupc++/new: Declare aligned new/delete operators.
334 * config/abi/pre/gnu.ver: Export them.
335 * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
337 * libsupc++/new_opa.cc: New.
338 * libsupc++/new_opant.cc: New.
339 * libsupc++/new_opva.cc: New.
340 * libsupc++/new_opva.cc: New.
341 * libsupc++/del_opa.cc: New.
342 * libsupc++/del_opant.cc: New.
343 * libsupc++/del_opsa.cc: New.
344 * libsupc++/del_opva.cc: New.
345 * libsupc++/del_opvant.cc: New.
346 * libsupc++/del_opvsa.cc: New.
347 * libsupc++/Makefile.am: Build them.
349 2016-09-05 Tim Shen <timshen@google.com>
351 * include/std/variant: include bits/move.h for std::addressof.
353 2016-09-05 Mikhail Strelnikov <mikhail.strelnikov@gmail.com>
355 * include/std/variant (_Variant_storage::_M_storage()): Use std::addressof
356 instead of operator& to take address.
358 2016-09-02 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
360 * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
361 setrlimit on both native and cross targets.
362 * configure: Regenerate.
364 2016-08-31 Jonathan Wakely <jwakely@redhat.com>
366 * include/bits/shared_ptr.h (_Assignable): New alias template.
367 (shared_ptr::operator=(const shared_ptr<_Tp1>&))
368 (shared_ptr::operator=(shared_ptr<_Tp1>&&))
369 (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
371 * include/bits/shared_ptr_base.h (_Assignable): New alias template.
372 (__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
373 (__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
374 (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
376 (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
377 (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
379 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
381 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
382 * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
383 * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
384 expected errors. Remove unnecessary code.
385 * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
387 * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
389 * testsuite/23_containers/set/move_comparison.cc: New test.
391 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
394 2016-08-30 Ville Voutilainen <ville.voutilainen@gmail.com>
397 * include/std/type_traits (is_constructible): Forward-declare...
398 (__is_base_to_derived_ref): ...and use here.
399 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
400 * testsuite/20_util/is_constructible/77395.cc: New.
401 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
402 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
404 * testsuite/20_util/tuple/77395.cc: New.
406 2016-08-30 Uros Bizjak <ubizjak@gmail.com>
408 * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
409 directive above dg-require-namedlocale directive.
410 * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
411 * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
412 * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
413 * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
414 * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
416 2016-08-27 Tim Shen <timshen@google.com>
419 * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
420 _M_expression_term): Modify to support dash literal.
421 * include/bits/regex_scanner.h: Add dash as a token type to make
422 a different from the mandated dash literal by escaping.
423 * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
424 token in bracket expression parsing.
425 * testsuite/28_regex/regression.cc: Add new testcases.
427 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
430 * doc/xml/manual/intro.xml: Document DR 2127 change.
431 * doc/html/*: Regenerate.
432 * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
433 (operator++(), operator++(int)): Use injected class name.
434 * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
436 * testsuite/*: Use { target c++11 } or { target c++14 } instead of
437 using -std in dg-options.
439 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
440 Pedro Alves <palves@redhat.com>
442 * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
443 and restore dg-interpreter-batch-mode.
444 * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
445 gdb-dg-runtest instead of dg-runtest.
446 * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
448 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
450 * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
451 precise patterns for basic_string constructors.
452 (GLIBCXX_3.4.23): Export new constructors.
453 * doc/xml/manual/intro.xml: Document LWG 2583 status.
454 * doc/html/*: Regenerate.
455 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
456 (basic_string(const basic_string&, size_type, const Alloc&)): Add
457 new constructor for LWG 2583.
458 (basic_string(const basic_string&, size_type, size_type)): Remove
460 [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
461 * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
462 * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
463 * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
465 2016-08-24 Aditya Kumar <hiraditya@msn.com>
467 * include/bits/algorithmfwd.h: Remove trailing whitespace.
468 * include/bits/shared_ptr_base.h: Likewise.
470 2016-08-23 Jonathan Wakely <jwakely@redhat.com>
472 * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
473 * include/profile/array (array): Likewise.
474 (array::swap): Fix exception specification for zero-sized arrays.
477 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
478 (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
479 * testsuite/23_containers/map/77334.cc: New test.
481 * doc/xml/manual/using.xml: Remove reference to -pthreads option.
482 * doc/html/*: Regenerate.
484 * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
485 * testsuite/experimental/feat-lib-fund.cc: Likewise.
488 * include/bits/stl_iterator.h
489 (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
490 define for C++98 mode.
491 (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
492 * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
494 * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
495 * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
496 * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
497 * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
499 * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
500 difference operator for C++98.
501 * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
503 * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
504 * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
505 (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
506 * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
507 (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
509 * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
510 _GLIBCXX14_CONSTEXPR.
511 (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
512 * include/std/array (array::begin, array::end, array::rbegin)
513 (array::rend, array::cbegin, array:cend, array::crbegin)
514 (array::crend, array::operator[], array::at, array::front)
515 (array::back, array::data): Likewise.
516 * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
517 with separate tests for C++11, C++14, and C++17.
518 * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
519 * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
520 * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
522 2016-08-22 Tim Shen <timshen@google.com>
524 Split _M_dfs() into smaller functions.
525 * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
526 (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
527 (_M_handle_line_end_assertion, _M_handle_word_boundary)
528 (_M_handle_subexpr_lookahead, _M_handle_match)
529 (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
530 Add separate function declarations.
531 * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
533 2016-08-22 Gleb Natapov <gleb@scylladb.com>
536 * config/abi/pre/gnu-versioned-namespace.ver: Export
537 __cxa_init_primary_exception and std::exception_ptr(void*).
538 * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
539 export __cxa_init_primary_exception and std::exception_ptr(void*).
540 * include/Makefile.am: Add new headers.
541 * include/Makefile.in: Regenerate.
542 * libsupc++/Makefile.am: Add new headers.
543 * libsupc++/Makefile.in: Regenerate.
544 * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
545 * libsupc++/cxxabi_init_exception.h: New header.
546 (__cxa_init_primary_exception): Declare.
547 * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
548 (__cxa_throw): Use __cxa_init_primary_exception.
549 * libsupc++/exception (std::exception): Move to ...
550 * libsupc++/exception.h: New header.
551 * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
553 (__exception_ptr::__dest_thunk): New function template.
554 (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
555 Use __cxa_allocate_exception and __cxa_init_primary_exception to
556 create exception_ptr.
557 * libsupc++/typeinfo: Include bits/exception.h instead of exception.
558 * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
560 2016-08-22 Jonathan Wakely <jwakely@redhat.com>
562 * doc/xml/api.xml: Replace hardcoded links for specific versions with
563 link to docs for all releases.
564 * doc/html/*: Regenerate.
567 * doc/xml/manual/intro.xml: Document DR 2062 change.
568 * include/std/functional (function::swap): Add noexcept.
569 (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
570 * testsuite/20_util/function/77322.cc: New test.
572 2016-08-19 Jonathan Wakely <jwakely@redhat.com>
574 * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
575 *-*-solaris* instead of -pthreads.
576 * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
577 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
578 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
579 * testsuite/23_containers/list/pthread1.cc: Likewise.
580 * testsuite/23_containers/list/pthread5.cc: Likewise.
581 * testsuite/23_containers/map/pthread6.cc: Likewise.
582 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
583 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
584 * testsuite/30_threads/shared_mutex/*: Likewise.
585 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
586 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
587 default_weaktoshared.cc: Likewise.
588 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
589 mutex_weaktoshared.cc: Likewise.
590 * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
591 dg-require-effective-target instead of using -std option.
592 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
594 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
595 * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
597 * testsuite/30_threads/async/*: Likewise.
598 * testsuite/30_threads/call_once/*: Likewise.
599 * testsuite/30_threads/condition_variable/*: Likewise.
600 * testsuite/30_threads/condition_variable_any/*: Likewise.
601 * testsuite/30_threads/future/*: Likewise.
602 * testsuite/30_threads/lock/*: Likewise.
603 * testsuite/30_threads/mutex/*: Likewise.
604 * testsuite/30_threads/packaged_task/*: Likewise.
605 * testsuite/30_threads/promise/*: Likewise.
606 * testsuite/30_threads/recursive_mutex/*: Likewise.
607 * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
608 * testsuite/30_threads/shared_future/*: Likewise.
609 * testsuite/30_threads/shared_lock/*: Likewise.
610 * testsuite/30_threads/shared_timed_mutex/*: Likewise.
611 * testsuite/30_threads/this_thread/*: Likewise.
612 * testsuite/30_threads/thread/*: Likewise.
613 * testsuite/30_threads/timed_mutex/*: Likewise.
614 * testsuite/30_threads/try_lock/*: Likewise.
615 * testsuite/30_threads/unique_lock/*: Likewise.
617 * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
618 * doc/html/*: Regenerate.
619 * include/experimental/functional (_Not_fn, not_fn): Match C++17
621 * include/std/functional (_Not_fn, not_fn): Define for C++17.
622 * testsuite/20_util/not_fn/1.cc: New.
623 * testsuite/experimental/functional/not_fn.cc: Test abstract class.
624 Remove test for volatile-qualified wrapper.
626 * include/std/atomic (atomic::is_always_lock_free): Define.
627 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
628 * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
629 * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
630 * doc/xml/manual/status_cxx2017.xml: Update status.
631 * doc/html/*: Regenerate.
633 * include/experimental/tuple (apply): Qualify call to __apply_impl.
634 * include/std/tuple (apply): Likewise.
635 * testsuite/experimental/system_error/value.cc: Fix ambiguities in
637 * testsuite/experimental/tuple/tuple_size.cc: Likewise.
638 * testsuite/experimental/type_traits/value.cc: Likewise.
640 * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
642 * doc/html/*: Regenerate.
644 2016-08-18 Ville Voutilainen <ville.voutilainen@gmail.com>
646 Implement the latest proposed resolution of LWG 2756.
647 * include/std/optional (Optional_base(const _Tp&))
648 (Optional_base(_Tp&&), using _Base::_Base): Remove.
649 (optional(nullopt_t)): New.
650 (optional(_Up&&)): Invoke base directly with in_place
651 rather than creating a temporary, add default template
652 argument, change constraints.
653 (optional(const optional<_Up>&)): Invoke base directly
654 with in_place, remove unnecessary constraints.
655 (optional(optional<_Up>&& __t)): Likewise.
656 (optional(in_place_t, _Args&&...)): New.
657 (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
658 (operator=(_Up&&)): Add default template argument, change constraints.
659 (operator=(const optional<_Up>&)): Put is_same first in the
661 (operator=(optional<_Up>&&)): Likewise.
662 * testsuite/20_util/optional/assignment/5.cc: Add a test to
663 verify assignment from something that can't be perfect-forwarded.
664 * testsuite/20_util/optional/cons/value.cc: Add tests to verify
665 that a nested optional is disengaged when constructed
666 from a disengaged element type, and to verify that assignments
667 from an engaged element type engage the optional.
669 2016-08-18 Tim Shen <timshen@google.com>
673 * include/Makefile.am: Add new file std/variant.
674 * include/Makefile.in: Generated from Makefile.am.
675 * include/bits/enable_special_members.h: Add a tag type to allow
676 the construction in non-default constructor.
677 * include/bits/uses_allocator.h: Add convenience traits to
678 detect constructibility.
679 * include/std/variant: Implement <variant>.
680 * testsuite/20_util/variant/compile.cc: Compile-time tests.
681 * testsuite/20_util/variant/run.cc: Runtime tests.
683 2016-08-18 Jonathan Wakely <jwakely@redhat.com>
685 * doc/xml/manual/test.xml (test.run.permutations): Expand section.
686 (test.new_tests): Rewrite section.
687 (tests.dg.directives): New section.
688 * doc/html/*: Regenerate.
690 * doc/xml/manual/test.xml: Improve documentation of test targets.
691 Document new-abi-baseline, check-debug, and check-parallel targets.
693 * doc/xml/manual/build_hacking.xml: New section on shared library
696 * doc/xml/manual/build_hacking.xml: Improve markup.
697 * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
699 * doc/xml/faq.xml: Change link text to "Testing".
701 * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
702 dg-options directive.
704 2016-08-17 Jonathan Wakely <jwakely@redhat.com>
706 * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
707 directive and use effective target instead of dg-options.
709 * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
710 instead of -std in dg-options.
711 * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
712 * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
713 * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
714 * testsuite/20_util/hash/quality.cc: Likewise.
715 * testsuite/25_algorithms/heap/moveable.cc: Likewise.
716 * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
717 * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
718 * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
719 * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
720 * testsuite/25_algorithms/sort/random_test.cc: Likewise.
722 * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
723 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
724 * testsuite/27_io/rvalue_streams.cc: Likewise.
726 * testsuite/26_numerics/complex/literals/types.cc: Add comment.
728 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
729 Remove duplicate dg-options directive.
731 * testsuite/ext/profile/all.cc: Use effective target instead of
732 -std=gnu++11. Use dg-additional-options instead of repeating options.
734 * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
735 -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
736 instead of dg-excess-errors.
738 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
740 * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
741 * testsuite/experimental/ratio/value.cc: Likewise.
742 * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
744 * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
745 * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
746 * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
747 * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
748 * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
749 * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
750 * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
751 * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
752 * testsuite/tr1/5_numerical_facilities/special_functions/
753 10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
756 * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
757 expected signatures for C++14 compatibility.
760 * include/bits/basic_string.h (operator=(__sv_type)
761 (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
762 (replace(size_type, size_type, __sv_type))
763 (replace(const_iterator, const_iterator, __sv_type))
764 (find(__sv_type, size_type), rfind(__sv_type, size_type))
765 (compare(size_type, size_type, __sv_type)): Reformat.
766 (_If_sv): Define helper for SFINAE constaints.
767 (append(const _Tp&, size_type, size_type))
768 (assign(const _Tp&, size_type, size_type))
769 (insert(size_type, const _Tp&, size_type, size_type))
770 (replace(size_type, size_type, const _Tp&, size_type, size_type)):
772 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
774 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
776 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
778 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
780 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
782 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
784 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
786 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
788 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
790 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
792 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
795 2016-08-16 Jonathan Wakely <jwakely@redhat.com>
798 * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
799 pointers to start and end of storage.
800 * testsuite/23_containers/vector/bool/72847.cc: New test.
801 * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
802 _M_finish after deallocating.
803 (vector<bool>::_M_fill_insert): Likewise.
804 (vector<bool>::_M_insert_range): Likewise.
805 (vector<bool>::_M_insert_aux): Likewise.
807 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
809 Implement LWG 2744 and LWG 2754.
810 * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
811 (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
812 (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
814 (emplace(_Args&&...)): Likewise.
815 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
816 * include/std/utility: (__is_in_place_type_impl): New.
817 (__is_in_place_type): Likewise.
818 * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
820 * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
821 in_place constructor.
822 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
823 * testsuite/20_util/any/requirements.cc: Add a test for
824 in_place-constructing a non-default-constructible type.
826 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
828 Add a feature macro for C++17 make_from_tuple.
829 * include/std/tuple (__cpp_lib_make_from_tuple): New.
830 (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
831 Qualify the call to get<>().
832 * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
834 2016-08-15 Uros Bizjak <ubizjak@gmail.com>
836 * src/filesystem/ops.cc: Always include ostream and
838 (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
839 [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
840 sendfile fails with ENOSYS or EINVAL.
842 2016-08-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
845 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
848 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
850 Implement C++17 make_from_tuple.
851 * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
852 * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
854 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
857 * include/bits/basic_string.h
858 (append(__sv_type, size_type, size_type)): Turn into a template,
859 change parameter type, constrain, add a conversion to __sv_type
860 from the dependent parameter type.
861 (assign(__sv_type, size_type, size_type)): Likewise.
862 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
863 (replace(size_type, size_type, __sv_type, size_type, size_type)):
865 (compare(size_type, size_type,__sv_type, size_type, size_type)):
867 * testsuite/21_strings/basic_string/lwg2758.cc: New.
869 2016-08-06 Jonathan Wakely <jwakely@redhat.com>
871 * doc/xml/manual/status_cxx2017.xml: Update status table.
872 * doc/html/manual/status.html: Regenerate.
874 * testsuite/lib/libstdc++.exp: Fix typo in comment.
877 * include/std/functional (_Function_base::_Base_manager::_M_clone):
878 Qualify new operator.
879 * testsuite/20_util/function/cons/72820.cc: New test.
881 * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
882 * doc/html/manual/status.html: Regenerate.
883 * include/Makefile.am: Add new header.
884 * include/Makefile.in: Regenerate.
885 * include/bits/invoke.h: New header.
886 (__invoke): Make constexpr. Add && to types in exception specification.
887 * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
888 names. Include <bits/invoke.h> and use std::__invoke.
889 * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
891 (invoke): Add && to types in exception specification.
892 * include/std/tuple (apply, __apply_impl): Define for C++17.
893 * testsuite/20_util/tuple/apply/1.cc: New test.
894 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
897 2016-08-05 Jonathan Wakely <jwakely@redhat.com>
899 * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
900 * doc/html/manual/status.html: Regenerate.
902 * include/std/chrono (floor, ceil, round, abs): New for C++17.
903 * testsuite/20_util/duration_cast/rounding.cc: New test.
904 * testsuite/20_util/time_point_cast/rounding.cc: New test.
905 * doc/xml/manual/status_cxx2017.xml: Update status table.
906 * doc/html/manual/status.html: Regenerate.
907 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
909 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
910 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
911 * testsuite/20_util/duration/literals/range.cc: Likewise.
913 * include/std/functional (__callable_functor): Remove.
914 (_Function_handler::_M_invoke): Use __invoke instead of
915 __callable_functor or mem_fn.
916 (function::_Callable): Use lvalue in result_of expression.
917 (function): Remove TODO comments about allocators.
918 * testsuite/20_util/function/cons/refqual.cc: New test.
920 2016-08-04 Jonathan Wakely <jwakely@redhat.com>
922 * doc/xml/manual/status_cxx2017.xml: Update status table.
923 * include/std/functional (__inv_unwrap): Move to <type_traits>.
924 (__invoke_impl): Remove exception specifications.
925 (__invoke, invoke): Add exception specifications using
926 __is_nothrow_callable.
927 * include/std/type_traits (__inv_unwrap): Move from <functional>.
928 (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
929 (__is_callable, __is_nothrow_callable): New traits.
930 (is_callable, is_callable_v): New C++17 traits.
931 (is_nothrow_callable, is_nothrow_callable_v): Likewise.
932 * testsuite/20_util/is_callable/requirements/
933 explicit_instantiation.cc: New test.
934 * testsuite/20_util/is_callable/requirements/
935 explicit_instantiation_ext.cc: New test.
936 * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
937 * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
939 * testsuite/20_util/is_callable/value.cc: New test.
940 * testsuite/20_util/is_callable/value_ext.cc: New test.
941 * testsuite/20_util/is_nothrow_callable/requirements/
942 explicit_instantiation.cc: New test.
943 * testsuite/20_util/is_nothrow_callable/requirements/
944 explicit_instantiation_ext.cc: New test.
945 * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
947 * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
949 * testsuite/20_util/is_nothrow_callable/value.cc: New test.
950 * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
952 * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
953 * doc/html/manual/status.html: Regenerate.
955 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
956 effective target not dg-options. Move check for feature-test macro to:
957 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
960 * include/std/functional (_Unwrap): Rename to __inv_unwrap.
962 (__invoke_impl): Remove unused template parameters.
963 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
965 * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
966 and test __invoke extension for C++11.
968 2016-08-03 Jonathan Wakely <jwakely@redhat.com>
970 * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
971 Define feature-test macro.
972 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
975 * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
976 * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
977 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
978 * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
979 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
981 * include/std/utility (as_const): Define.
982 * testsuite/20_util/as_const/1.cc: New test.
983 * testsuite/20_util/as_const/rvalue_neg.cc: New test.
985 * include/bits/shared_ptr.h (owner_less): Add default template
987 * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
989 (owner_less<void>): Define specialization.
990 * include/bits/stl_function.h (__cpp_lib_transparent_operators):
992 * testsuite/20_util/owner_less/void.cc: New test.
993 * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
995 * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
996 Define feature-test macro.
997 * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
998 * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
999 * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
1000 (__cpp_lib_type_trait_variable_templates): Define.
1002 * include/bits/stl_function.h: Remove commented-out macro.
1003 * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
1004 Define feature-test macro.
1005 * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
1007 * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
1008 C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
1010 * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
1011 do #error for C++17.
1012 * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
1013 of __STDCPP_WANT_MATH_SPEC_FUNCS__.
1014 * include/tr1/bessel_function.tcc: Likewise.
1015 * include/tr1/beta_function.tcc: Likewise.
1016 * include/tr1/cmath: Likewise.
1017 * include/tr1/ell_integral.tcc: Likewise.
1018 * include/tr1/exp_integral.tcc: Likewise.
1019 * include/tr1/gamma.tcc: Likewise.
1020 * include/tr1/hypergeometric.tcc: Likewise.
1021 * include/tr1/legendre_function.tcc: Likewise.
1022 * include/tr1/modified_bessel_func.tcc: Likewise.
1023 * include/tr1/poly_hermite.tcc: Likewise.
1024 * include/tr1/poly_laguerre.tcc: Likewise.
1025 * include/tr1/riemann_zeta.tcc: Likewise.
1026 * include/tr1/special_function_util.h: Likewise.
1027 * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
1029 * include/std/type_traits (has_trivial_default_constructor): Remove.
1030 (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
1031 * testsuite/20_util/has_trivial_copy_assign/requirements/
1032 explicit_instantiation.cc: Remove test.
1033 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1035 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
1037 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
1038 * testsuite/20_util/has_trivial_copy_constructor/requirements/
1039 explicit_instantiation.cc: Likewise.
1040 * testsuite/20_util/has_trivial_copy_constructor/requirements/
1041 typedefs.cc: Likewise.
1042 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
1043 * testsuite/20_util/has_trivial_default_constructor/requirements/
1044 explicit_instantiation.cc: Likewise.
1045 * testsuite/20_util/has_trivial_default_constructor/requirements/
1046 typedefs.cc: Likewise.
1047 * testsuite/20_util/has_trivial_default_constructor/value.cc:
1049 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
1050 Check has_trivial_default_constructor, has_trivial_copy_constructor,
1051 and has_trivial_copy_assign are not defined.
1052 * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
1054 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
1055 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
1056 dg-error line number.
1057 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1060 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
1062 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
1063 Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
1064 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
1066 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
1068 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
1070 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
1072 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
1074 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
1077 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
1080 * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
1081 dg-error to relevant line.
1082 * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
1084 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
1086 * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
1088 * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
1089 options are present that aren't valid for C.
1090 * testsuite/abi/header_cxxabi.c: Likewise.
1092 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
1093 check_value.cc: Do not add special functions to namespace std in TR1
1096 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
1097 run for C++11 and later.
1098 * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
1100 * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
1101 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
1102 * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
1103 * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
1104 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
1106 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
1108 * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
1109 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
1111 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
1113 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
1115 * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
1116 * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
1117 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
1118 * testsuite/special_functions/03_beta/check_value.cc: Likewise.
1119 * testsuite/special_functions/03_beta/compile.cc: Likewise.
1120 * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
1121 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
1122 * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
1124 * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
1125 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
1126 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
1127 * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
1129 * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
1130 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
1131 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
1132 * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
1134 * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
1135 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
1136 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
1137 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
1139 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
1140 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
1141 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
1142 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
1143 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
1145 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
1146 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
1147 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
1148 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
1150 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
1151 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
1152 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
1153 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
1154 * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
1155 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
1156 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
1157 * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
1158 * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
1159 * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
1160 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
1161 * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
1162 * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
1163 * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
1164 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
1165 * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
1166 * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
1167 * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
1168 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
1169 * testsuite/special_functions/14_expint/check_value.cc: Likewise.
1170 * testsuite/special_functions/14_expint/compile.cc: Likewise.
1171 * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
1172 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
1173 * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
1174 * testsuite/special_functions/15_hermite/compile.cc: Likewise.
1175 * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
1176 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
1177 * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
1178 * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
1179 * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
1180 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
1181 * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
1182 * testsuite/special_functions/17_legendre/compile.cc: Likewise.
1183 * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
1184 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
1185 * testsuite/special_functions/18_riemann_zeta/check_value.cc:
1187 * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
1188 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
1189 * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
1190 * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
1191 * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
1192 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
1193 * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
1194 * testsuite/special_functions/20_sph_legendre/check_value.cc:
1196 * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
1197 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
1198 * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
1199 * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
1200 * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
1201 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
1203 * testsuite/tr1/5_numerical_facilities/special_functions/
1204 08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
1206 * testsuite/tr1/5_numerical_facilities/special_functions/
1207 09_cyl_bessel_j/check_value.cc: Likewise.
1208 * testsuite/tr1/5_numerical_facilities/special_functions/
1209 10_cyl_bessel_k/check_value.cc: Likewise.
1210 * testsuite/tr1/5_numerical_facilities/special_functions/
1211 11_cyl_neumann/check_value.cc: Likewise.
1212 * testsuite/tr1/5_numerical_facilities/special_functions/
1213 21_sph_bessel/check_value.cc: Likewise.
1214 * testsuite/tr1/5_numerical_facilities/special_functions/
1215 23_sph_neumann/check_value.cc: Likewise.
1217 2016-08-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1219 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
1220 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1221 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1222 * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
1223 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
1224 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
1226 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
1228 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
1231 * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
1232 additional flags for compiling libtestc++.a objects.
1234 2016-08-01 Jonathan Wakely <jwakely@redhat.com>
1236 * include/bits/basic_string.h (data() const): Update comment.
1237 (data()): Add non-const overload for C++17.
1238 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
1239 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
1241 * include/bits/basic_string.tcc: Disable explicit instantiation
1242 declarations for C++17.
1244 * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
1245 ignored "xfail" from { dg-do compile { xfail selector } } directive.
1246 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
1248 * testsuite/26_numerics/headers/cmath/
1249 c99_classification_macros_c++11.cc: Likewise.
1250 * testsuite/26_numerics/headers/cmath/
1251 c99_classification_macros_c++98.cc: Likewise.
1252 * testsuite/26_numerics/headers/cmath/
1253 c99_classification_macros_c.cc: Likewise.
1255 * testsuite/backward/hash_set/check_construct_destroy.cc: Account
1256 for different construct/destroy counts in C++98 mode.
1258 * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
1260 * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
1262 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
1265 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
1266 C++98-compatible initialization for array.
1268 * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
1269 unused header and variable from compile-only test.
1270 * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
1271 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
1272 * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
1273 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
1276 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
1277 Remove duplicate dg-options directive.
1279 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
1280 808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
1282 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
1283 linker options from compile-only tests.
1284 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1287 * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
1288 supported for C++11 and later.
1289 * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
1290 * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
1292 2016-08-01 Uros Bizjak <ubizjak@gmail.com>
1294 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1296 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
1298 * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
1301 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1302 Ensure test is compiled with optimization.
1304 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1305 Adjust dg-prune-output pattern for error in C++98 mode.
1307 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
1308 run for C++11 or later.
1310 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
1311 test to not rely on GNU extension (escaped normal characters in POSIX
1312 BRE). Enable tests for other strings which are now supported.
1314 * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
1315 c++11 instead of setting -std=gnu++14.
1318 * include/std/array (get): Use positive message for static assertions.
1319 * include/std/functional (_Safe_tuple_element_t): Fix indentation.
1320 * include/std/tuple (tuple_element<I, tuple<>>): Add partial
1321 specialization for invalid indices, with static assertion.
1322 * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
1324 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
1325 dg-error to relevant line.
1326 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
1328 * testsuite/23_containers/forward_list/requirements/dr438/
1329 assign_neg.cc: Likewise.
1330 * testsuite/23_containers/forward_list/requirements/dr438/
1331 constructor_1_neg.cc: Likewise.
1332 * testsuite/23_containers/forward_list/requirements/dr438/
1333 constructor_2_neg.cc: Likewise.
1334 * testsuite/23_containers/forward_list/requirements/dr438/
1335 insert_neg.cc: Likewise.
1336 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
1338 * testsuite/26_numerics/random/linear_congruential_engine/
1339 requirements/non_uint_neg.cc: Likewise.
1340 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1341 Likewise. Also test for std::atomic_address.
1343 2016-07-31 Ville Voutilainen <ville.voutilainen@gmail.com>
1345 Add missing variable traits, fix testsuite failures.
1346 * include/bits/uses_allocator.h (uses_allocator_v): New.
1347 * include/std/functional (is_bind_expression_v, is_placeholder_v):
1349 * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
1350 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
1351 * testsuite/20_util/duration/literals/range.cc: Likewise.
1352 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
1353 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
1354 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
1355 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
1356 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1358 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
1359 * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
1362 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
1364 * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
1365 not test 128-bit types.
1366 * testsuite/20_util/is_floating_point/value.cc: Likewise.
1367 * testsuite/20_util/is_integral/value.cc: Likewise.
1368 * testsuite/20_util/is_signed/value.cc: Likewise.
1369 * testsuite/20_util/is_unsigned/value.cc: Likewise.
1370 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
1371 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
1372 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
1374 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1377 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
1379 2016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
1381 Implement C++17 variable templates for type traits.
1382 * include/std/chrono (treat_as_floating_point_v): New.
1383 * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
1384 (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
1385 (ratio_greater_equal_v): Likewise.
1386 * include/std/system_error (is_error_code_enum_v)
1387 (is_error_condition_enum_v): Likewise.
1388 * include/std/tuple (tuple_size_v): Likewise.
1389 * type_traits (conjunction_v, disjunction_v, negation_v)
1390 (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
1391 (is_array_v, is_pointer_v, is_lvalue_reference_v)
1392 (is_rvalue_reference_v, is_member_object_pointer_v)
1393 (is_member_function_pointer_v, is_enum_v, is_union_v)
1394 (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
1395 (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
1396 (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
1397 (is_trivially_copyable_v, is_standard_layout_v)
1398 (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
1399 (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
1400 (is_constructible_v, is_default_constructible_v)
1401 (is_copy_constructible_v, is_move_constructible_v)
1402 (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
1403 (is_destructible_v, is_trivially_constructible_v)
1404 (is_trivially_default_constructible_v)
1405 (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
1406 (is_trivially_assignable_v, is_trivially_copy_assignable_v)
1407 (is_trivially_move_assignable_v, is_trivially_destructible_v)
1408 (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
1409 (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
1410 (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
1411 (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
1412 (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
1413 (is_same_v, is_base_of_v, is_convertible_v): Likewise.
1414 * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
1415 * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
1417 * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
1418 * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
1419 * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
1421 2016-07-29 Andreas Schwab <schwab@linux-m68k.org>
1423 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
1424 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1425 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
1427 2016-07-29 Jonathan Wakely <jwakely@redhat.com>
1429 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
1430 * doc/html/manual/abi.html: Regenerate.
1432 * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
1433 * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
1435 * configure: Regenerate.
1436 * testsuite/util/testsuite_abi.cc: Add new symbol version.
1438 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1439 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1440 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1441 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1443 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1444 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1445 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1447 2016-07-28 Jonathan Wakely <jwakely@redhat.com>
1449 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1450 Adjust dg-prune-output pattern for error in C++98 mode.
1451 * testsuite/23_containers/deque/requirements/dr438/
1452 constructor_1_neg.cc: Likewise.
1453 * testsuite/23_containers/deque/requirements/dr438/
1454 constructor_2_neg.cc: Likewise.
1455 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1457 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1459 * testsuite/23_containers/list/requirements/dr438/
1460 constructor_1_neg.cc: Likewise.
1461 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1463 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1465 * testsuite/23_containers/vector/requirements/dr438/
1466 constructor_1_neg.cc: Likewise.
1467 * testsuite/23_containers/vector/requirements/dr438/
1468 constructor_2_neg.cc: Likewise.
1469 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1472 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
1473 for different construct/destroy counts in C++98 mode.
1475 * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
1476 dg-options to dg-additional-options so that default options are used.
1477 * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
1479 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
1480 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
1482 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1483 Use dg-additional-options instead of repeating the common options.
1485 * testsuite/22_locale/conversions/string/1.cc: Remove unintended
1486 dg-do compile directive.
1487 * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
1489 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
1491 2016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
1493 Implement std::string_view and P0254r2,
1494 Integrating std::string_view and std::string.
1495 * include/Makefile.am: Add string_view and string_view.tcc
1496 to the exported headers.
1497 * include/Makefile.in: Likewise.
1498 * include/bits/basic_string.h: Include <string_view> in C++17 mode.
1500 (basic_string(__sv_type, const _Alloc&)): Likewise.
1501 (operator=(__sv_type)): Likewise.
1502 (operator __sv_type()): Likewise.
1503 (operator+=(__sv_type)): Likewise.
1504 (append(__sv_type __sv)): Likewise.
1505 (append(__sv_type, size_type, size_type)): Likewise.
1506 (assign(__sv_type)): Likewise.
1507 (assign(__sv_type, size_type, size_type)): Likewise.
1508 (insert(size_type, __sv_type)): Likewise.
1509 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
1510 (replace(size_type, size_type, __sv_type)): Likewise.
1511 (replace(size_type, size_type, __sv_type, size_type, size_type)):
1513 (replace(const_iterator, const_iterator, __sv_type)): Likewise.
1514 (find(__sv_type, size_type)): Likewise.
1515 (rfind(__sv_type, size_type)): Likewise.
1516 (find_first_of(__sv_type, size_type)): Likewise.
1517 (find_last_of(__sv_type, size_type)): Likewise.
1518 (find_first_not_of(__sv_type, size_type)): Likewise.
1519 (find_last_not_of(__sv_type, size_type)): Likewise.
1520 (compare(__sv_type)): Likewise.
1521 (compare(size_type, size_type, __sv_type)): Likewise.
1522 (compare(size_type, size_type, __sv_type, size_type, size_type)):
1524 * include/bits/string_view.tcc: New.
1525 * include/std/string_view: Likewise.
1526 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
1527 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
1528 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
1530 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
1532 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
1534 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
1536 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
1538 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
1540 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
1542 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
1544 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
1546 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
1548 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
1550 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
1552 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
1553 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
1554 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
1555 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
1556 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
1557 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
1558 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
1559 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
1560 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
1561 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
1563 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
1565 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
1567 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
1569 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
1571 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
1573 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
1575 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
1577 * testsuite/21_strings/basic_string_view/include.cc: Likewise.
1578 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
1579 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
1580 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
1581 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
1583 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
1585 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
1587 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
1589 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
1591 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
1593 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
1595 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
1597 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
1599 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
1601 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
1603 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
1605 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
1607 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
1609 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
1611 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
1613 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
1615 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
1617 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
1619 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
1621 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
1623 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
1625 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
1627 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
1629 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
1631 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
1633 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
1635 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
1637 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
1639 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
1641 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
1643 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
1645 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
1647 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
1648 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
1650 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
1652 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
1654 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
1656 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
1658 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
1660 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
1662 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
1664 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
1666 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
1667 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
1669 2016-07-27 Jonathan Wakely <jwakely@redhat.com>
1671 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
1673 2016-07-25 Georeth Chow <georeth2010@gmail.com>
1675 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
1676 _S_concat enumerator.
1677 * testsuite/ext/rope/6.cc: New test.
1679 2016-07-25 Jonathan Wakely <jwakely@redhat.com>
1681 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
1682 std::mt19937, std::thread and std::atomic to simplify test.
1683 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
1685 2016-07-22 Jonathan Wakely <jwakely@redhat.com>
1688 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
1689 (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
1690 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
1691 * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
1692 * testsuite/23_containers/set/allocator/71964.cc: New test.
1694 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
1695 delete[] instead of delete.
1697 2016-07-21 Jonathan Wakely <jwakely@redhat.com>
1699 * include/experimental/propagate_const (propagate_const::__t): Rename
1700 to _M_t and remove comment. Qualify std::move and std::forward.
1701 * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
1703 * testsuite/23_containers/vector/zero_sized_allocations.cc:
1704 Define sized deallocation function.
1705 * testsuite/util/testsuite_new_operators.h:
1706 (operator delete(void*, const std::nothrow_t&)): Define nothrow
1707 deallocation function.
1709 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
1710 reads past the end of strings.
1711 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
1713 * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
1714 invalid array accesses.
1715 * testsuite/experimental/string_view/operations/compare/char/1.cc:
1716 Fix read past the end of string.
1717 * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
1719 * testsuite/24_iterators/container_access.cc: Fix missing returns.
1720 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
1722 * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
1723 leak) memory for arguments to placement delete.
1724 * testsuite/20_util/addressof/1.cc: Don't leak memory.
1725 * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
1726 * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
1729 2016-07-20 Jonathan Wakely <jwakely@redhat.com>
1731 * doc/xml/manual/intro.xml: Document DR 2684 status.
1732 * doc/html/*: Regenerate.
1734 * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
1735 (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
1736 (atomic_uint64_t): Define (LWG 2441).
1737 * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
1739 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
1741 * doc/xml/manual/intro.xml: Document DR 2441 status.
1743 * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
1744 to use perfect forwarding (LWG 2328).
1745 * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
1746 * doc/xml/manual/intro.xml: Document DR 2328 status.
1748 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
1749 static objects for catching nullptr as pointer to member types.
1751 2016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
1753 Clean up optional's comments.
1754 * include/std/optional: Remove incorrect section headers
1755 from comments when redundant, replace bare section
1756 headers with more descriptive comments.
1758 2016-07-15 Jonathan Wakely <jwakely@redhat.com>
1760 * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
1761 * include/bits/move.h: Likewise.
1762 * include/bits/postypes.h: Likewise.
1763 * include/debug/bitset: Likewise.
1764 * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
1765 * include/ext/string_conversions.h: Change C++0x to __cxx11 in
1767 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
1768 * testsuite/util/thread/all.h: Likewise.
1770 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
1774 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
1775 nullptr match handlers of pointer type.
1777 2016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
1779 Implement C++17 P0025 clamp.
1780 * include/bits/algorithmfwd.h: Declare clamp overloads.
1781 * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp.
1782 * testsuite/25_algorithms/clamp/1.cc: New test.
1783 * testsuite/25_algorithms/clamp/2.cc: New test.
1784 * testsuite/25_algorithms/clamp/constexpr.cc: New test.
1785 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
1787 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
1790 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
1792 Fix the constraints for any's assignment operator template to properly
1793 reject assignment from a non-copyable lvalue.
1794 * include/std/any (operator=(_ValueType&&)): Constrain the decayed
1795 type for is_copy_constructible,
1796 * testsuite/20_util/any/requirements.cc: Add a test for
1797 non-copyable lvalues.
1799 2016-07-14 Jonathan Wakely <jwakely@redhat.com>
1801 * include/experimental/functional: Include <parallel/algorithm> in
1804 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
1808 * include/bits/forward_list.h (forward_list): Update doxygen comments
1809 to reflect allocator propagation semantics. Remove ambiguous
1810 statements about data being lost.
1811 * include/bits/stl_deque.h (deque): Likewise.
1812 * include/bits/stl_list.h (list): Likewise.
1813 * include/bits/stl_map.h (map): Likewise.
1814 * include/bits/stl_multimap.h (multimap): Likewise.
1815 * include/bits/stl_multiset.h (multiset): Likewise.
1816 * include/bits/stl_set.h (set): Likewise.
1817 * include/bits/stl_vector.h (vector): Likewise.
1818 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
1820 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
1823 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
1825 Implement P0032R3, Homogeneous interface for variant, any and optional,
1826 for the parts concerning any and optional.
1827 * include/std/any (_Storage()): Make constexpr and have it
1829 (any()): Make constexpr.
1830 (any(const any&)): Adjust.
1831 (any(any&&)): Likewise.
1832 (__any_constructible_t): New.
1833 (any(_ValueType&&)): Constrain.
1834 (any(in_place_type_t<_Tp>, _Args&&...)): New.
1835 (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
1838 (operator=(const any&)): Likewise.
1839 (operator=(any&&)): Likewise.
1840 (operator=(_ValueType&&)): Constrain.
1841 (emplace(_Args&&...)): New.
1842 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
1845 (swap(any&)): Adjust.
1849 (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
1850 (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
1851 (make_any(_Args&&...)): Likewise.
1852 (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
1853 * include/std/optional (in_place_t, in_place): Remove.
1854 (bad_optional_access): Add a comment referring to LEWG 72.
1855 (emplace(_Args&&...)): Constrain.
1857 (reset()): Likewise.
1858 (make_optional(_Args&&...)): Likewise.
1859 (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
1860 * include/std/utility (in_place_tag): New.
1861 (__in_place, __in_place_type, __in_place_index): Likewise.
1862 (in_place_t, in_place_type_t, in_place_index_t): Likewise.
1863 (in_place(__in_place*)): Likewise.
1864 (in_place(__in_place_type<_Tp>*)): Likewise.
1865 (in_place(__in_place_index<_Idx>*)): Likewise.
1866 * testsuite/20_util/any/assign/1.cc: Adjust.
1867 * testsuite/20_util/any/assign/emplace.cc: New.
1868 * testsuite/20_util/any/assign/self.cc: Adjust.
1869 * testsuite/20_util/any/cons/1.cc: Likewise.
1870 * testsuite/20_util/any/cons/in_place.cc: New.
1871 * testsuite/20_util/any/make_any.cc: Likewise.
1872 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
1873 * testsuite/20_util/any/misc/swap.cc: Likewise.
1874 * testsuite/20_util/any/modifiers/1.cc: Likewise.
1875 * testsuite/20_util/any/requirements.cc: New.
1876 * testsuite/20_util/in_place/requirements.cc: Likewise.
1877 * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
1878 * testsuite/20_util/optional/in_place.cc: Likewise.
1879 * testsuite/20_util/optional/make_optional.cc: Add tests for
1880 the new overloads of make_optional.
1882 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
1884 Implement P0307R2, Making Optional Greater Equal Again.
1885 * include/experimental/optional (_Has_addressof): Fix the comment.
1886 * include/std/optional (_Has_addressof): Likewise.
1887 (operator=(_Up&&)): Constrain.
1888 (operator=(const optional<_Up>&)): Likewise.
1889 (operator=(optional<_Up>&&)): Likewise.
1890 (__optional_relop_t): New.
1891 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1892 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
1893 Constrain and make transparent.
1894 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1895 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
1896 Constrain and make transparent.
1897 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1898 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1899 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
1900 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
1901 (operator!=(const optional<_Tp>&, _Tp const&)):
1902 Constrain and make transparent.
1903 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
1904 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
1905 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
1906 (operator>(const optional<_Tp>&, const _Tp&)):
1907 Constrain and make transparent.
1908 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
1909 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
1910 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
1911 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
1912 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
1913 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
1914 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1915 * testsuite/20_util/optional/relops/1.cc: Likewise.
1916 * testsuite/20_util/optional/relops/2.cc: Likewise.
1917 * testsuite/20_util/optional/relops/3.cc: Likewise.
1918 * testsuite/20_util/optional/relops/4.cc: Likewise.
1919 * testsuite/20_util/optional/requirements.cc: Add tests to verify
1920 that optional's relops are transparent and don't synthesize
1921 operators. Also test that assignment sfinaes.
1923 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
1926 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
1927 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
1928 Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
1929 on _GLIBCXX_ASSERTIONS.
1930 * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
1931 Include <unistd.h> for sleep.
1932 * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
1933 * include/parallel/merge.h: Likewise.
1934 * include/parallel/multiway_merge.h: Likewise.
1935 * include/parallel/partition.h: Likewise.
1936 * include/parallel/queue.h: Likewise.
1937 * include/parallel/sort.h: Likewise.
1938 * testsuite/25_algorithms/headers/algorithm/
1939 parallel_algorithm_assert.cc: New.
1941 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
1942 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
1943 Forward to different overload.
1945 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
1948 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
1950 Revert "Add non-const overload of std::string::data()".
1952 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
1954 Implement P0307R2, Making Optional Greater Equal Again.
1955 * include/experimental/optional (_Has_addressof): Fix the comment.
1956 * include/std/optional (_Has_addressof): Likewise.
1957 (operator=(_Up&&)): Constrain.
1958 (operator=(const optional<_Up>&)): Likewise.
1959 (operator=(optional<_Up>&&)): Likewise.
1960 (__optional_relop_t): New.
1961 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1962 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
1963 Constrain and make transparent.
1964 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1965 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
1966 Constrain and make transparent.
1967 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1968 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1969 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
1970 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
1971 (operator!=(const optional<_Tp>&, _Tp const&)):
1972 Constrain and make transparent.
1973 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
1974 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
1975 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
1976 (operator>(const optional<_Tp>&, const _Tp&)):
1977 Constrain and make transparent.
1978 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
1979 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
1980 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
1981 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
1982 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
1983 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
1984 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1985 * testsuite/20_util/optional/relops/1.cc: Likewise.
1986 * testsuite/20_util/optional/relops/2.cc: Likewise.
1987 * testsuite/20_util/optional/relops/3.cc: Likewise.
1988 * testsuite/20_util/optional/relops/4.cc: Likewise.
1989 * testsuite/20_util/optional/requirements.cc: Add tests to verify
1990 that optional's relops are transparent and don't synthesize
1991 operators. Also test that assignment sfinaes.
1993 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
1995 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
1997 (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
1998 instead of _M_data().
1999 (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
2001 (append(const basic_string&)): Likewise.
2002 (append(const basic_string&, size_type, size_type)): Likewise.
2003 (assign(const basic_string&, size_type, size_type)): Likewise.
2004 (insert(size_type, const basic_string&)): Likewise.
2005 (insert(size_type, const basic_string&, size_type, size_type)):
2007 (replace(size_type, size_type, const basic_string&, size_type,
2008 size_type)): Likewise.
2009 (replace(__const_iterator, __const_iterator, const basic_string&)):
2011 (c_str(), data()): Use c_str() instead of _M_data().
2012 (data()): Add non-const overload as per LWG 2391 and P0272R1.
2013 (compare(const basic_string&)): Use data() instead of _M_data().
2014 [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
2015 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
2016 Pass raw pointers to _S_copy.
2017 (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
2019 (find(const _CharT*, size_type, size_type)): Use data instead of
2021 * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
2022 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
2023 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
2025 2016-07-12 Jonathan Wakely <jwakely@redhat.com>
2027 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
2028 * doc/xml/manual/intro.xml: Document DR 2458 status.
2029 * doc/html*: Regenerate.
2031 * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
2032 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
2033 Only include <array>.
2034 * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
2036 * doc/xml/manual/intro.xml: Document LWG 2212 support.
2037 * doc/html*: Regenerate.
2039 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
2040 Add testcase from LWG 2164.
2042 2016-07-11 François Dumont <fdumont@gcc.gnu.org>
2044 * include/bits/stl_vector.h (push_back(const value_type&)): Forward
2045 to _M_realloc_insert.
2046 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
2047 (_M_realloc_insert): Declare new function.
2048 (_M_emplace_back_aux): Remove definition.
2049 * include/bits/vector.tcc (emplace_back(_Args...)):
2050 Use _M_realloc_insert.
2051 (insert(const_iterator, const value_type&)): Likewise.
2052 (_M_insert_rval, _M_emplace_aux): Likewise.
2053 (_M_emplace_back_aux): Remove declaration.
2054 (_M_realloc_insert): Define.
2055 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
2056 Adjust expected results for emplacing an lvalue with reallocation.
2058 2016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
2060 Implement std::optional.
2061 * include/Makefile.am: Add optional to exported headers.
2062 * include/Makefile.in: Likewise.
2063 * include/std/optional: New.
2064 * testsuite/20_util/optional/typedefs.cc: Likewise.
2065 * testsuite/20_util/optional/relops/2.cc: Likewise.
2066 * testsuite/20_util/optional/relops/3.cc: Likewise.
2067 * testsuite/20_util/optional/relops/4.cc: Likewise.
2068 * testsuite/20_util/optional/relops/5.cc: Likewise.
2069 * testsuite/20_util/optional/relops/1.cc: Likewise.
2070 * testsuite/20_util/optional/relops/6.cc: Likewise.
2071 * testsuite/20_util/optional/nullopt.cc: Likewise.
2072 * testsuite/20_util/optional/in_place.cc: Likewise.
2073 * testsuite/20_util/optional/make_optional.cc: Likewise.
2074 * testsuite/20_util/optional/assignment/2.cc: Likewise.
2075 * testsuite/20_util/optional/assignment/3.cc: Likewise.
2076 * testsuite/20_util/optional/assignment/4.cc: Likewise.
2077 * testsuite/20_util/optional/assignment/5.cc: Likewise.
2078 * testsuite/20_util/optional/assignment/1.cc: Likewise.
2079 * testsuite/20_util/optional/assignment/6.cc: Likewise.
2080 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
2081 * testsuite/20_util/optional/cons/default.cc: Likewise.
2082 * testsuite/20_util/optional/cons/move.cc: Likewise.
2083 * testsuite/20_util/optional/cons/value.cc: Likewise.
2084 * testsuite/20_util/optional/cons/copy.cc: Likewise.
2085 * testsuite/20_util/optional/requirements.cc: Likewise.
2086 * testsuite/20_util/optional/observers/2.cc: Likewise.
2087 * testsuite/20_util/optional/observers/3.cc: Likewise.
2088 * testsuite/20_util/optional/observers/4.cc: Likewise.
2089 * testsuite/20_util/optional/observers/5.cc: Likewise.
2090 * testsuite/20_util/optional/observers/1.cc: Likewise.
2091 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
2092 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
2093 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
2094 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
2095 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
2096 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
2097 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
2098 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
2099 * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
2100 * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
2101 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
2102 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
2103 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
2104 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
2105 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
2106 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
2107 * testsuite/20_util/optional/swap/1.cc: Likewise.
2109 2016-07-08 Jonathan Wakely <jwakely@redhat.com>
2111 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
2113 2016-07-07 Jonathan Wakely <jwakely@redhat.com>
2115 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
2116 * doc/html/*: Regenerate.
2118 2016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
2121 * include/Makefile.am: Add any and c++17_warning.h to exported headers.
2122 * include/Makefile.in: Likewise.
2123 * include/std/any: New.
2124 * testsuite/20_util/any/assign/1.cc: Likewise.
2125 * testsuite/20_util/any/assign/2.cc: Likewise.
2126 * testsuite/20_util/any/assign/self.cc: Likewise.
2127 * testsuite/20_util/any/cons/1.cc: Likewise.
2128 * testsuite/20_util/any/cons/2.cc: Likewise.
2129 * testsuite/20_util/any/cons/aligned.cc: Likewise.
2130 * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
2131 * testsuite/20_util/any/misc/any_cast.cc: Likewise.
2132 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
2133 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
2134 * testsuite/20_util/any/misc/swap.cc: Likewise.
2135 * testsuite/20_util/any/modifiers/1.cc: Likewise.
2136 * testsuite/20_util/any/observers/type.cc: Likewise.
2137 * testsuite/20_util/any/typedefs.cc: Likewise.
2139 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
2141 Add a new header for diagnosing the use of C++17 facilities
2143 * include/bits/c++17_warning.h: New.
2145 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
2147 Implement LWG 2451, optional<T> should 'forward' T's
2148 implicit conversions.
2149 * include/experimental/optional (__is_optional_impl, __is_optional):
2151 (optional()): Make constexpr and default.
2152 (optional(_Up&&), optional(const optional<_Up>&),
2153 optional(optional<_Up>&& __t): New.
2154 (operator=(_Up&&)): Constrain.
2155 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
2156 * testsuite/experimental/optional/cons/value.cc:
2157 Add tests for the functionality added by LWG 2451.
2158 * testsuite/experimental/optional/cons/value_neg.cc: New.
2160 2016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
2163 any_cast doesn't work with rvalue reference targets and cannot
2164 move with a value target.
2165 * include/experimental/any (any(_ValueType&&)): Constrain and
2166 add an overload that doesn't forward.
2167 (any_cast(any&&)): Constrain and add an overload that moves.
2168 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
2169 the functionality added by LWG 2509.
2171 2016-07-04 François Dumont <fdumont@gcc.gnu.org>
2173 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
2175 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
2178 2016-07-04 Jonathan Wakely <jwakely@redhat.com>
2180 * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
2181 Define inline. Forward to _M_emplace_aux.
2182 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
2183 (_M_insert_rval, _M_emplace_aux): Declare new functions.
2184 (_Temporary_value): New RAII type using allocator to construct/destroy.
2185 (_S_insert_aux_assign): Remove.
2186 (_M_insert_aux): Make non-variadic.
2187 * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
2188 Use _Temporary_value.
2189 (emplace(const_iterator, _Args&&...)): Remove definition.
2190 (_M_insert_rval, _M_emplace_aux): Define.
2191 (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
2192 (_M_fill_insert): Use _Temporary_value.
2193 * testsuite/23_containers/vector/allocator/construction.cc: New test.
2194 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
2195 Adjust expected results for emplacing an lvalue with reallocation.
2196 * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
2197 expected results to account for construction/destruction of temporary
2199 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
2201 2016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
2204 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
2205 Call remove_all for children of a directory.
2206 * testsuite/experimental/filesystem/operations/create_directories.cc:
2209 2016-07-02 François Dumont <fdumont@gcc.gnu.org>
2211 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
2212 dg-error line numbers.
2213 * testsuite/23_containers/array/tuple_interface/
2214 tuple_element_debug_neg.cc: Likewise.
2215 * testsuite/25_algorithms/lexicographical_compare/debug/
2216 irreflexive_neg.cc: Remove.
2218 2016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
2220 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
2221 than specific target.
2223 2016-06-27 François Dumont <fdumont@gcc.gnu.org>
2226 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
2229 2016-06-23 François Dumont <fdumont@gcc.gnu.org>
2231 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
2234 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2236 * configure.host: Remove mep-* support.
2238 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2240 * configure: Regenerate.
2241 * configure.host: Remove support for knetbsd.
2242 * crossconfig.m4: Likewise.
2244 2016-06-20 François Dumont <fdumont@gcc.gnu.org>
2247 * include/tr1/hashtable_policy.h
2248 (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
2249 dereferenceable to avoid check on lower_bound result.
2250 (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
2251 (_Prime_rehash_policy::_M_need_rehash): Likewise.
2252 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
2253 Always return a value greater than input value. Set _M_next_resize to
2254 max value when reaching highest prime number.
2255 * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
2257 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
2258 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
2260 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
2261 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
2264 2016-06-17 Jonathan Wakely <jwakely@redhat.com>
2267 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
2268 Remove irreflexive checks.
2269 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
2270 binary_search): Likewise.
2271 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
2272 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
2273 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
2274 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
2275 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
2276 Add constructor from array.
2278 2016-06-16 François Dumont <fdumont@gcc.gnu.org>
2280 * include/debug/debug.h
2281 (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
2282 (__glibcxx_requires_subscript): Move...
2283 * include/debug/assertions.h: ...here and add __builtin_expect.
2284 (_GLIBCXX_DEBUG_ONLY): Remove ; value.
2285 * include/bits/stl_deque.h
2286 (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
2287 (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
2288 (std::deque<>::back()): Likewise.
2289 (std::deque<>::pop_front()): Likewise.
2290 (std::deque<>::pop_back()): Likewise.
2291 (std::deque<>::swap(deque&)): Add allocator check.
2292 * include/bits/stl_vector.h
2293 (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
2294 (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
2295 (std::vector<>::back()): Likewise.
2296 (std::vector<>::pop_back()): Likewise.
2297 (std::vector<>::swap(vector&)): Add allocator check.
2299 2016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
2301 Provide swappable traits (p0185r1)
2302 * include/std/type_traits (is_swappable, is_nothrow_swappable,
2303 is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
2304 is_nothrow_swappable_v, is_swappable_with_v,
2305 is_nothrow_swappable_with_v): New.
2306 * include/bits/stl_pair.h: Use it as per p0185r1.
2307 * include/bits/stl_queue.h: Likewise.
2308 * include/bits/stl_stack.h: Likewise.
2309 * include/bits/unique_ptr.h: Likewise.
2310 * include/std/tuple: Likewise.
2311 * include/std/array: Likewise. Fix zero-size member swap.
2312 * include/bits/hashtable.h: Use __and_.
2313 * testsuite/20_util/is_nothrow_swappable/requirements/
2314 explicit_instantiation.cc: Change test options to std=gnu++17.
2315 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
2317 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
2318 * testsuite/20_util/is_swappable/requirements/
2319 explicit_instantiation.cc: Likewise.
2320 * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
2321 * testsuite/20_util/is_swappable/value.cc: Likewise.
2322 * testsuite/20_util/is_nothrow_swappable/requirements/
2323 explicit_instantiation_ext.cc: New.
2324 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
2326 * testsuite/20_util/is_nothrow_swappable/value.h: New.
2327 * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
2328 * testsuite/20_util/is_nothrow_swappable_with/requirements/
2329 explicit_instantiation.cc: New.
2330 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
2332 * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
2333 * testsuite/20_util/is_swappable/requirements/
2334 explicit_instantiation_ext.cc: New.
2335 * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
2336 * testsuite/20_util/is_swappable/value.h: New.
2337 * testsuite/20_util/is_swappable/value_ext.cc: New.
2338 * testsuite/20_util/is_swappable_with/requirements/
2339 explicit_instantiation.cc: New.
2340 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
2341 * testsuite/20_util/is_swappable_with/value.cc: New.
2342 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
2343 dg-error line numbers.
2344 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
2347 2016-06-16 Jonathan Wakely <jwakely@redhat.com>
2349 * include/std/array: Remove trailing whitespace.
2350 * include/std/atomic: Likewise.
2351 * include/std/bitset: Likewise.
2352 * include/std/chrono: Likewise.
2353 * include/std/complex: Likewise.
2354 * include/std/condition_variable: Likewise.
2355 * include/std/fstream: Likewise.
2356 * include/std/functional: Likewise.
2357 * include/std/future: Likewise.
2358 * include/std/iomanip: Likewise.
2359 * include/std/iosfwd: Likewise.
2360 * include/std/istream: Likewise.
2361 * include/std/limits: Likewise.
2362 * include/std/ratio: Likewise.
2363 * include/std/scoped_allocator: Likewise.
2364 * include/std/sstream: Likewise.
2365 * include/std/stdexcept: Likewise.
2366 * include/std/string: Likewise.
2367 * include/std/system_error: Likewise.
2368 * include/std/thread: Likewise.
2369 * include/std/tuple: Likewise.
2370 * include/std/type_traits: Likewise.
2371 * include/std/utility: Likewise.
2372 * include/std/valarray: Likewise.
2373 * include/std/vector: Likewise.
2375 * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
2376 new overloaded functions.
2377 * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
2378 to avoid creating a redundant temporary.
2379 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
2382 2016-06-15 François Dumont <fdumont@gcc.gnu.org>
2384 * include/bits/stl_deque.h
2385 (std::deque<>::operator=): Call _M_assign_aux.
2386 (std::deque<>::assign(initializer_list<>)): Likewise.
2387 (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
2388 (std::deque<>::insert(const_iterator, initializer_list<>)):
2389 Call _M_range_insert_aux.
2390 (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
2392 (std::deque<>::_M_fill_assign): Call _M_fill_insert.
2393 (std::deque<>::_M_move_assign2): Call _M_assign_aux.
2394 * include/bits/deque.tcc
2395 (std::deque<>::operator=): Call _M_range_insert_aux.
2396 (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
2398 * include/bits/stl_vector.h
2399 (std::vector<>::operator=): Call _M_assign_aux.
2400 (std::vector<>::assign(initializer_list<>)): Likewise.
2401 (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
2402 (std::vector<>::insert(const_iterator, initializer_list<>)):
2403 Call _M_range_insert.
2404 * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
2406 2016-06-07 François Dumont <fdumont@gcc.gnu.org>
2408 * include/std/tuple (_Head_base<>): Default specialization condition at
2411 2016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
2413 Support allocators in tuples of zero size.
2414 * include/std/tuple (tuple<>::tuple(),
2415 tuple<>::tuple(allocator_arg_t, const _Alloc&),
2416 tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
2417 * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
2419 2016-06-06 Jonathan Wakely <jwakely@redhat.com>
2422 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
2423 Add or remove permissions according to perms argument.
2424 * testsuite/experimental/filesystem/operations/permissions.cc: New
2427 2016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
2429 Protect allocator-overloads of tuple-from-tuple constructors
2430 from cases that would create dangling references.
2431 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2432 const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
2433 tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
2434 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
2436 2016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
2438 * doc/xml/manual/backwards_compatibility.xml: Adjust
2439 lists.debian.org link to https.
2440 * doc/html/manual/backwards.html: Regenerate.
2442 2016-05-27 Jonathan Wakely <jwakely@redhat.com>
2444 * doc/xml/manual/abi.xml: Adjust URL to use https.
2445 * doc/html/manual/*: Regenerate.
2447 2016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
2450 * include/std/tuple (_TMC): Add a check for _NotSameTuple.
2451 * include/std/tuple (tuple(_UElements&&...)): Remove the separate
2452 check for _NotSameTuple.
2453 * include/std/tuple (_TMCT): New.
2454 * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
2455 * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
2456 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2457 const tuple<_UElements...>&)): Likewise.
2458 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2459 tuple<_UElements...>&&)): Likewise.
2460 * testsuite/20_util/tuple/cons/66338.cc: New.
2462 2016-05-25 Jonathan Wakely <jwakely@redhat.com>
2464 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
2465 * configure: Regenerate.
2466 * config.h.in: Regenerate.
2468 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
2469 * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
2470 Remove const qualification on function. Replace
2471 _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
2472 (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
2473 (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
2475 2016-05-24 François Dumont <fdumont@gcc.gnu.org>
2477 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
2478 * include/bits/hashtable_policy.h
2479 (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
2480 having load factor management.
2481 (_Mask_range_hashing): New.
2483 (_Power2_rehash_policy): New.
2484 (_Inserts<>): Remove last template parameter, _Unique_keys, so that
2485 partial specializations only depend on whether iterators are constant
2487 * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
2488 test new hash policy.
2489 * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
2491 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
2493 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
2495 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
2497 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
2499 * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
2500 using the new hash policy.
2501 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
2503 2016-05-24 Jonathan Wakely <jwakely@redhat.com>
2505 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
2507 2016-05-23 François Dumont <fdumont@gcc.gnu.org>
2509 * include/debug/safe_iterator.h
2510 (_Safe_iterator<>::operator->()): Implement using underlying iterator
2512 * include/debug/safe_local_iterator.h
2513 (_Safe_local_iterator<>::operator->()): Likewise.
2515 2016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
2517 * testsuite/experimental/memory_resource/1.cc: Add required argument
2518 to dg-require-atomic-builtins.
2520 2016-05-13 Jonathan Wakely <jwakely@redhat.com>
2523 * include/debug/bitset: Add #pragma GCC system_header.
2524 * include/debug/deque: Likewise.
2525 * include/debug/list: Likewise.
2526 * include/debug/map: Likewise.
2527 * include/debug/set: Likewise.
2528 * include/debug/string: Likewise.
2529 * include/debug/unordered_map: Likewise.
2530 * include/debug/unordered_set: Likewise.
2531 * include/debug/vector: Likewise.
2532 * include/debug/functions.h: Adjust whitespace.
2534 2016-05-12 Jonathan Wakely <jwakely@redhat.com>
2537 * testsuite/experimental/memory_resource/1.cc: Require atomics.
2539 2016-05-11 Jonathan Wakely <jwakely@redhat.com>
2542 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
2543 exception constructors with __sso_string parameters.
2545 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
2547 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
2548 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
2549 Test begin and end functions.
2550 * testsuite/experimental/filesystem/iterators/
2551 recursive_directory_iterator.cc: Likewise.
2554 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
2555 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
2557 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
2558 Overload operator* to move from rvalues.
2561 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
2562 * testsuite/experimental/filesystem/operations/create_directory.cc:
2566 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
2567 base path to exception.
2568 * testsuite/experimental/filesystem/operations/canonical.cc: Test
2569 paths contained in exception.
2571 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
2575 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
2577 (directory_iterator::operator++(int)): Return proxy.
2578 (recursive_directory_iterator::operator++(int)): Likewise.
2579 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
2580 Test post-increment.
2581 * testsuite/experimental/filesystem/iterators/
2582 recursive_directory_iterator.cc: Likewise.
2584 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
2587 * testsuite/experimental/filesystem/iterators/
2588 recursive_directory_iterator.cc: Fix test02 to not call member
2589 functions on invalid iterator, and use VERIFY not assert.
2591 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
2593 Avoid endless run-time recursion for copying single-element
2594 tuples where the element type is by-value constructible
2596 * include/std/tuple (_NotSameTuple): New.
2597 * include/std/tuple (tuple(_UElements&&...): Use it.
2598 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
2600 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
2603 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
2604 Initialize scalar member variables in default constructor.
2605 * testsuite/experimental/filesystem/iterators/
2606 recursive_directory_iterator.cc: Test default construction.
2608 2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2610 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
2612 2016-05-05 Jonathan Wakely <jwakely@redhat.com>
2614 * testsuite/experimental/filesystem/path/native/string.cc: Add
2615 dg-require-filesystem-ts directive.
2617 2016-05-04 Jonathan Wakely <jwakely@redhat.com>
2620 * include/experimental/memory_resource
2621 (__resource_adaptor_imp::do_allocate): Do not default-construct
2623 (__resource_adaptor_imp::do_deallocate): Likewise. Use
2624 allocator_traits to get pointer type.
2625 (__null_memory_resource::do_allocate): Remove unused parameters.
2626 (__null_memory_resource::do_deallocate): Likewise.
2627 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
2628 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
2629 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
2631 * testsuite/experimental/memory_resource/1.cc: Here.
2632 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
2633 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
2635 2016-04-29 Chris Gregory <czipperz@gmail.com>
2637 * config/*: Remove trailing whitespace.
2639 * testsuite/tr1/*: Likewise.
2640 * testsuite/util/*: Likewise.
2642 2016-04-28 Jonathan Wakely <jwakely@redhat.com>
2645 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
2647 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
2649 * include/std/atomic (atomic<_Tp>): Likewise.
2650 * include/std/shared_mutex (shared_lock): Likewise.
2651 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
2652 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
2653 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
2654 * testsuite/29_atomics/atomic/70766.cc: New test.
2655 * testsuite/30_threads/shared_lock/70766.cc: New test.
2657 * include/bits/hashtable_policy.h (__detail::_Insert_base,
2658 __detail::_Insert): Improve comments.
2660 2016-04-27 Jonathan Wakely <jwakely@redhat.com>
2663 * include/std/limits: Update comments about DRs.
2664 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
2665 numeric_limits<const volatile _Tp>): Define unconditionally.
2667 2016-04-24 Jonathan Wakely <jwakely@redhat.com>
2670 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
2671 static counter to return a different path on every call.
2673 2016-04-22 Tim Shen <timshen@google.com>
2676 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
2677 Fix the match_not_bow and match_not_eow behavior.
2678 * testsuite/28_regex/regression.cc: Add testcase.
2680 2016-04-20 Jonathan Wakely <jwakely@redhat.com>
2683 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
2684 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
2686 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
2689 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
2690 Override endianness bit in mode.
2691 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
2692 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
2693 that little_endian mode is ignored.
2694 * testsuite/experimental/filesystem/path/native/string.cc: New test.
2697 * src/filesystem/ops.cc (close_fd): New function.
2698 (do_copy_file): Set permissions before copying file contents. Check
2699 result of closing file descriptors. Don't copy streambuf when file
2701 (copy(const path&, const path&, copy_options, error_code&)): Use
2702 lstat for source file when copy_symlinks is set.
2703 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
2705 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
2706 operator~ operator&=, operator|=, operator^=): Add noexcept to
2707 overloaded operators for copy_options, perms and directory_options.
2708 * src/filesystem/ops.cc (make_file_type, make_file_status,
2709 is_not_found_errno, file_time): Add noexcept.
2711 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
2713 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
2715 2016-04-18 Jonathan Wakely <jwakely@redhat.com>
2718 * include/bits/random.h: Reword static assertion messages to state
2719 positive conditions.
2720 * include/bits/random.tcc: Likewise.
2721 * include/bits/uniform_int_dist.h: Likewise.
2722 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
2725 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
2727 * config/cpu/sh/atomicity.h: Fix typo in comment.
2730 * include/std/thread (operator<, operator==): Move definitions to
2732 * testsuite/30_threads/thread/id/70294.cc: New test.
2734 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
2735 -Wno-pedantic to dg-options.
2736 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
2737 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
2739 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
2740 Remove extra semi-colon.
2741 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
2742 Always supply second argument to static_assert.
2743 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
2745 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
2747 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
2748 * testsuite/29_atomics/atomic/60695.cc: Likewise.
2749 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
2750 alignof when operand is an object not a type.
2751 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
2752 * testsuite/decimal/make-decimal.cc: Likewise.
2753 * testsuite/experimental/type_traits/value.cc: Always supply second
2754 argument to static_assert.
2755 * testsuite/util/testsuite_common_types.h: Use __extension__ for
2758 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
2760 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
2761 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
2762 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
2763 Likewise. Add licence and change to compile-only test.
2765 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
2767 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
2769 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
2772 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
2774 * include/bits/specfun.h: Trivial comment misspelling.
2776 2016-04-14 Jason Merrill <jason@redhat.com>
2778 Revert Jonathan's empty ABI change from yesterday.
2780 2016-04-13 Martin Sebor <msebor@redhat.com>
2783 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
2784 upper bound is positive.
2786 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
2788 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
2789 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
2790 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
2791 of functions taking empty structs by value. Add a template parameter
2792 to overloads without hints. Rename overloads with hints to
2794 (_Hashtable::_M_erase(true_type, const_iterator),
2795 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
2796 by reordering parameters.
2797 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
2798 _M_emplace_hint instead of _M_emplace.
2799 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
2800 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
2801 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
2802 __shared_ptr): Likewise.
2803 * include/bits/stl_algo.h (replace_if): Likewise.
2804 * include/bits/stl_pair.h (piecewise_construct_t,
2805 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
2806 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
2807 __uses_alloc0): Likewise.
2808 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
2809 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
2810 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
2811 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2812 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
2813 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
2814 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
2816 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
2818 Document C++17/TR29124 C++ Special Math Functions.
2819 * include/bits/specfun.h: Add Doxygen markup.
2821 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
2823 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
2825 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
2827 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
2828 * src/Makefile.in: Regenerate.
2830 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
2833 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
2834 __atomic_fetch_add for bool.
2835 * configure: Regenerate.
2837 * testsuite/30_threads/thread/70503.cc: Require -static to work.
2840 * src/c++11/thread.cc (execute_native_thread_routine,
2841 execute_native_thread_routine_compat): Give internal linkage.
2842 * testsuite/30_threads/thread/70503.cc: New test.
2844 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
2847 * include/bits/stl_pair.h (_ConstructiblePair,
2848 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
2849 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
2850 for same-type cases.
2851 * testsuite/20_util/pair/70437.cc: New.
2853 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
2856 * config/abi/pre/gnu.ver: Add new symbol.
2857 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
2858 * testsuite/18_support/free_eh_pool.cc: New test.
2860 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
2862 * include/Makefile.am (install-freestanding-headers): Add
2863 concept_check.h and move.h to the installed headers.
2864 * include/Makefile.in: Regenerated.
2865 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
2866 freestanding implementations.
2867 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
2868 that this macro has no effect for freestanding implementations.
2869 * doc/html/manual/using_macros.html: Likewise.
2871 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
2874 * include/experimental/tuple (__apply_impl): Qualify get and forward.
2876 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
2878 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
2879 * doc/html/*: Regenerate.
2882 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
2883 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
2884 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
2885 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
2886 trunc) [__cplusplus >= 201103L]: Import from namespace std.
2887 (fabs) [__cplusplus < 201103L]: Import from namespace std.
2888 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
2890 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
2891 namespace before including TR1 headers.
2892 * testsuite/tr1/headers/c++200x/math.cc: New test.
2894 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
2897 * include/c_global/cstdarg: Undefine __need___va_list.
2898 * include/c_global/cstddef: Undefine all kinds of __need_*.
2900 2016-02-16 Tim Shen <timshen@google.com>
2903 * include/bits/regex_scanner.h: Add different special character
2904 sets for grep and egrep regex.
2905 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
2906 * testsuite/28_regex/regression.cc: Add new testcase.
2908 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
2910 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
2911 added 'constexpr' in previous commit.
2912 * configure: Regenerate.
2915 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
2916 checks for all targets except *-*-solaris2.* and ensure we find the
2917 libc math.h header not our own.
2918 * configure: Regenerate.
2920 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
2922 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
2923 New file. Copied over from s390-linux-gnu.
2925 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
2928 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
2929 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
2930 * config.h.in: Regenerate.
2931 * configure: Regenerate.
2932 * testsuite/21_strings/c_strings/char/69626.cc: New.
2934 * doc/html/index.html: Regenerate.
2936 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
2937 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
2938 * doc/html/*: Regenerate.
2940 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
2943 * include/c_compatibility/math.h: Move header guards.
2944 * include/c_compatibility/stdlib.h: Likewise.
2946 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
2949 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2951 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
2954 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
2955 isinf and isnan functions into two independent checks. Check on hpux.
2956 * config.h.in: Regenerate.
2957 * configure: Regenerate.
2958 * include/c_global/cmath (isinf(double), isnan(double)): Use
2959 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
2962 2016-01-27 Jakub Jelinek <jakub@redhat.com>
2964 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
2966 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
2969 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
2970 -ffp-contract=off, and -ffloat-store to disable excess precision.
2971 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
2974 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
2977 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
2978 random_access_iterator_tag>): Check is_move_assignable when moving.
2979 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
2981 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
2982 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
2983 * testsuite/25_algorithms/move/69478.cc: New.
2984 * testsuite/25_algorithms/move_backward/69478.cc: new.
2986 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
2988 * include/c_compatibility/stdlib.h: Include wide character related
2989 definitions only when they are available in cstdlib.
2991 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
2994 * include/Makefile.am: Add new header.
2995 * include/Makefile.in: Regenerate.
2996 * include/bits/random.h (uniform_int_distribution): Move to
2997 bits/uniform_int_dist.h.
2998 * include/bits/random.tcc (uniform_int_distribution::operator(),
2999 uniform_int_distribution::__generate_impl): Likewise.
3000 * include/bits/uniform_int_dist.h: New header.
3001 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
3002 <bits/uniform_int_dist.h> instead of <random>.
3003 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
3004 move_iterators/1.cc: Include correct header for uninitialized_copy.
3005 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
3006 move_iterators/1.cc: Likewise.
3007 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
3009 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
3011 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
3014 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
3016 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
3018 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
3019 * include/c_compatibility/math.h: Import the TR29124 functions
3020 into the global namespace.
3021 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
3022 xfail and make compile-only.
3023 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
3024 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
3025 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
3026 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
3027 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
3028 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
3029 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
3030 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
3031 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
3032 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
3033 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
3034 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
3035 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
3036 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
3037 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
3038 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
3039 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
3040 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
3041 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
3042 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
3044 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
3047 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
3048 define result_type for types which can be safely used with valarrays.
3049 * testsuite/26_numerics/valarray/69116.cc: New.
3052 * config/os/gnu-linux/os_defines.h: Define
3053 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
3054 * include/c_global/cmath (isinf, isnan): Check it.
3055 * doc/xml/manual/internals.xml: Document it.
3056 * doc/html/*: Regenerate.
3058 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
3061 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
3062 * include/ext/type_traits.h: Likewise.
3063 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
3064 for presence of C headers.
3065 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
3066 dg-error line number.
3067 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
3068 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
3069 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
3071 2016-01-20 Torvald Riegel <triegel@redhat.com>
3074 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
3076 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
3079 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
3080 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
3081 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
3082 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
3083 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
3084 Add using declarations.
3085 * testsuite/26_numerics/headers/cmath/60401.cc: New.
3088 * include/c_global/ccomplex: Ensure C++ language linkage.
3089 * include/c_global/cmath: Likewise.
3090 * include/c_global/cstdlib: Likewise.
3091 * include/c_global/ctgmath: Likewise.
3092 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
3094 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
3098 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
3099 --enable-cheaders=c_global configs.
3100 * include/Makefile.in: Regenerate.
3101 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
3102 test and allow inclusion from C files.
3103 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
3104 (at_quick_exit, quick_exit): Add using directives.
3105 * include/c_global/cmath: Use #include_next for math.h.
3106 * include/c_global/cstdlib: Use #include_next for stdlib.h.
3107 * testsuite/26_numerics/headers/cmath/14608.cc: New.
3108 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
3109 Remove xfail for most targets.
3110 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
3112 2016-01-18 Torvald Riegel <triegel@redhat.com>
3114 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
3115 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
3116 and move after its definition.
3117 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
3118 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
3119 __GXX_WEAK__, and only provide transactional clones if
3120 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
3123 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
3126 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
3129 * include/std/functional (_Function_base::_M_not_empty_function):
3130 Change overloads for pointers to take arguments by value.
3131 * testsuite/20_util/function/cons/57465.cc: Add tests for
3132 pointer-to-member cases.
3135 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
3136 Use macros for exception handling and fix unused parameter warning.
3138 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
3141 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
3143 2016-01-17 Torvald Riegel <triegel@redhat.com>
3145 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
3147 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
3149 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
3152 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
3155 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
3156 static assertion that type is constructible from the arguments.
3157 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
3158 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
3159 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
3162 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
3163 and isnan on AIX. Quote variables.
3164 * configure: Regenerate.
3166 2016-01-15 Torvald Riegel <triegel@redhat.com>
3168 * include/bits/basic_string.h (basic_string): Declare friends.
3169 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
3170 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
3171 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
3172 length_error, out_of_range, runtime_error, range_error,
3173 underflow_error, overflow_error): Declare members as transaction-safe.
3174 (logic_error, runtime_error): Declare friend functions.
3175 * libsupc++/exception (exception, bad_exception): Declare members as
3177 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
3178 transaction-safe members of exceptions and helper functions.
3179 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
3180 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
3181 (CXXABI_1.3.10): New.
3182 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
3183 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
3184 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
3185 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
3186 * include/Makefile.in: Regenerate.
3187 * config.h.in: Regenerate.
3188 * configure: Regenerate.
3189 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
3191 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
3193 * include/ext/random.tcc: Use __builtin_isfinite instead of
3196 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
3198 * include/bits/std_mutex.h: Fix Doxygen @file name.
3200 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
3201 Jonathan Wakely <jwakely@redhat.com>
3202 Florian Goth <CaptainSifff@gmx.de>
3204 Implement TR29124 C++ special Math Functions.
3205 * include/Makefile.am: Add new headers.
3206 * include/Makefile.in: Regenerate.
3207 * include/bits/specfun.h: New.
3208 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
3209 * include/tr1/bessel_function.tcc: Ditto.
3210 * include/tr1/beta_function.tcc: Ditto.
3211 * include/tr1/cmath: Ditto.
3212 * include/tr1/ell_integral.tcc: Ditto.
3213 * include/tr1/exp_integral.tcc: Ditto.
3214 * include/tr1/gamma.tcc: Ditto.
3215 * include/tr1/hypergeometric.tcc: Ditto.
3216 * include/tr1/legendre_function.tcc: Ditto.
3217 * include/tr1/modified_bessel_func.tcc: Ditto.
3218 * include/tr1/poly_hermite.tcc: Ditto.
3219 * include/tr1/poly_laguerre.tcc: Ditto.
3220 * include/tr1/riemann_zeta.tcc: Ditto.
3221 * include/tr1/special_function_util.h: Ditto.
3222 * testsuite/ext/special_functions/conf_hyperg: New.
3223 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
3224 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
3225 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
3226 * testsuite/ext/special_functions/hyperg: New.
3227 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
3228 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
3229 * testsuite/ext/special_functions/hyperg/compile.cc: New.
3230 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
3231 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
3232 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
3233 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
3234 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
3235 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
3236 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
3237 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
3238 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
3239 * testsuite/special_functions/03_beta/check_nan.cc: New.
3240 * testsuite/special_functions/03_beta/check_value.cc: New.
3241 * testsuite/special_functions/03_beta/compile.cc: New.
3242 * testsuite/special_functions/03_beta/compile_2.cc: New.
3243 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
3244 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
3245 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
3246 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
3247 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
3248 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
3249 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
3250 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
3251 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
3252 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
3253 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
3254 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
3255 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
3256 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
3257 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
3258 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
3259 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
3260 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
3261 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
3262 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
3263 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
3264 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
3265 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
3266 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
3267 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
3268 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
3269 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
3270 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
3271 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
3272 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
3273 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
3274 * testsuite/special_functions/11_ellint_1/compile.cc: New.
3275 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
3276 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
3277 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
3278 * testsuite/special_functions/12_ellint_2/compile.cc: New.
3279 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
3280 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
3281 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
3282 * testsuite/special_functions/13_ellint_3/compile.cc: New.
3283 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
3284 * testsuite/special_functions/14_expint/check_nan.cc: New.
3285 * testsuite/special_functions/14_expint/check_value.cc: New.
3286 * testsuite/special_functions/14_expint/compile.cc: New.
3287 * testsuite/special_functions/14_expint/compile_2.cc: New.
3288 * testsuite/special_functions/15_hermite/check_nan.cc: New.
3289 * testsuite/special_functions/15_hermite/check_value.cc: New.
3290 * testsuite/special_functions/15_hermite/compile.cc: New.
3291 * testsuite/special_functions/15_hermite/compile_2.cc: New.
3292 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
3293 * testsuite/special_functions/16_laguerre/check_value.cc: New.
3294 * testsuite/special_functions/16_laguerre/compile.cc: New.
3295 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
3296 * testsuite/special_functions/17_legendre/check_nan.cc: New.
3297 * testsuite/special_functions/17_legendre/check_value.cc: New.
3298 * testsuite/special_functions/17_legendre/compile.cc: New.
3299 * testsuite/special_functions/17_legendre/compile_2.cc: New.
3300 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
3301 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
3302 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
3303 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
3304 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
3305 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
3306 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
3307 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
3308 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
3309 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
3310 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
3311 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
3312 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
3313 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
3314 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
3315 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
3316 * testsuite/util/specfun_testcase.h: New.
3317 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
3318 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
3319 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
3320 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
3321 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
3322 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
3323 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
3325 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
3328 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
3329 and isnan functions.
3330 * config.h.in: Regenerate.
3331 * configure: Regenerate.
3332 * include/c_global/cmath (isinf(double), isnan(double))
3333 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
3334 * testsuite/26_numerics/headers/cmath/48891.cc: New.
3336 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3339 * configure.host (abi_baseline_pair): Use separate baseline for
3340 Solaris 11+ and Solaris 10 with gld.
3341 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
3342 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
3343 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
3345 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
3348 * include/std/type_traits: Following N4511, reimplement __is_swappable
3349 and __is_nothrow_swappable. Move __is_swappable to namespace std,
3350 adjust callers. Use __is_nothrow_swappable in swap.
3351 * include/bits/move.h: Use __is_nothrow_swappable in swap.
3352 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
3353 __is_swappable related tests.
3354 * testsuite/20_util/is_swappable/value.cc: New.
3355 * testsuite/20_util/is_swappable/requirements/
3356 explicit_instantiation.cc: New.
3357 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
3358 * testsuite/25_algorithms/swap/68877.cc: New.
3360 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
3362 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
3366 * include/std/functional (function::_Invoke): Remove, use result_of.
3367 (function::_Callable): Replace alias template with class template
3368 and use partial specialization instead of _NotSelf alias template.
3369 (function(_Functor)): Add "not self" constraint so that _Callable is
3370 not used while type is incomplete.
3371 * testsuite/20_util/function/69222.cc: New.
3373 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
3376 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
3377 Define partial specialization.
3378 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
3379 destroy members to std::allocator explicit specialization.
3381 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
3383 * testsuite/26_numerics/headers/cmath/
3384 c99_classification_macros_c++.cc: Rename to ...
3385 * testsuite/26_numerics/headers/cmath/
3386 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
3387 * testsuite/26_numerics/headers/cmath/
3388 c99_classification_macros_c++0x.cc: Rename to ...
3389 * testsuite/26_numerics/headers/cmath/
3390 c99_classification_macros_c++11.cc: Here.
3393 * include/bits/uses_allocator.h: Add missing include.
3395 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
3400 * include/bits/stl_iterator.h (back_insert_iterator,
3401 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
3402 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
3403 * include/std/future (__future::base::_State_baseV2::__setter):
3405 * include/std/scoped_allocator (__outermost): Likewise.
3406 * testsuite/20_util/scoped_allocator/69114.cc: New.
3407 * testsuite/20_util/uses_allocator/69114.cc: New.
3408 * testsuite/30_threads/promise/69106.cc: New.
3410 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
3413 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
3414 Remove _GLIBCXX_NOEXCEPT.
3415 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
3417 * include/Makefile.am: Adjust.
3418 * include/Makefile.in: Regenerate.
3419 * include/bits/mutex.h: Rename to bits/std_mutex.h.
3420 * include/std/condition_variable: Adjust include.
3421 * include/std/mutex: Likewise.
3423 2016-01-04 Jakub Jelinek <jakub@redhat.com>
3425 Update copyright years.
3427 Copyright (C) 2016 Free Software Foundation, Inc.
3429 Copying and distribution of this file, with or without modification,
3430 are permitted in any medium without royalty provided the copyright
3431 notice and this notice are preserved.