1 2016-09-22 Jason Merrill <jason@redhat.com>
3 * configure.ac: Define HAVE_MEMALIGN for newlib.
5 2015-09-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
7 * config/cpu/m68k/atomicity.h: Adjust comment.
8 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
9 explicit atomicity_dir setup via configure.host.
10 * configure.host (rtems-*): Set atomicity_dir.
11 * configure: Regenerate.
13 2016-09-22 Jonathan Wakely <jwakely@redhat.com>
15 Implement C++17 node extraction and insertion (P0083R5)
16 * doc/xml/manual/status_cxx2017.xml: Document status.
17 * doc/html/*: Regenerate.
18 * include/Makefile.am: Add bits/node_handle.h and reorder.
19 * include/Makefile.in: Regenerate.
20 * include/bits/hashtable.h (_Hashtable::node_type)
21 (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node)
22 (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract)
23 (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define.
24 (_Hash_merge_helper): Define primary template.
25 * include/bits/node_handle.h: New header.
26 * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as
28 (map::node_type, map::insert_return_type, map::extract, map::merge)
29 (map::insert(node_type&&), map::insert(const_iterator, node_type&&)):
31 (_Rb_tree_merge_helper): Specialize for map.
32 * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper
34 (multimap::node_type, multimap::extract, multimap::merge)
35 (multimap::insert(node_type&&))
36 (multimap::insert(const_iterator, node_type&&)): Define.
37 (_Rb_tree_merge_helper): Specialize for multimap.
38 * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper
40 (multiset::node_type, multiset::extract, multiset::merge)
41 (multiset::insert(node_type&&))
42 (multiset::insert(const_iterator, node_type&&)): Define.
43 * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as
45 (set::node_type, set::insert_return_type, set::extract, set::merge)
46 (set::insert(node_type&&), set::insert(const_iterator, node_type&&)):
48 (_Rb_tree_merge_helper): Specialize for set.
49 * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend.
50 (_Rb_tree::node_type, _Rb_tree::insert_return_type)
51 (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal)
52 (_Rb_tree::_M_reinsert_node_hint_unique)
53 (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract)
54 (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define.
55 (_Rb_tree_merge_helper): Specialize for multiset.
56 * include/bits/unordered_map.h (unordered_map): Declare
57 unordered_map<> and unordered_multimap<> as friends.
58 (unordered_map::node_type, unordered_map::insert_return_type)
59 (unordered_map::extract, unordered_map::merge)
60 (unordered_map::insert(node_type&&))
61 (unordered_map::insert(const_iterator, node_type&&))
62 (unordered_multimap): Declare _Hash_merge_helper as friend.
63 (unordered_multimap::node_type, unordered_multimap::extract)
64 (unordered_multimap::merge, unordered_multimap::insert(node_type&&))
65 (unordered_multimap::insert(const_iterator, node_type&&)): Define.
66 (_Hash_merge_helper): Specialize for unordered maps and multimaps.
67 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
68 Declare _Hash_merge_helper as friend.
69 (unordered_set::node_type, unordered_set::insert_return_type)
70 (unordered_set::extract, unordered_set::merge)
71 (unordered_set::insert(node_type&&))
72 (unordered_set::insert(const_iterator, node_type&&)): Define.
73 (unordered_multiset::node_type, unordered_multiset::extract)
74 (unordered_multiset::merge, unordered_multiset::insert(node_type&&))
75 (unordered_multiset::insert(const_iterator, node_type&&)): Define.
76 (_Hash_merge_helper): Specialize for unordered sets and multisets.
77 * include/debug/map.h (map): Add using declarations or forwarding
78 functions for new members.
79 * include/debug/map.h (multimap): Likewise.
80 * include/debug/map.h (multiset): Likewise.
81 * include/debug/map.h (set): Likewise.
82 * include/debug/unordered_map (unordered_map, unordered_multimap):
84 * include/debug/unordered_set( unordered_set, unordered_multiset):
86 * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New
88 (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper.
89 (StdNodeHandlePrinter): Define printer for node handles.
90 (build_libstdcxx_dictionary): Register StdNodeHandlePrinter.
91 * testsuite/23_containers/map/modifiers/extract.cc: New.
92 * testsuite/23_containers/map/modifiers/merge.cc: New.
93 * testsuite/23_containers/multimap/modifiers/extract.cc: New.
94 * testsuite/23_containers/multimap/modifiers/merge.cc: New.
95 * testsuite/23_containers/multiset/modifiers/extract.cc: New.
96 * testsuite/23_containers/multiset/modifiers/merge.cc: New.
97 * testsuite/23_containers/set/modifiers/extract.cc: New.
98 * testsuite/23_containers/set/modifiers/merge.cc: New.
99 * testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
100 * testsuite/23_containers/unordered_map/modifiers/merge.cc: New.
101 * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
103 * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New.
104 * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
106 * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New.
107 * testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
108 * testsuite/23_containers/unordered_set/modifiers/merge.cc: New.
109 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
111 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles.
113 2016-09-22 Ville Voutilainen <ville.voutilainen@gmail.com>
115 Fix tests on old arm platforms for optional.
116 * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
118 2016-09-22 Jonathan Wakely <jwakely@redhat.com>
120 * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for
121 recent change to _Variant_storage.
122 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with
125 * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify
126 std::forward and ::new. Cast pointer to void*.
127 * include/std/variant (_Variant_storage, _Union, _Variant_base)
128 (__access, __visit_invoke, variant, visit): Qualify std::forward.
129 * testsuite/20_util/variant/compile.cc: Test for ADL problems.
131 2016-09-22 Tim Shen <timshen@google.com>
133 * include/std/variant (variant::operator=): Fix assignment
135 * testsuite/20_util/variant/compile.cc: Add test.
137 2016-09-22 Tim Shen <timshen@google.com>
140 * include/std/variant (_Variant_storage::_Variant_storage):
141 Change _Variant_storage's union to be default constructible.
142 * testsuite/20_util/variant/compile.cc: New test.
144 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
147 * include/std/optional (__is_optional_impl, __is_optional): Remove.
148 (__converts_from_optional, __assigns_from_optional): New.
149 (optional(_Up&&)): Use is_same instead of __is_optional.
150 (optional(const optional<_Up>&)): Constrain with
151 __converts_from_optional.
152 (optional(optional<_Up>&&)): Likewise.
153 (operator=(_Up&&)): Use is_same instead of __is_optional, check
154 is_same and is_scalar.
155 (operator=(const optional<_Up>&)): Constrain with
156 __converts_from_optional and __assigns_from_optional.
157 (operator=(optional<_Up>&&)): Likewise.
158 * testsuite/20_util/optional/77288.cc: New.
159 * testsuite/20_util/optional/cons/value.cc: Adjust.
161 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
163 Implement LWG 2729 for tuple.
164 * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
165 Suppress conditionally.
166 (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
167 (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
168 (_Tuple_impl(const _Head&)): Constrain.
169 (_Tuple_impl(_UHead&&)): Likewise.
170 (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
171 (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
172 (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
173 (operator=(const tuple&)): Enable conditionally.
174 (operator=(tuple&&)): Suppress conditionally.
175 (operator=(const tuple<_UElements...>&)): Constrain.
176 (operator=(tuple<_UElements...>&&)): Likewise.
177 (operator=(const tuple&)): Enable conditionally (2-param tuple).
178 (operator=(tuple&&)): Suppress conditionally (2-param tuple).
179 (operator=(const tuple<_U1, _U2>&)): Constrain.
180 (operator=(tuple<_U1, _U2>&&)): Likewise.
181 (operator=(const pair<_U1, _U2>&)): Likewise.
182 (operator=(pair<_U1, _U2>&&)): Likewise.
183 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
184 * testsuite/20_util/tuple/tuple_traits.cc: New.
186 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
189 Implement LWG 2729 for pair.
190 * include/bits/stl_pair.h (_PCC): New.
191 (_ConstructiblePair, _ImplicitlyConvertiblePair):
192 Turn into static member functions of _PCC.
193 (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
195 (pair(const _T1&, const _T2&)): Adjust.
197 (pair(const pair<_U1, _U2>&)): Adjust.
198 (pair(_U1&&, const _T2&)): Likewise.
199 (pair(const _T1&, _U2&&)): Likewise.
200 (pair(_U1&&, _U2&&)): Likewise.
201 (pair(pair<_U1, _U2>&&)): Likewise.
202 (operator=(const pair&)): Make conditionally deleted.
203 (operator=(pair&&)): Make conditionally suppressed.
204 (operator=(const pair<_U1, _U2>&)): Constrain.
205 (operator=(pair<_U1, _U2>&&): Likewise.
206 * include/std/type_traits (__nonesuch): New.
207 * testsuite/20_util/pair/traits.cc: New.
209 2016-09-20 Ville Voutilainen <ville.voutilainen@gmail.com>
212 * include/bits/stl_construct.h: (_Construct_novalue): New.
213 (_Destroy_n_aux, _Destroy_n): New.
214 * include/bits/stl_uninitialized.h: (type_traits):
215 New include in C++11 mode.
216 (__uninitialized_default_novalue_1): New.
217 (__uninitialized_default_novalue_n_1): Likewise.
218 (__uninitialized_default_novalue): Likewise.
219 (__uninitialized_default_novalue_n): Likewise.
220 (__uninitialized_copy_n_pair): Likewise.
221 (uninitialized_default_construct):
222 Use __uninitialized_default_novalue.
223 (uninitialized_default_construct_n):
224 Use __uninitialized_default_novalue_n.
225 (uninitialized_value_construct): Use __uninitialized_default.
226 (uninitialized_value_construct_n): Use __uninitialized_default_n.
227 (uninitialized_move): Use uninitialized_copy.
228 (uninitialized_move_n): Use __uninitialized_copy_n_pair.
229 (destroy_at): Use _Destroy.
231 (destroy_n): Likewise.
232 * testsuite/20_util/specialized_algorithms/
233 memory_management_tools/1.cc: Add tests for exceptions,
234 add tests for trivial cases for construct and move.
236 2016-09-20 Jonathan Wakely <jwakely@redhat.com>
238 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
239 (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
241 2016-09-19 Jonathan Wakely <jwakely@redhat.com>
244 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
245 (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
246 division to int to work with Python 3.
248 * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
250 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
251 display_hint to be set by subclasses.
252 (StdVariantPrinter): Use array for display_hint. Adjust output to be
253 more similar to std::any and std::optional output.
254 (register_type_printers): Add type printers for basic_string_view
255 typedefs and experimental::any. Adjust type printers for
256 fundamentals_v1 templates to match fundamentals_v2 and later.
257 * testsuite/libstdc++-prettyprinters/cxx17.cc: New.
260 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
262 (ListWorkerBase.get_value_from_node): Define new method.
263 (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
265 2016-09-17 Jonathan Wakely <jwakely@redhat.com>
267 * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
268 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
269 Register for C++17 components in namespace std. Strip inline namespace
272 2016-09-16 Jonathan Wakely <jwakely@redhat.com>
274 * doc/xml/manual/profile_mode.xml: Fix typo.
275 * doc/html/manual/profile_mode_devel.html: Regenerate.
277 2016-09-16 Jonathan Wakely <jwakely@redhat.com>
278 Marc Glisse <marc.glisse@inria.fr>
280 * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
281 (operator new(size_t, align_val_t)): Replace modulus operator with
284 2016-09-16 Jonathan Wakely <jwakely@redhat.com>
286 * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
287 Increase alignment if less than sizeof(void*).
288 [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
289 Increase size if not a multiple of alignment.
291 2016-09-15 Jonathan Wakely <jwakely@redhat.com>
293 * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
294 * doc/html/*: Regenerate.
296 * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
298 * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
300 2016-09-14 Marek Polacek <polacek@redhat.com>
302 * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
305 2016-09-14 Christophe Lyon <christophe.lyon@linaro.org>
307 * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
308 Move dg-do directive before dg-skip.
309 * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
310 Move dg-do directive before dg-require.
311 * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
312 * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
313 * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
314 * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
315 * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
316 * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
317 * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
318 * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
319 * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
320 * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
321 * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
322 * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
323 * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
324 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
325 * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
327 * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
328 * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
329 * testsuite/27_io/objects/char/12048-5.cc: Likewise.
330 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
331 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
333 2016-09-13 Ville Voutilainen <ville.voutilainen@gmail.com>
335 Implement P0040R3, Extending memory management tools.
336 * include/bits/stl_uninitialized.h (utility): New include
338 (uninitialized_default_construct): New.
339 (uninitialized_default_construct_n): Likewise.
340 (uninitialized_value_construct): Likewise.
341 (uninitialized_value_construct_n): Likewise.
342 (uninitialized_move): Likewise.
343 (uninitialized_move_n): Likewise.
344 (destroy_at, destroy, destroy_n): Likewise.
345 * testsuite/20_util/specialized_algorithms/memory_management_tools/
348 2016-09-12 Jason Merrill <jason@redhat.com>
350 * config/abi/pre/gnu.ver: Use [jmy] for size_t.
352 2016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
354 Implement P0253R1, Fixing a design mistake in the searchers
355 interface in Library Fundamentals.
356 * include/std/functional: (utility): New include in C++17 mode.
357 (default_searcher): Use a pair as return type, adjust the definition.
358 (boyer_moore_searcher): Likewise.
359 (boyer_moore_horspool_searcher): Likewise.
360 * testsuite/20_util/function_objects/searchers.cc: Adjust.
362 2016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
364 Implement C++17 string searchers.
365 * include/std/functional: (unordered_map, vector): New includes
367 (array, bits/stl_algo.h): Likewise.
368 (default_searcher, __boyer_moore_map_base): New.
369 (__boyer_moore_array_base, __is_std_equal_to): Likewise.
370 (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
371 (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
372 (make_boyer_moore_searcher): Likewise.
373 (make_boyer_moore_horspool_searcher): Likewise.
374 * testsuite/20_util/function_objects/searchers.cc: New.
376 2016-09-12 Matthew Wahab <matthew.wahab@arm.com>
378 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
379 Move dg-do directive before dg-require.
380 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
381 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
383 * testsuite/22_locale/codecvt/utf8.cc: Likewise.
384 * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
385 * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
386 * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
387 * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
388 * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
389 * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
390 * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
391 * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
392 * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
393 * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
394 * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
395 * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
397 * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
399 * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
400 * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
401 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
403 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
405 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
407 * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
409 * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
411 * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
413 * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
415 * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
417 * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
419 * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
421 * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
423 * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
425 * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
427 * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
429 * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
431 * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
433 * testsuite/23_containers/forward_list/debug/
434 iterator_self_move_assign_neg.cc: Likewise.
435 * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
437 * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
439 * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
441 * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
443 * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
445 * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
447 * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
449 * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
451 * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
452 * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
453 * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
454 * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
455 * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
456 * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
457 * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
458 * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
459 * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
460 * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
461 * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
463 * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
464 * testsuite/23_containers/map/debug/60499.cc: Likewise.
465 * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
466 * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
467 * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
468 * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
469 * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
470 * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
471 * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
473 * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
474 * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
475 * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
476 * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
477 * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
478 * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
479 * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
480 * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
481 * testsuite/23_containers/multimap/debug/
482 iterator_self_move_assign_neg.cc: Likewise.
483 * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
485 * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
486 * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
487 * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
488 * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
489 * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
490 * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
491 * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
492 * testsuite/23_containers/multiset/debug/
493 iterator_self_move_assign_neg.cc: Likewise.
494 * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
496 * testsuite/23_containers/set/debug/60499.cc: Likewise.
497 * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
498 * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
499 * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
500 * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
501 * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
502 * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
503 * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
505 * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
506 * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
507 * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
508 * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
509 * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
511 * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
512 * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
513 * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
515 * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
517 * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
519 * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
520 * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
521 * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
522 * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
523 * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
524 * testsuite/23_containers/unordered_map/debug/
525 invalid_local_iterator_compare_neg.cc: Likewise.
526 * testsuite/23_containers/unordered_map/debug/
527 invalid_local_iterator_range_neg.cc: Likewise.
528 * testsuite/23_containers/unordered_map/debug/
529 iterator_self_move_assign_neg.cc: Likewise.
530 * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
532 * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
534 * testsuite/23_containers/unordered_map/debug/
535 use_erased_local_iterator_neg.cc: Likewise.
536 * testsuite/23_containers/unordered_map/debug/
537 use_invalid_iterator_neg.cc: Likewise.
538 * testsuite/23_containers/unordered_map/debug/
539 use_invalid_local_iterator_neg.cc: Likewise.
540 * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
541 * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc:
543 * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
545 * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
547 * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
549 * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
551 * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
553 * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
555 * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
557 * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
559 * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
561 * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
563 * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
565 * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
567 * testsuite/23_containers/unordered_multimap/debug/
568 invalid_local_iterator_compare_neg.cc: Likewise.
569 * testsuite/23_containers/unordered_multimap/debug/
570 invalid_local_iterator_range_neg.cc: Likewise.
571 * testsuite/23_containers/unordered_multimap/debug/
572 iterator_self_move_assign_neg.cc: Likewise.
573 * testsuite/23_containers/unordered_multimap/debug/
574 max_load_factor_neg.cc: Likewise.
575 * testsuite/23_containers/unordered_multimap/debug/
576 self_move_assign_neg.cc: Likewise.
577 * testsuite/23_containers/unordered_multimap/debug/
578 use_erased_local_iterator_neg.cc: Likewise.
579 * testsuite/23_containers/unordered_multimap/debug/
580 use_invalid_iterator_neg.cc: Likewise.
581 * testsuite/23_containers/unordered_multimap/debug/
582 use_invalid_local_iterator_neg.cc: Likewise.
583 * testsuite/23_containers/unordered_multiset/debug/60499.cc:
585 * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
587 * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
589 * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
591 * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
593 * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
595 * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
597 * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
599 * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
601 * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
603 * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
605 * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
607 * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
609 * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
611 * testsuite/23_containers/unordered_multiset/debug/
612 invalid_local_iterator_compare_neg.cc: Likewise.
613 * testsuite/23_containers/unordered_multiset/debug/
614 invalid_local_iterator_range_neg.cc: Likewise.
615 * testsuite/23_containers/unordered_multiset/debug/
616 iterator_self_move_assign_neg.cc: Likewise.
617 * testsuite/23_containers/unordered_multiset/debug/
618 max_load_factor_neg.cc: Likewise.
619 * testsuite/23_containers/unordered_multiset/debug/
620 self_move_assign_neg.cc: Likewise.
621 * testsuite/23_containers/unordered_multiset/debug/
622 use_erased_local_iterator_neg.cc: Likewise.
623 * testsuite/23_containers/unordered_multiset/debug/
624 use_invalid_iterator_neg.cc: Likewise.
625 * testsuite/23_containers/unordered_multiset/debug/
626 use_invalid_local_iterator_neg.cc: Likewise.
627 * testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
628 * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
629 * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
630 * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
632 * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
633 * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
634 * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
636 * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
638 * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
640 * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
641 * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
642 * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
643 * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
644 * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
645 * testsuite/23_containers/unordered_set/debug/
646 invalid_local_iterator_compare_neg.cc: Likewise.
647 * testsuite/23_containers/unordered_set/debug/
648 invalid_local_iterator_range_neg.cc: Likewise.
649 * testsuite/23_containers/unordered_set/debug/
650 iterator_self_move_assign_neg.cc: Likewise.
651 * testsuite/23_containers/unordered_set/debug/
652 max_load_factor_neg.cc: Likewise.
653 * testsuite/23_containers/unordered_set/debug/
654 self_move_assign_neg.cc: Likewise.
655 * testsuite/23_containers/unordered_set/debug/
656 use_erased_local_iterator_neg.cc: Likewise.
657 * testsuite/23_containers/unordered_set/debug/
658 use_invalid_iterator_neg.cc: Likewise.
659 * testsuite/23_containers/unordered_set/debug/
660 use_invalid_local_iterator_neg.cc: Likewise.
661 * testsuite/23_containers/vector/debug/52433.cc: Likewise.
662 * testsuite/23_containers/vector/debug/60499.cc: Likewise.
663 * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
664 * testsuite/23_containers/vector/debug/
665 iterator_self_move_assign_neg.cc: Likewise.
666 * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
668 * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
669 * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
670 * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
671 * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
672 * testsuite/29_atomics/atomic/60658.cc: Likewise.
673 * testsuite/29_atomics/atomic/60695.cc: Likewise.
674 * testsuite/29_atomics/atomic/62259.cc: Likewise.
675 * testsuite/29_atomics/atomic/64658.cc: Likewise.
676 * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
677 * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
678 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
681 2016-09-11 Jonathan Wakely <jwakely@redhat.com>
683 * libsupc++/new_opant.cc: Include exception_defines.h.
684 * libsupc++/new_opvant.cc: Likewise.
686 2016-09-09 Jason Merrill <jason@redhat.com>
688 Implement P0035R4, C++17 new of over-aligned types.
689 * libsupc++/new: Declare aligned new/delete operators.
690 * config/abi/pre/gnu.ver: Export them.
691 * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
693 * libsupc++/new_opa.cc: New.
694 * libsupc++/new_opant.cc: New.
695 * libsupc++/new_opva.cc: New.
696 * libsupc++/new_opva.cc: New.
697 * libsupc++/del_opa.cc: New.
698 * libsupc++/del_opant.cc: New.
699 * libsupc++/del_opsa.cc: New.
700 * libsupc++/del_opva.cc: New.
701 * libsupc++/del_opvant.cc: New.
702 * libsupc++/del_opvsa.cc: New.
703 * libsupc++/Makefile.am: Build them.
705 2016-09-05 Tim Shen <timshen@google.com>
707 * include/std/variant: include bits/move.h for std::addressof.
709 2016-09-05 Mikhail Strelnikov <mikhail.strelnikov@gmail.com>
711 * include/std/variant (_Variant_storage::_M_storage()): Use
712 std::addressof instead of operator& to take address.
714 2016-09-02 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
716 * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
717 setrlimit on both native and cross targets.
718 * configure: Regenerate.
720 2016-08-31 Jonathan Wakely <jwakely@redhat.com>
722 * include/bits/shared_ptr.h (_Assignable): New alias template.
723 (shared_ptr::operator=(const shared_ptr<_Tp1>&))
724 (shared_ptr::operator=(shared_ptr<_Tp1>&&))
725 (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
727 * include/bits/shared_ptr_base.h (_Assignable): New alias template.
728 (__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
729 (__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
730 (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
732 (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
733 (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
735 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
737 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
738 * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
739 * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
740 expected errors. Remove unnecessary code.
741 * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
743 * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
745 * testsuite/23_containers/set/move_comparison.cc: New test.
747 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
750 2016-08-30 Ville Voutilainen <ville.voutilainen@gmail.com>
753 * include/std/type_traits (is_constructible): Forward-declare...
754 (__is_base_to_derived_ref): ...and use here.
755 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
756 * testsuite/20_util/is_constructible/77395.cc: New.
757 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
758 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
760 * testsuite/20_util/tuple/77395.cc: New.
762 2016-08-30 Uros Bizjak <ubizjak@gmail.com>
764 * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
765 directive above dg-require-namedlocale directive.
766 * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
767 * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
768 * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
769 * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
770 * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
772 2016-08-27 Tim Shen <timshen@google.com>
775 * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
776 _M_expression_term): Modify to support dash literal.
777 * include/bits/regex_scanner.h: Add dash as a token type to make
778 a different from the mandated dash literal by escaping.
779 * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
780 token in bracket expression parsing.
781 * testsuite/28_regex/regression.cc: Add new testcases.
783 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
786 * doc/xml/manual/intro.xml: Document DR 2127 change.
787 * doc/html/*: Regenerate.
788 * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
789 (operator++(), operator++(int)): Use injected class name.
790 * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
792 * testsuite/*: Use { target c++11 } or { target c++14 } instead of
793 using -std in dg-options.
795 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
796 Pedro Alves <palves@redhat.com>
798 * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
799 and restore dg-interpreter-batch-mode.
800 * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
801 gdb-dg-runtest instead of dg-runtest.
802 * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
804 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
806 * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
807 precise patterns for basic_string constructors.
808 (GLIBCXX_3.4.23): Export new constructors.
809 * doc/xml/manual/intro.xml: Document LWG 2583 status.
810 * doc/html/*: Regenerate.
811 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
812 (basic_string(const basic_string&, size_type, const Alloc&)): Add
813 new constructor for LWG 2583.
814 (basic_string(const basic_string&, size_type, size_type)): Remove
816 [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
817 * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
818 * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
819 * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
821 2016-08-24 Aditya Kumar <hiraditya@msn.com>
823 * include/bits/algorithmfwd.h: Remove trailing whitespace.
824 * include/bits/shared_ptr_base.h: Likewise.
826 2016-08-23 Jonathan Wakely <jwakely@redhat.com>
828 * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
829 * include/profile/array (array): Likewise.
830 (array::swap): Fix exception specification for zero-sized arrays.
833 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
834 (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
835 * testsuite/23_containers/map/77334.cc: New test.
837 * doc/xml/manual/using.xml: Remove reference to -pthreads option.
838 * doc/html/*: Regenerate.
840 * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
841 * testsuite/experimental/feat-lib-fund.cc: Likewise.
844 * include/bits/stl_iterator.h
845 (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
846 define for C++98 mode.
847 (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
848 * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
850 * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
851 * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
852 * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
853 * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
855 * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
856 difference operator for C++98.
857 * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
859 * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
860 * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
861 (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
862 * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
863 (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
865 * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
866 _GLIBCXX14_CONSTEXPR.
867 (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
868 * include/std/array (array::begin, array::end, array::rbegin)
869 (array::rend, array::cbegin, array:cend, array::crbegin)
870 (array::crend, array::operator[], array::at, array::front)
871 (array::back, array::data): Likewise.
872 * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
873 with separate tests for C++11, C++14, and C++17.
874 * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
875 * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
876 * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
878 2016-08-22 Tim Shen <timshen@google.com>
880 Split _M_dfs() into smaller functions.
881 * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
882 (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
883 (_M_handle_line_end_assertion, _M_handle_word_boundary)
884 (_M_handle_subexpr_lookahead, _M_handle_match)
885 (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
886 Add separate function declarations.
887 * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
889 2016-08-22 Gleb Natapov <gleb@scylladb.com>
892 * config/abi/pre/gnu-versioned-namespace.ver: Export
893 __cxa_init_primary_exception and std::exception_ptr(void*).
894 * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
895 export __cxa_init_primary_exception and std::exception_ptr(void*).
896 * include/Makefile.am: Add new headers.
897 * include/Makefile.in: Regenerate.
898 * libsupc++/Makefile.am: Add new headers.
899 * libsupc++/Makefile.in: Regenerate.
900 * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
901 * libsupc++/cxxabi_init_exception.h: New header.
902 (__cxa_init_primary_exception): Declare.
903 * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
904 (__cxa_throw): Use __cxa_init_primary_exception.
905 * libsupc++/exception (std::exception): Move to ...
906 * libsupc++/exception.h: New header.
907 * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
909 (__exception_ptr::__dest_thunk): New function template.
910 (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
911 Use __cxa_allocate_exception and __cxa_init_primary_exception to
912 create exception_ptr.
913 * libsupc++/typeinfo: Include bits/exception.h instead of exception.
914 * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
916 2016-08-22 Jonathan Wakely <jwakely@redhat.com>
918 * doc/xml/api.xml: Replace hardcoded links for specific versions with
919 link to docs for all releases.
920 * doc/html/*: Regenerate.
923 * doc/xml/manual/intro.xml: Document DR 2062 change.
924 * include/std/functional (function::swap): Add noexcept.
925 (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
926 * testsuite/20_util/function/77322.cc: New test.
928 2016-08-19 Jonathan Wakely <jwakely@redhat.com>
930 * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
931 *-*-solaris* instead of -pthreads.
932 * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
933 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
934 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
935 * testsuite/23_containers/list/pthread1.cc: Likewise.
936 * testsuite/23_containers/list/pthread5.cc: Likewise.
937 * testsuite/23_containers/map/pthread6.cc: Likewise.
938 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
939 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
940 * testsuite/30_threads/shared_mutex/*: Likewise.
941 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
942 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
943 default_weaktoshared.cc: Likewise.
944 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
945 mutex_weaktoshared.cc: Likewise.
946 * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
947 dg-require-effective-target instead of using -std option.
948 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
950 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
951 * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
953 * testsuite/30_threads/async/*: Likewise.
954 * testsuite/30_threads/call_once/*: Likewise.
955 * testsuite/30_threads/condition_variable/*: Likewise.
956 * testsuite/30_threads/condition_variable_any/*: Likewise.
957 * testsuite/30_threads/future/*: Likewise.
958 * testsuite/30_threads/lock/*: Likewise.
959 * testsuite/30_threads/mutex/*: Likewise.
960 * testsuite/30_threads/packaged_task/*: Likewise.
961 * testsuite/30_threads/promise/*: Likewise.
962 * testsuite/30_threads/recursive_mutex/*: Likewise.
963 * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
964 * testsuite/30_threads/shared_future/*: Likewise.
965 * testsuite/30_threads/shared_lock/*: Likewise.
966 * testsuite/30_threads/shared_timed_mutex/*: Likewise.
967 * testsuite/30_threads/this_thread/*: Likewise.
968 * testsuite/30_threads/thread/*: Likewise.
969 * testsuite/30_threads/timed_mutex/*: Likewise.
970 * testsuite/30_threads/try_lock/*: Likewise.
971 * testsuite/30_threads/unique_lock/*: Likewise.
973 * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
974 * doc/html/*: Regenerate.
975 * include/experimental/functional (_Not_fn, not_fn): Match C++17
977 * include/std/functional (_Not_fn, not_fn): Define for C++17.
978 * testsuite/20_util/not_fn/1.cc: New.
979 * testsuite/experimental/functional/not_fn.cc: Test abstract class.
980 Remove test for volatile-qualified wrapper.
982 * include/std/atomic (atomic::is_always_lock_free): Define.
983 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
984 * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
985 * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
986 * doc/xml/manual/status_cxx2017.xml: Update status.
987 * doc/html/*: Regenerate.
989 * include/experimental/tuple (apply): Qualify call to __apply_impl.
990 * include/std/tuple (apply): Likewise.
991 * testsuite/experimental/system_error/value.cc: Fix ambiguities in
993 * testsuite/experimental/tuple/tuple_size.cc: Likewise.
994 * testsuite/experimental/type_traits/value.cc: Likewise.
996 * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
998 * doc/html/*: Regenerate.
1000 2016-08-18 Ville Voutilainen <ville.voutilainen@gmail.com>
1002 Implement the latest proposed resolution of LWG 2756.
1003 * include/std/optional (Optional_base(const _Tp&))
1004 (Optional_base(_Tp&&), using _Base::_Base): Remove.
1005 (optional(nullopt_t)): New.
1006 (optional(_Up&&)): Invoke base directly with in_place
1007 rather than creating a temporary, add default template
1008 argument, change constraints.
1009 (optional(const optional<_Up>&)): Invoke base directly
1010 with in_place, remove unnecessary constraints.
1011 (optional(optional<_Up>&& __t)): Likewise.
1012 (optional(in_place_t, _Args&&...)): New.
1013 (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
1014 (operator=(_Up&&)): Add default template argument, change constraints.
1015 (operator=(const optional<_Up>&)): Put is_same first in the
1017 (operator=(optional<_Up>&&)): Likewise.
1018 * testsuite/20_util/optional/assignment/5.cc: Add a test to
1019 verify assignment from something that can't be perfect-forwarded.
1020 * testsuite/20_util/optional/cons/value.cc: Add tests to verify
1021 that a nested optional is disengaged when constructed
1022 from a disengaged element type, and to verify that assignments
1023 from an engaged element type engage the optional.
1025 2016-08-18 Tim Shen <timshen@google.com>
1029 * include/Makefile.am: Add new file std/variant.
1030 * include/Makefile.in: Generated from Makefile.am.
1031 * include/bits/enable_special_members.h: Add a tag type to allow
1032 the construction in non-default constructor.
1033 * include/bits/uses_allocator.h: Add convenience traits to
1034 detect constructibility.
1035 * include/std/variant: Implement <variant>.
1036 * testsuite/20_util/variant/compile.cc: Compile-time tests.
1037 * testsuite/20_util/variant/run.cc: Runtime tests.
1039 2016-08-18 Jonathan Wakely <jwakely@redhat.com>
1041 * doc/xml/manual/test.xml (test.run.permutations): Expand section.
1042 (test.new_tests): Rewrite section.
1043 (tests.dg.directives): New section.
1044 * doc/html/*: Regenerate.
1046 * doc/xml/manual/test.xml: Improve documentation of test targets.
1047 Document new-abi-baseline, check-debug, and check-parallel targets.
1049 * doc/xml/manual/build_hacking.xml: New section on shared library
1052 * doc/xml/manual/build_hacking.xml: Improve markup.
1053 * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
1055 * doc/xml/faq.xml: Change link text to "Testing".
1057 * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
1058 dg-options directive.
1060 2016-08-17 Jonathan Wakely <jwakely@redhat.com>
1062 * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
1063 directive and use effective target instead of dg-options.
1065 * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
1066 instead of -std in dg-options.
1067 * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
1068 * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
1069 * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
1070 * testsuite/20_util/hash/quality.cc: Likewise.
1071 * testsuite/25_algorithms/heap/moveable.cc: Likewise.
1072 * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
1073 * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
1074 * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
1075 * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
1076 * testsuite/25_algorithms/sort/random_test.cc: Likewise.
1078 * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
1079 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
1080 * testsuite/27_io/rvalue_streams.cc: Likewise.
1082 * testsuite/26_numerics/complex/literals/types.cc: Add comment.
1084 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
1085 Remove duplicate dg-options directive.
1087 * testsuite/ext/profile/all.cc: Use effective target instead of
1088 -std=gnu++11. Use dg-additional-options instead of repeating options.
1090 * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
1091 -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
1092 instead of dg-excess-errors.
1094 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
1096 * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
1097 * testsuite/experimental/ratio/value.cc: Likewise.
1098 * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
1100 * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
1101 * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
1102 * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
1103 * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
1104 * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
1105 * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
1106 * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
1107 * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
1108 * testsuite/tr1/5_numerical_facilities/special_functions/
1109 10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
1110 C++17 compatibility.
1112 * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
1113 expected signatures for C++14 compatibility.
1116 * include/bits/basic_string.h (operator=(__sv_type)
1117 (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
1118 (replace(size_type, size_type, __sv_type))
1119 (replace(const_iterator, const_iterator, __sv_type))
1120 (find(__sv_type, size_type), rfind(__sv_type, size_type))
1121 (compare(size_type, size_type, __sv_type)): Reformat.
1122 (_If_sv): Define helper for SFINAE constaints.
1123 (append(const _Tp&, size_type, size_type))
1124 (assign(const _Tp&, size_type, size_type))
1125 (insert(size_type, const _Tp&, size_type, size_type))
1126 (replace(size_type, size_type, const _Tp&, size_type, size_type)):
1128 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
1130 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
1132 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
1134 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
1136 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
1138 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
1140 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
1142 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
1144 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
1146 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
1148 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
1151 2016-08-16 Jonathan Wakely <jwakely@redhat.com>
1154 * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
1155 pointers to start and end of storage.
1156 * testsuite/23_containers/vector/bool/72847.cc: New test.
1157 * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
1158 _M_finish after deallocating.
1159 (vector<bool>::_M_fill_insert): Likewise.
1160 (vector<bool>::_M_insert_range): Likewise.
1161 (vector<bool>::_M_insert_aux): Likewise.
1163 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
1165 Implement LWG 2744 and LWG 2754.
1166 * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
1167 (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
1168 (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
1170 (emplace(_Args&&...)): Likewise.
1171 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
1172 * include/std/utility: (__is_in_place_type_impl): New.
1173 (__is_in_place_type): Likewise.
1174 * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
1176 * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
1177 in_place constructor.
1178 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
1179 * testsuite/20_util/any/requirements.cc: Add a test for
1180 in_place-constructing a non-default-constructible type.
1182 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
1184 Add a feature macro for C++17 make_from_tuple.
1185 * include/std/tuple (__cpp_lib_make_from_tuple): New.
1186 (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
1187 Qualify the call to get<>().
1188 * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
1190 2016-08-15 Uros Bizjak <ubizjak@gmail.com>
1192 * src/filesystem/ops.cc: Always include ostream and
1193 ext/stdio_filebuf.h.
1194 (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
1195 [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
1196 sendfile fails with ENOSYS or EINVAL.
1198 2016-08-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
1201 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
1204 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
1206 Implement C++17 make_from_tuple.
1207 * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
1208 * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
1210 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
1213 * include/bits/basic_string.h
1214 (append(__sv_type, size_type, size_type)): Turn into a template,
1215 change parameter type, constrain, add a conversion to __sv_type
1216 from the dependent parameter type.
1217 (assign(__sv_type, size_type, size_type)): Likewise.
1218 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
1219 (replace(size_type, size_type, __sv_type, size_type, size_type)):
1221 (compare(size_type, size_type,__sv_type, size_type, size_type)):
1223 * testsuite/21_strings/basic_string/lwg2758.cc: New.
1225 2016-08-06 Jonathan Wakely <jwakely@redhat.com>
1227 * doc/xml/manual/status_cxx2017.xml: Update status table.
1228 * doc/html/manual/status.html: Regenerate.
1230 * testsuite/lib/libstdc++.exp: Fix typo in comment.
1233 * include/std/functional (_Function_base::_Base_manager::_M_clone):
1234 Qualify new operator.
1235 * testsuite/20_util/function/cons/72820.cc: New test.
1237 * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
1238 * doc/html/manual/status.html: Regenerate.
1239 * include/Makefile.am: Add new header.
1240 * include/Makefile.in: Regenerate.
1241 * include/bits/invoke.h: New header.
1242 (__invoke): Make constexpr. Add && to types in exception specification.
1243 * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
1244 names. Include <bits/invoke.h> and use std::__invoke.
1245 * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
1247 (invoke): Add && to types in exception specification.
1248 * include/std/tuple (apply, __apply_impl): Define for C++17.
1249 * testsuite/20_util/tuple/apply/1.cc: New test.
1250 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
1253 2016-08-05 Jonathan Wakely <jwakely@redhat.com>
1255 * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
1256 * doc/html/manual/status.html: Regenerate.
1258 * include/std/chrono (floor, ceil, round, abs): New for C++17.
1259 * testsuite/20_util/duration_cast/rounding.cc: New test.
1260 * testsuite/20_util/time_point_cast/rounding.cc: New test.
1261 * doc/xml/manual/status_cxx2017.xml: Update status table.
1262 * doc/html/manual/status.html: Regenerate.
1263 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
1265 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
1266 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
1267 * testsuite/20_util/duration/literals/range.cc: Likewise.
1269 * include/std/functional (__callable_functor): Remove.
1270 (_Function_handler::_M_invoke): Use __invoke instead of
1271 __callable_functor or mem_fn.
1272 (function::_Callable): Use lvalue in result_of expression.
1273 (function): Remove TODO comments about allocators.
1274 * testsuite/20_util/function/cons/refqual.cc: New test.
1276 2016-08-04 Jonathan Wakely <jwakely@redhat.com>
1278 * doc/xml/manual/status_cxx2017.xml: Update status table.
1279 * include/std/functional (__inv_unwrap): Move to <type_traits>.
1280 (__invoke_impl): Remove exception specifications.
1281 (__invoke, invoke): Add exception specifications using
1282 __is_nothrow_callable.
1283 * include/std/type_traits (__inv_unwrap): Move from <functional>.
1284 (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
1285 (__is_callable, __is_nothrow_callable): New traits.
1286 (is_callable, is_callable_v): New C++17 traits.
1287 (is_nothrow_callable, is_nothrow_callable_v): Likewise.
1288 * testsuite/20_util/is_callable/requirements/
1289 explicit_instantiation.cc: New test.
1290 * testsuite/20_util/is_callable/requirements/
1291 explicit_instantiation_ext.cc: New test.
1292 * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
1293 * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
1295 * testsuite/20_util/is_callable/value.cc: New test.
1296 * testsuite/20_util/is_callable/value_ext.cc: New test.
1297 * testsuite/20_util/is_nothrow_callable/requirements/
1298 explicit_instantiation.cc: New test.
1299 * testsuite/20_util/is_nothrow_callable/requirements/
1300 explicit_instantiation_ext.cc: New test.
1301 * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
1303 * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
1305 * testsuite/20_util/is_nothrow_callable/value.cc: New test.
1306 * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
1308 * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
1309 * doc/html/manual/status.html: Regenerate.
1311 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
1312 effective target not dg-options. Move check for feature-test macro to:
1313 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
1316 * include/std/functional (_Unwrap): Rename to __inv_unwrap.
1318 (__invoke_impl): Remove unused template parameters.
1319 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
1321 * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
1322 and test __invoke extension for C++11.
1324 2016-08-03 Jonathan Wakely <jwakely@redhat.com>
1326 * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
1327 Define feature-test macro.
1328 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
1331 * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
1332 * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
1333 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1334 * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
1335 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1337 * include/std/utility (as_const): Define.
1338 * testsuite/20_util/as_const/1.cc: New test.
1339 * testsuite/20_util/as_const/rvalue_neg.cc: New test.
1341 * include/bits/shared_ptr.h (owner_less): Add default template
1343 * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
1345 (owner_less<void>): Define specialization.
1346 * include/bits/stl_function.h (__cpp_lib_transparent_operators):
1348 * testsuite/20_util/owner_less/void.cc: New test.
1349 * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
1351 * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
1352 Define feature-test macro.
1353 * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
1354 * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
1355 * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
1356 (__cpp_lib_type_trait_variable_templates): Define.
1358 * include/bits/stl_function.h: Remove commented-out macro.
1359 * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
1360 Define feature-test macro.
1361 * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
1363 * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
1364 C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
1366 * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
1367 do #error for C++17.
1368 * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
1369 of __STDCPP_WANT_MATH_SPEC_FUNCS__.
1370 * include/tr1/bessel_function.tcc: Likewise.
1371 * include/tr1/beta_function.tcc: Likewise.
1372 * include/tr1/cmath: Likewise.
1373 * include/tr1/ell_integral.tcc: Likewise.
1374 * include/tr1/exp_integral.tcc: Likewise.
1375 * include/tr1/gamma.tcc: Likewise.
1376 * include/tr1/hypergeometric.tcc: Likewise.
1377 * include/tr1/legendre_function.tcc: Likewise.
1378 * include/tr1/modified_bessel_func.tcc: Likewise.
1379 * include/tr1/poly_hermite.tcc: Likewise.
1380 * include/tr1/poly_laguerre.tcc: Likewise.
1381 * include/tr1/riemann_zeta.tcc: Likewise.
1382 * include/tr1/special_function_util.h: Likewise.
1383 * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
1385 * include/std/type_traits (has_trivial_default_constructor): Remove.
1386 (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
1387 * testsuite/20_util/has_trivial_copy_assign/requirements/
1388 explicit_instantiation.cc: Remove test.
1389 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1391 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
1393 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
1394 * testsuite/20_util/has_trivial_copy_constructor/requirements/
1395 explicit_instantiation.cc: Likewise.
1396 * testsuite/20_util/has_trivial_copy_constructor/requirements/
1397 typedefs.cc: Likewise.
1398 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
1399 * testsuite/20_util/has_trivial_default_constructor/requirements/
1400 explicit_instantiation.cc: Likewise.
1401 * testsuite/20_util/has_trivial_default_constructor/requirements/
1402 typedefs.cc: Likewise.
1403 * testsuite/20_util/has_trivial_default_constructor/value.cc:
1405 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
1406 Check has_trivial_default_constructor, has_trivial_copy_constructor,
1407 and has_trivial_copy_assign are not defined.
1408 * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
1410 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
1411 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
1412 dg-error line number.
1413 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1416 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
1418 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
1419 Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
1420 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
1422 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
1424 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
1426 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
1428 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
1430 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
1433 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
1436 * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
1437 dg-error to relevant line.
1438 * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
1440 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
1442 * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
1444 * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
1445 options are present that aren't valid for C.
1446 * testsuite/abi/header_cxxabi.c: Likewise.
1448 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
1449 check_value.cc: Do not add special functions to namespace std in TR1
1452 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
1453 run for C++11 and later.
1454 * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
1456 * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
1457 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
1458 * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
1459 * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
1460 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
1462 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
1464 * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
1465 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
1467 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
1469 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
1471 * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
1472 * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
1473 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
1474 * testsuite/special_functions/03_beta/check_value.cc: Likewise.
1475 * testsuite/special_functions/03_beta/compile.cc: Likewise.
1476 * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
1477 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
1478 * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
1480 * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
1481 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
1482 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
1483 * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
1485 * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
1486 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
1487 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
1488 * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
1490 * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
1491 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
1492 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
1493 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
1495 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
1496 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
1497 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
1498 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
1499 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
1501 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
1502 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
1503 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
1504 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
1506 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
1507 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
1508 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
1509 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
1510 * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
1511 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
1512 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
1513 * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
1514 * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
1515 * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
1516 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
1517 * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
1518 * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
1519 * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
1520 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
1521 * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
1522 * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
1523 * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
1524 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
1525 * testsuite/special_functions/14_expint/check_value.cc: Likewise.
1526 * testsuite/special_functions/14_expint/compile.cc: Likewise.
1527 * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
1528 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
1529 * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
1530 * testsuite/special_functions/15_hermite/compile.cc: Likewise.
1531 * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
1532 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
1533 * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
1534 * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
1535 * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
1536 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
1537 * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
1538 * testsuite/special_functions/17_legendre/compile.cc: Likewise.
1539 * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
1540 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
1541 * testsuite/special_functions/18_riemann_zeta/check_value.cc:
1543 * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
1544 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
1545 * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
1546 * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
1547 * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
1548 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
1549 * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
1550 * testsuite/special_functions/20_sph_legendre/check_value.cc:
1552 * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
1553 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
1554 * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
1555 * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
1556 * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
1557 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
1559 * testsuite/tr1/5_numerical_facilities/special_functions/
1560 08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
1562 * testsuite/tr1/5_numerical_facilities/special_functions/
1563 09_cyl_bessel_j/check_value.cc: Likewise.
1564 * testsuite/tr1/5_numerical_facilities/special_functions/
1565 10_cyl_bessel_k/check_value.cc: Likewise.
1566 * testsuite/tr1/5_numerical_facilities/special_functions/
1567 11_cyl_neumann/check_value.cc: Likewise.
1568 * testsuite/tr1/5_numerical_facilities/special_functions/
1569 21_sph_bessel/check_value.cc: Likewise.
1570 * testsuite/tr1/5_numerical_facilities/special_functions/
1571 23_sph_neumann/check_value.cc: Likewise.
1573 2016-08-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1575 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
1576 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1577 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1578 * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
1579 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
1580 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
1582 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
1584 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
1587 * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
1588 additional flags for compiling libtestc++.a objects.
1590 2016-08-01 Jonathan Wakely <jwakely@redhat.com>
1592 * include/bits/basic_string.h (data() const): Update comment.
1593 (data()): Add non-const overload for C++17.
1594 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
1595 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
1597 * include/bits/basic_string.tcc: Disable explicit instantiation
1598 declarations for C++17.
1600 * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
1601 ignored "xfail" from { dg-do compile { xfail selector } } directive.
1602 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
1604 * testsuite/26_numerics/headers/cmath/
1605 c99_classification_macros_c++11.cc: Likewise.
1606 * testsuite/26_numerics/headers/cmath/
1607 c99_classification_macros_c++98.cc: Likewise.
1608 * testsuite/26_numerics/headers/cmath/
1609 c99_classification_macros_c.cc: Likewise.
1611 * testsuite/backward/hash_set/check_construct_destroy.cc: Account
1612 for different construct/destroy counts in C++98 mode.
1614 * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
1616 * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
1618 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
1621 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
1622 C++98-compatible initialization for array.
1624 * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
1625 unused header and variable from compile-only test.
1626 * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
1627 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
1628 * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
1629 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
1632 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
1633 Remove duplicate dg-options directive.
1635 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
1636 808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
1638 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
1639 linker options from compile-only tests.
1640 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1643 * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
1644 supported for C++11 and later.
1645 * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
1646 * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
1648 2016-08-01 Uros Bizjak <ubizjak@gmail.com>
1650 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1652 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
1654 * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
1657 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1658 Ensure test is compiled with optimization.
1660 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1661 Adjust dg-prune-output pattern for error in C++98 mode.
1663 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
1664 run for C++11 or later.
1666 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
1667 test to not rely on GNU extension (escaped normal characters in POSIX
1668 BRE). Enable tests for other strings which are now supported.
1670 * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
1671 c++11 instead of setting -std=gnu++14.
1674 * include/std/array (get): Use positive message for static assertions.
1675 * include/std/functional (_Safe_tuple_element_t): Fix indentation.
1676 * include/std/tuple (tuple_element<I, tuple<>>): Add partial
1677 specialization for invalid indices, with static assertion.
1678 * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
1680 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
1681 dg-error to relevant line.
1682 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
1684 * testsuite/23_containers/forward_list/requirements/dr438/
1685 assign_neg.cc: Likewise.
1686 * testsuite/23_containers/forward_list/requirements/dr438/
1687 constructor_1_neg.cc: Likewise.
1688 * testsuite/23_containers/forward_list/requirements/dr438/
1689 constructor_2_neg.cc: Likewise.
1690 * testsuite/23_containers/forward_list/requirements/dr438/
1691 insert_neg.cc: Likewise.
1692 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
1694 * testsuite/26_numerics/random/linear_congruential_engine/
1695 requirements/non_uint_neg.cc: Likewise.
1696 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1697 Likewise. Also test for std::atomic_address.
1699 2016-07-31 Ville Voutilainen <ville.voutilainen@gmail.com>
1701 Add missing variable traits, fix testsuite failures.
1702 * include/bits/uses_allocator.h (uses_allocator_v): New.
1703 * include/std/functional (is_bind_expression_v, is_placeholder_v):
1705 * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
1706 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
1707 * testsuite/20_util/duration/literals/range.cc: Likewise.
1708 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
1709 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
1710 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
1711 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
1712 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1714 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
1715 * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
1718 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
1720 * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
1721 not test 128-bit types.
1722 * testsuite/20_util/is_floating_point/value.cc: Likewise.
1723 * testsuite/20_util/is_integral/value.cc: Likewise.
1724 * testsuite/20_util/is_signed/value.cc: Likewise.
1725 * testsuite/20_util/is_unsigned/value.cc: Likewise.
1726 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
1727 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
1728 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
1730 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1733 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
1735 2016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
1737 Implement C++17 variable templates for type traits.
1738 * include/std/chrono (treat_as_floating_point_v): New.
1739 * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
1740 (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
1741 (ratio_greater_equal_v): Likewise.
1742 * include/std/system_error (is_error_code_enum_v)
1743 (is_error_condition_enum_v): Likewise.
1744 * include/std/tuple (tuple_size_v): Likewise.
1745 * type_traits (conjunction_v, disjunction_v, negation_v)
1746 (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
1747 (is_array_v, is_pointer_v, is_lvalue_reference_v)
1748 (is_rvalue_reference_v, is_member_object_pointer_v)
1749 (is_member_function_pointer_v, is_enum_v, is_union_v)
1750 (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
1751 (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
1752 (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
1753 (is_trivially_copyable_v, is_standard_layout_v)
1754 (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
1755 (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
1756 (is_constructible_v, is_default_constructible_v)
1757 (is_copy_constructible_v, is_move_constructible_v)
1758 (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
1759 (is_destructible_v, is_trivially_constructible_v)
1760 (is_trivially_default_constructible_v)
1761 (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
1762 (is_trivially_assignable_v, is_trivially_copy_assignable_v)
1763 (is_trivially_move_assignable_v, is_trivially_destructible_v)
1764 (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
1765 (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
1766 (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
1767 (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
1768 (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
1769 (is_same_v, is_base_of_v, is_convertible_v): Likewise.
1770 * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
1771 * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
1773 * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
1774 * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
1775 * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
1777 2016-07-29 Andreas Schwab <schwab@linux-m68k.org>
1779 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
1780 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1781 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
1783 2016-07-29 Jonathan Wakely <jwakely@redhat.com>
1785 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
1786 * doc/html/manual/abi.html: Regenerate.
1788 * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
1789 * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
1791 * configure: Regenerate.
1792 * testsuite/util/testsuite_abi.cc: Add new symbol version.
1794 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1795 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1796 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1797 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1799 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1800 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1801 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1803 2016-07-28 Jonathan Wakely <jwakely@redhat.com>
1805 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1806 Adjust dg-prune-output pattern for error in C++98 mode.
1807 * testsuite/23_containers/deque/requirements/dr438/
1808 constructor_1_neg.cc: Likewise.
1809 * testsuite/23_containers/deque/requirements/dr438/
1810 constructor_2_neg.cc: Likewise.
1811 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1813 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1815 * testsuite/23_containers/list/requirements/dr438/
1816 constructor_1_neg.cc: Likewise.
1817 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1819 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1821 * testsuite/23_containers/vector/requirements/dr438/
1822 constructor_1_neg.cc: Likewise.
1823 * testsuite/23_containers/vector/requirements/dr438/
1824 constructor_2_neg.cc: Likewise.
1825 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1828 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
1829 for different construct/destroy counts in C++98 mode.
1831 * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
1832 dg-options to dg-additional-options so that default options are used.
1833 * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
1835 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
1836 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
1838 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1839 Use dg-additional-options instead of repeating the common options.
1841 * testsuite/22_locale/conversions/string/1.cc: Remove unintended
1842 dg-do compile directive.
1843 * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
1845 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
1847 2016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
1849 Implement std::string_view and P0254r2,
1850 Integrating std::string_view and std::string.
1851 * include/Makefile.am: Add string_view and string_view.tcc
1852 to the exported headers.
1853 * include/Makefile.in: Likewise.
1854 * include/bits/basic_string.h: Include <string_view> in C++17 mode.
1856 (basic_string(__sv_type, const _Alloc&)): Likewise.
1857 (operator=(__sv_type)): Likewise.
1858 (operator __sv_type()): Likewise.
1859 (operator+=(__sv_type)): Likewise.
1860 (append(__sv_type __sv)): Likewise.
1861 (append(__sv_type, size_type, size_type)): Likewise.
1862 (assign(__sv_type)): Likewise.
1863 (assign(__sv_type, size_type, size_type)): Likewise.
1864 (insert(size_type, __sv_type)): Likewise.
1865 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
1866 (replace(size_type, size_type, __sv_type)): Likewise.
1867 (replace(size_type, size_type, __sv_type, size_type, size_type)):
1869 (replace(const_iterator, const_iterator, __sv_type)): Likewise.
1870 (find(__sv_type, size_type)): Likewise.
1871 (rfind(__sv_type, size_type)): Likewise.
1872 (find_first_of(__sv_type, size_type)): Likewise.
1873 (find_last_of(__sv_type, size_type)): Likewise.
1874 (find_first_not_of(__sv_type, size_type)): Likewise.
1875 (find_last_not_of(__sv_type, size_type)): Likewise.
1876 (compare(__sv_type)): Likewise.
1877 (compare(size_type, size_type, __sv_type)): Likewise.
1878 (compare(size_type, size_type, __sv_type, size_type, size_type)):
1880 * include/bits/string_view.tcc: New.
1881 * include/std/string_view: Likewise.
1882 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
1883 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
1884 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
1886 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
1888 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
1890 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
1892 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
1894 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
1896 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
1898 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
1900 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
1902 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
1904 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
1906 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
1908 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
1909 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
1910 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
1911 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
1912 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
1913 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
1914 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
1915 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
1916 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
1917 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
1919 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
1921 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
1923 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
1925 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
1927 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
1929 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
1931 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
1933 * testsuite/21_strings/basic_string_view/include.cc: Likewise.
1934 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
1935 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
1936 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
1937 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
1939 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
1941 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
1943 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
1945 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
1947 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
1949 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
1951 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
1953 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
1955 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
1957 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
1959 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
1961 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
1963 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
1965 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
1967 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
1969 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
1971 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
1973 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
1975 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
1977 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
1979 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
1981 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
1983 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
1985 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
1987 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
1989 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
1991 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
1993 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
1995 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
1997 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
1999 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
2001 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
2003 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
2004 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
2006 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
2008 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
2010 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
2012 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
2014 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
2016 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
2018 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
2020 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
2022 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
2023 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
2025 2016-07-27 Jonathan Wakely <jwakely@redhat.com>
2027 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
2029 2016-07-25 Georeth Chow <georeth2010@gmail.com>
2031 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
2032 _S_concat enumerator.
2033 * testsuite/ext/rope/6.cc: New test.
2035 2016-07-25 Jonathan Wakely <jwakely@redhat.com>
2037 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
2038 std::mt19937, std::thread and std::atomic to simplify test.
2039 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
2041 2016-07-22 Jonathan Wakely <jwakely@redhat.com>
2044 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
2045 (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
2046 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
2047 * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
2048 * testsuite/23_containers/set/allocator/71964.cc: New test.
2050 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
2051 delete[] instead of delete.
2053 2016-07-21 Jonathan Wakely <jwakely@redhat.com>
2055 * include/experimental/propagate_const (propagate_const::__t): Rename
2056 to _M_t and remove comment. Qualify std::move and std::forward.
2057 * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
2059 * testsuite/23_containers/vector/zero_sized_allocations.cc:
2060 Define sized deallocation function.
2061 * testsuite/util/testsuite_new_operators.h:
2062 (operator delete(void*, const std::nothrow_t&)): Define nothrow
2063 deallocation function.
2065 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
2066 reads past the end of strings.
2067 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
2069 * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
2070 invalid array accesses.
2071 * testsuite/experimental/string_view/operations/compare/char/1.cc:
2072 Fix read past the end of string.
2073 * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
2075 * testsuite/24_iterators/container_access.cc: Fix missing returns.
2076 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
2078 * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
2079 leak) memory for arguments to placement delete.
2080 * testsuite/20_util/addressof/1.cc: Don't leak memory.
2081 * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
2082 * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
2085 2016-07-20 Jonathan Wakely <jwakely@redhat.com>
2087 * doc/xml/manual/intro.xml: Document DR 2684 status.
2088 * doc/html/*: Regenerate.
2090 * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
2091 (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
2092 (atomic_uint64_t): Define (LWG 2441).
2093 * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
2095 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
2097 * doc/xml/manual/intro.xml: Document DR 2441 status.
2099 * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
2100 to use perfect forwarding (LWG 2328).
2101 * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
2102 * doc/xml/manual/intro.xml: Document DR 2328 status.
2104 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
2105 static objects for catching nullptr as pointer to member types.
2107 2016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
2109 Clean up optional's comments.
2110 * include/std/optional: Remove incorrect section headers
2111 from comments when redundant, replace bare section
2112 headers with more descriptive comments.
2114 2016-07-15 Jonathan Wakely <jwakely@redhat.com>
2116 * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
2117 * include/bits/move.h: Likewise.
2118 * include/bits/postypes.h: Likewise.
2119 * include/debug/bitset: Likewise.
2120 * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
2121 * include/ext/string_conversions.h: Change C++0x to __cxx11 in
2123 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
2124 * testsuite/util/thread/all.h: Likewise.
2126 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
2130 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
2131 nullptr match handlers of pointer type.
2133 2016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
2135 Implement C++17 P0025 clamp.
2136 * include/bits/algorithmfwd.h: Declare clamp overloads.
2137 * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp.
2138 * testsuite/25_algorithms/clamp/1.cc: New test.
2139 * testsuite/25_algorithms/clamp/2.cc: New test.
2140 * testsuite/25_algorithms/clamp/constexpr.cc: New test.
2141 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
2143 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
2146 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
2148 Fix the constraints for any's assignment operator template to properly
2149 reject assignment from a non-copyable lvalue.
2150 * include/std/any (operator=(_ValueType&&)): Constrain the decayed
2151 type for is_copy_constructible,
2152 * testsuite/20_util/any/requirements.cc: Add a test for
2153 non-copyable lvalues.
2155 2016-07-14 Jonathan Wakely <jwakely@redhat.com>
2157 * include/experimental/functional: Include <parallel/algorithm> in
2160 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
2164 * include/bits/forward_list.h (forward_list): Update doxygen comments
2165 to reflect allocator propagation semantics. Remove ambiguous
2166 statements about data being lost.
2167 * include/bits/stl_deque.h (deque): Likewise.
2168 * include/bits/stl_list.h (list): Likewise.
2169 * include/bits/stl_map.h (map): Likewise.
2170 * include/bits/stl_multimap.h (multimap): Likewise.
2171 * include/bits/stl_multiset.h (multiset): Likewise.
2172 * include/bits/stl_set.h (set): Likewise.
2173 * include/bits/stl_vector.h (vector): Likewise.
2174 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
2176 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
2179 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
2181 Implement P0032R3, Homogeneous interface for variant, any and optional,
2182 for the parts concerning any and optional.
2183 * include/std/any (_Storage()): Make constexpr and have it
2185 (any()): Make constexpr.
2186 (any(const any&)): Adjust.
2187 (any(any&&)): Likewise.
2188 (__any_constructible_t): New.
2189 (any(_ValueType&&)): Constrain.
2190 (any(in_place_type_t<_Tp>, _Args&&...)): New.
2191 (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
2194 (operator=(const any&)): Likewise.
2195 (operator=(any&&)): Likewise.
2196 (operator=(_ValueType&&)): Constrain.
2197 (emplace(_Args&&...)): New.
2198 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
2201 (swap(any&)): Adjust.
2205 (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
2206 (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
2207 (make_any(_Args&&...)): Likewise.
2208 (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
2209 * include/std/optional (in_place_t, in_place): Remove.
2210 (bad_optional_access): Add a comment referring to LEWG 72.
2211 (emplace(_Args&&...)): Constrain.
2213 (reset()): Likewise.
2214 (make_optional(_Args&&...)): Likewise.
2215 (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
2216 * include/std/utility (in_place_tag): New.
2217 (__in_place, __in_place_type, __in_place_index): Likewise.
2218 (in_place_t, in_place_type_t, in_place_index_t): Likewise.
2219 (in_place(__in_place*)): Likewise.
2220 (in_place(__in_place_type<_Tp>*)): Likewise.
2221 (in_place(__in_place_index<_Idx>*)): Likewise.
2222 * testsuite/20_util/any/assign/1.cc: Adjust.
2223 * testsuite/20_util/any/assign/emplace.cc: New.
2224 * testsuite/20_util/any/assign/self.cc: Adjust.
2225 * testsuite/20_util/any/cons/1.cc: Likewise.
2226 * testsuite/20_util/any/cons/in_place.cc: New.
2227 * testsuite/20_util/any/make_any.cc: Likewise.
2228 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
2229 * testsuite/20_util/any/misc/swap.cc: Likewise.
2230 * testsuite/20_util/any/modifiers/1.cc: Likewise.
2231 * testsuite/20_util/any/requirements.cc: New.
2232 * testsuite/20_util/in_place/requirements.cc: Likewise.
2233 * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
2234 * testsuite/20_util/optional/in_place.cc: Likewise.
2235 * testsuite/20_util/optional/make_optional.cc: Add tests for
2236 the new overloads of make_optional.
2238 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
2240 Implement P0307R2, Making Optional Greater Equal Again.
2241 * include/experimental/optional (_Has_addressof): Fix the comment.
2242 * include/std/optional (_Has_addressof): Likewise.
2243 (operator=(_Up&&)): Constrain.
2244 (operator=(const optional<_Up>&)): Likewise.
2245 (operator=(optional<_Up>&&)): Likewise.
2246 (__optional_relop_t): New.
2247 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
2248 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
2249 Constrain and make transparent.
2250 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
2251 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
2252 Constrain and make transparent.
2253 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
2254 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
2255 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
2256 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
2257 (operator!=(const optional<_Tp>&, _Tp const&)):
2258 Constrain and make transparent.
2259 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
2260 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
2261 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
2262 (operator>(const optional<_Tp>&, const _Tp&)):
2263 Constrain and make transparent.
2264 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
2265 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
2266 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
2267 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
2268 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
2269 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
2270 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
2271 * testsuite/20_util/optional/relops/1.cc: Likewise.
2272 * testsuite/20_util/optional/relops/2.cc: Likewise.
2273 * testsuite/20_util/optional/relops/3.cc: Likewise.
2274 * testsuite/20_util/optional/relops/4.cc: Likewise.
2275 * testsuite/20_util/optional/requirements.cc: Add tests to verify
2276 that optional's relops are transparent and don't synthesize
2277 operators. Also test that assignment sfinaes.
2279 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
2282 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
2283 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
2284 Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
2285 on _GLIBCXX_ASSERTIONS.
2286 * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
2287 Include <unistd.h> for sleep.
2288 * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
2289 * include/parallel/merge.h: Likewise.
2290 * include/parallel/multiway_merge.h: Likewise.
2291 * include/parallel/partition.h: Likewise.
2292 * include/parallel/queue.h: Likewise.
2293 * include/parallel/sort.h: Likewise.
2294 * testsuite/25_algorithms/headers/algorithm/
2295 parallel_algorithm_assert.cc: New.
2297 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
2298 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
2299 Forward to different overload.
2301 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
2304 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
2306 Revert "Add non-const overload of std::string::data()".
2308 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
2310 Implement P0307R2, Making Optional Greater Equal Again.
2311 * include/experimental/optional (_Has_addressof): Fix the comment.
2312 * include/std/optional (_Has_addressof): Likewise.
2313 (operator=(_Up&&)): Constrain.
2314 (operator=(const optional<_Up>&)): Likewise.
2315 (operator=(optional<_Up>&&)): Likewise.
2316 (__optional_relop_t): New.
2317 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
2318 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
2319 Constrain and make transparent.
2320 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
2321 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
2322 Constrain and make transparent.
2323 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
2324 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
2325 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
2326 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
2327 (operator!=(const optional<_Tp>&, _Tp const&)):
2328 Constrain and make transparent.
2329 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
2330 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
2331 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
2332 (operator>(const optional<_Tp>&, const _Tp&)):
2333 Constrain and make transparent.
2334 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
2335 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
2336 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
2337 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
2338 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
2339 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
2340 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
2341 * testsuite/20_util/optional/relops/1.cc: Likewise.
2342 * testsuite/20_util/optional/relops/2.cc: Likewise.
2343 * testsuite/20_util/optional/relops/3.cc: Likewise.
2344 * testsuite/20_util/optional/relops/4.cc: Likewise.
2345 * testsuite/20_util/optional/requirements.cc: Add tests to verify
2346 that optional's relops are transparent and don't synthesize
2347 operators. Also test that assignment sfinaes.
2349 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
2351 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
2353 (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
2354 instead of _M_data().
2355 (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
2357 (append(const basic_string&)): Likewise.
2358 (append(const basic_string&, size_type, size_type)): Likewise.
2359 (assign(const basic_string&, size_type, size_type)): Likewise.
2360 (insert(size_type, const basic_string&)): Likewise.
2361 (insert(size_type, const basic_string&, size_type, size_type)):
2363 (replace(size_type, size_type, const basic_string&, size_type,
2364 size_type)): Likewise.
2365 (replace(__const_iterator, __const_iterator, const basic_string&)):
2367 (c_str(), data()): Use c_str() instead of _M_data().
2368 (data()): Add non-const overload as per LWG 2391 and P0272R1.
2369 (compare(const basic_string&)): Use data() instead of _M_data().
2370 [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
2371 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
2372 Pass raw pointers to _S_copy.
2373 (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
2375 (find(const _CharT*, size_type, size_type)): Use data instead of
2377 * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
2378 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
2379 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
2381 2016-07-12 Jonathan Wakely <jwakely@redhat.com>
2383 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
2384 * doc/xml/manual/intro.xml: Document DR 2458 status.
2385 * doc/html*: Regenerate.
2387 * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
2388 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
2389 Only include <array>.
2390 * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
2392 * doc/xml/manual/intro.xml: Document LWG 2212 support.
2393 * doc/html*: Regenerate.
2395 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
2396 Add testcase from LWG 2164.
2398 2016-07-11 François Dumont <fdumont@gcc.gnu.org>
2400 * include/bits/stl_vector.h (push_back(const value_type&)): Forward
2401 to _M_realloc_insert.
2402 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
2403 (_M_realloc_insert): Declare new function.
2404 (_M_emplace_back_aux): Remove definition.
2405 * include/bits/vector.tcc (emplace_back(_Args...)):
2406 Use _M_realloc_insert.
2407 (insert(const_iterator, const value_type&)): Likewise.
2408 (_M_insert_rval, _M_emplace_aux): Likewise.
2409 (_M_emplace_back_aux): Remove declaration.
2410 (_M_realloc_insert): Define.
2411 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
2412 Adjust expected results for emplacing an lvalue with reallocation.
2414 2016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
2416 Implement std::optional.
2417 * include/Makefile.am: Add optional to exported headers.
2418 * include/Makefile.in: Likewise.
2419 * include/std/optional: New.
2420 * testsuite/20_util/optional/typedefs.cc: Likewise.
2421 * testsuite/20_util/optional/relops/2.cc: Likewise.
2422 * testsuite/20_util/optional/relops/3.cc: Likewise.
2423 * testsuite/20_util/optional/relops/4.cc: Likewise.
2424 * testsuite/20_util/optional/relops/5.cc: Likewise.
2425 * testsuite/20_util/optional/relops/1.cc: Likewise.
2426 * testsuite/20_util/optional/relops/6.cc: Likewise.
2427 * testsuite/20_util/optional/nullopt.cc: Likewise.
2428 * testsuite/20_util/optional/in_place.cc: Likewise.
2429 * testsuite/20_util/optional/make_optional.cc: Likewise.
2430 * testsuite/20_util/optional/assignment/2.cc: Likewise.
2431 * testsuite/20_util/optional/assignment/3.cc: Likewise.
2432 * testsuite/20_util/optional/assignment/4.cc: Likewise.
2433 * testsuite/20_util/optional/assignment/5.cc: Likewise.
2434 * testsuite/20_util/optional/assignment/1.cc: Likewise.
2435 * testsuite/20_util/optional/assignment/6.cc: Likewise.
2436 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
2437 * testsuite/20_util/optional/cons/default.cc: Likewise.
2438 * testsuite/20_util/optional/cons/move.cc: Likewise.
2439 * testsuite/20_util/optional/cons/value.cc: Likewise.
2440 * testsuite/20_util/optional/cons/copy.cc: Likewise.
2441 * testsuite/20_util/optional/requirements.cc: Likewise.
2442 * testsuite/20_util/optional/observers/2.cc: Likewise.
2443 * testsuite/20_util/optional/observers/3.cc: Likewise.
2444 * testsuite/20_util/optional/observers/4.cc: Likewise.
2445 * testsuite/20_util/optional/observers/5.cc: Likewise.
2446 * testsuite/20_util/optional/observers/1.cc: Likewise.
2447 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
2448 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
2449 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
2450 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
2451 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
2452 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
2453 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
2454 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
2455 * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
2456 * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
2457 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
2458 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
2459 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
2460 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
2461 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
2462 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
2463 * testsuite/20_util/optional/swap/1.cc: Likewise.
2465 2016-07-08 Jonathan Wakely <jwakely@redhat.com>
2467 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
2469 2016-07-07 Jonathan Wakely <jwakely@redhat.com>
2471 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
2472 * doc/html/*: Regenerate.
2474 2016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
2477 * include/Makefile.am: Add any and c++17_warning.h to exported headers.
2478 * include/Makefile.in: Likewise.
2479 * include/std/any: New.
2480 * testsuite/20_util/any/assign/1.cc: Likewise.
2481 * testsuite/20_util/any/assign/2.cc: Likewise.
2482 * testsuite/20_util/any/assign/self.cc: Likewise.
2483 * testsuite/20_util/any/cons/1.cc: Likewise.
2484 * testsuite/20_util/any/cons/2.cc: Likewise.
2485 * testsuite/20_util/any/cons/aligned.cc: Likewise.
2486 * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
2487 * testsuite/20_util/any/misc/any_cast.cc: Likewise.
2488 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
2489 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
2490 * testsuite/20_util/any/misc/swap.cc: Likewise.
2491 * testsuite/20_util/any/modifiers/1.cc: Likewise.
2492 * testsuite/20_util/any/observers/type.cc: Likewise.
2493 * testsuite/20_util/any/typedefs.cc: Likewise.
2495 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
2497 Add a new header for diagnosing the use of C++17 facilities
2499 * include/bits/c++17_warning.h: New.
2501 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
2503 Implement LWG 2451, optional<T> should 'forward' T's
2504 implicit conversions.
2505 * include/experimental/optional (__is_optional_impl, __is_optional):
2507 (optional()): Make constexpr and default.
2508 (optional(_Up&&), optional(const optional<_Up>&),
2509 optional(optional<_Up>&& __t): New.
2510 (operator=(_Up&&)): Constrain.
2511 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
2512 * testsuite/experimental/optional/cons/value.cc:
2513 Add tests for the functionality added by LWG 2451.
2514 * testsuite/experimental/optional/cons/value_neg.cc: New.
2516 2016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
2519 any_cast doesn't work with rvalue reference targets and cannot
2520 move with a value target.
2521 * include/experimental/any (any(_ValueType&&)): Constrain and
2522 add an overload that doesn't forward.
2523 (any_cast(any&&)): Constrain and add an overload that moves.
2524 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
2525 the functionality added by LWG 2509.
2527 2016-07-04 François Dumont <fdumont@gcc.gnu.org>
2529 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
2531 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
2534 2016-07-04 Jonathan Wakely <jwakely@redhat.com>
2536 * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
2537 Define inline. Forward to _M_emplace_aux.
2538 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
2539 (_M_insert_rval, _M_emplace_aux): Declare new functions.
2540 (_Temporary_value): New RAII type using allocator to construct/destroy.
2541 (_S_insert_aux_assign): Remove.
2542 (_M_insert_aux): Make non-variadic.
2543 * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
2544 Use _Temporary_value.
2545 (emplace(const_iterator, _Args&&...)): Remove definition.
2546 (_M_insert_rval, _M_emplace_aux): Define.
2547 (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
2548 (_M_fill_insert): Use _Temporary_value.
2549 * testsuite/23_containers/vector/allocator/construction.cc: New test.
2550 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
2551 Adjust expected results for emplacing an lvalue with reallocation.
2552 * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
2553 expected results to account for construction/destruction of temporary
2555 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
2557 2016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
2560 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
2561 Call remove_all for children of a directory.
2562 * testsuite/experimental/filesystem/operations/create_directories.cc:
2565 2016-07-02 François Dumont <fdumont@gcc.gnu.org>
2567 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
2568 dg-error line numbers.
2569 * testsuite/23_containers/array/tuple_interface/
2570 tuple_element_debug_neg.cc: Likewise.
2571 * testsuite/25_algorithms/lexicographical_compare/debug/
2572 irreflexive_neg.cc: Remove.
2574 2016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
2576 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
2577 than specific target.
2579 2016-06-27 François Dumont <fdumont@gcc.gnu.org>
2582 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
2585 2016-06-23 François Dumont <fdumont@gcc.gnu.org>
2587 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
2590 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2592 * configure.host: Remove mep-* support.
2594 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2596 * configure: Regenerate.
2597 * configure.host: Remove support for knetbsd.
2598 * crossconfig.m4: Likewise.
2600 2016-06-20 François Dumont <fdumont@gcc.gnu.org>
2603 * include/tr1/hashtable_policy.h
2604 (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
2605 dereferenceable to avoid check on lower_bound result.
2606 (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
2607 (_Prime_rehash_policy::_M_need_rehash): Likewise.
2608 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
2609 Always return a value greater than input value. Set _M_next_resize to
2610 max value when reaching highest prime number.
2611 * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
2613 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
2614 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
2616 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
2617 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
2620 2016-06-17 Jonathan Wakely <jwakely@redhat.com>
2623 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
2624 Remove irreflexive checks.
2625 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
2626 binary_search): Likewise.
2627 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
2628 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
2629 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
2630 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
2631 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
2632 Add constructor from array.
2634 2016-06-16 François Dumont <fdumont@gcc.gnu.org>
2636 * include/debug/debug.h
2637 (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
2638 (__glibcxx_requires_subscript): Move...
2639 * include/debug/assertions.h: ...here and add __builtin_expect.
2640 (_GLIBCXX_DEBUG_ONLY): Remove ; value.
2641 * include/bits/stl_deque.h
2642 (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
2643 (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
2644 (std::deque<>::back()): Likewise.
2645 (std::deque<>::pop_front()): Likewise.
2646 (std::deque<>::pop_back()): Likewise.
2647 (std::deque<>::swap(deque&)): Add allocator check.
2648 * include/bits/stl_vector.h
2649 (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
2650 (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
2651 (std::vector<>::back()): Likewise.
2652 (std::vector<>::pop_back()): Likewise.
2653 (std::vector<>::swap(vector&)): Add allocator check.
2655 2016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
2657 Provide swappable traits (p0185r1)
2658 * include/std/type_traits (is_swappable, is_nothrow_swappable,
2659 is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
2660 is_nothrow_swappable_v, is_swappable_with_v,
2661 is_nothrow_swappable_with_v): New.
2662 * include/bits/stl_pair.h: Use it as per p0185r1.
2663 * include/bits/stl_queue.h: Likewise.
2664 * include/bits/stl_stack.h: Likewise.
2665 * include/bits/unique_ptr.h: Likewise.
2666 * include/std/tuple: Likewise.
2667 * include/std/array: Likewise. Fix zero-size member swap.
2668 * include/bits/hashtable.h: Use __and_.
2669 * testsuite/20_util/is_nothrow_swappable/requirements/
2670 explicit_instantiation.cc: Change test options to std=gnu++17.
2671 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
2673 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
2674 * testsuite/20_util/is_swappable/requirements/
2675 explicit_instantiation.cc: Likewise.
2676 * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
2677 * testsuite/20_util/is_swappable/value.cc: Likewise.
2678 * testsuite/20_util/is_nothrow_swappable/requirements/
2679 explicit_instantiation_ext.cc: New.
2680 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
2682 * testsuite/20_util/is_nothrow_swappable/value.h: New.
2683 * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
2684 * testsuite/20_util/is_nothrow_swappable_with/requirements/
2685 explicit_instantiation.cc: New.
2686 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
2688 * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
2689 * testsuite/20_util/is_swappable/requirements/
2690 explicit_instantiation_ext.cc: New.
2691 * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
2692 * testsuite/20_util/is_swappable/value.h: New.
2693 * testsuite/20_util/is_swappable/value_ext.cc: New.
2694 * testsuite/20_util/is_swappable_with/requirements/
2695 explicit_instantiation.cc: New.
2696 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
2697 * testsuite/20_util/is_swappable_with/value.cc: New.
2698 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
2699 dg-error line numbers.
2700 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
2703 2016-06-16 Jonathan Wakely <jwakely@redhat.com>
2705 * include/std/array: Remove trailing whitespace.
2706 * include/std/atomic: Likewise.
2707 * include/std/bitset: Likewise.
2708 * include/std/chrono: Likewise.
2709 * include/std/complex: Likewise.
2710 * include/std/condition_variable: Likewise.
2711 * include/std/fstream: Likewise.
2712 * include/std/functional: Likewise.
2713 * include/std/future: Likewise.
2714 * include/std/iomanip: Likewise.
2715 * include/std/iosfwd: Likewise.
2716 * include/std/istream: Likewise.
2717 * include/std/limits: Likewise.
2718 * include/std/ratio: Likewise.
2719 * include/std/scoped_allocator: Likewise.
2720 * include/std/sstream: Likewise.
2721 * include/std/stdexcept: Likewise.
2722 * include/std/string: Likewise.
2723 * include/std/system_error: Likewise.
2724 * include/std/thread: Likewise.
2725 * include/std/tuple: Likewise.
2726 * include/std/type_traits: Likewise.
2727 * include/std/utility: Likewise.
2728 * include/std/valarray: Likewise.
2729 * include/std/vector: Likewise.
2731 * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
2732 new overloaded functions.
2733 * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
2734 to avoid creating a redundant temporary.
2735 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
2738 2016-06-15 François Dumont <fdumont@gcc.gnu.org>
2740 * include/bits/stl_deque.h
2741 (std::deque<>::operator=): Call _M_assign_aux.
2742 (std::deque<>::assign(initializer_list<>)): Likewise.
2743 (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
2744 (std::deque<>::insert(const_iterator, initializer_list<>)):
2745 Call _M_range_insert_aux.
2746 (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
2748 (std::deque<>::_M_fill_assign): Call _M_fill_insert.
2749 (std::deque<>::_M_move_assign2): Call _M_assign_aux.
2750 * include/bits/deque.tcc
2751 (std::deque<>::operator=): Call _M_range_insert_aux.
2752 (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
2754 * include/bits/stl_vector.h
2755 (std::vector<>::operator=): Call _M_assign_aux.
2756 (std::vector<>::assign(initializer_list<>)): Likewise.
2757 (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
2758 (std::vector<>::insert(const_iterator, initializer_list<>)):
2759 Call _M_range_insert.
2760 * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
2762 2016-06-07 François Dumont <fdumont@gcc.gnu.org>
2764 * include/std/tuple (_Head_base<>): Default specialization condition at
2767 2016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
2769 Support allocators in tuples of zero size.
2770 * include/std/tuple (tuple<>::tuple(),
2771 tuple<>::tuple(allocator_arg_t, const _Alloc&),
2772 tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
2773 * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
2775 2016-06-06 Jonathan Wakely <jwakely@redhat.com>
2778 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
2779 Add or remove permissions according to perms argument.
2780 * testsuite/experimental/filesystem/operations/permissions.cc: New
2783 2016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
2785 Protect allocator-overloads of tuple-from-tuple constructors
2786 from cases that would create dangling references.
2787 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2788 const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
2789 tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
2790 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
2792 2016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
2794 * doc/xml/manual/backwards_compatibility.xml: Adjust
2795 lists.debian.org link to https.
2796 * doc/html/manual/backwards.html: Regenerate.
2798 2016-05-27 Jonathan Wakely <jwakely@redhat.com>
2800 * doc/xml/manual/abi.xml: Adjust URL to use https.
2801 * doc/html/manual/*: Regenerate.
2803 2016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
2806 * include/std/tuple (_TMC): Add a check for _NotSameTuple.
2807 * include/std/tuple (tuple(_UElements&&...)): Remove the separate
2808 check for _NotSameTuple.
2809 * include/std/tuple (_TMCT): New.
2810 * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
2811 * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
2812 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2813 const tuple<_UElements...>&)): Likewise.
2814 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2815 tuple<_UElements...>&&)): Likewise.
2816 * testsuite/20_util/tuple/cons/66338.cc: New.
2818 2016-05-25 Jonathan Wakely <jwakely@redhat.com>
2820 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
2821 * configure: Regenerate.
2822 * config.h.in: Regenerate.
2824 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
2825 * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
2826 Remove const qualification on function. Replace
2827 _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
2828 (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
2829 (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
2831 2016-05-24 François Dumont <fdumont@gcc.gnu.org>
2833 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
2834 * include/bits/hashtable_policy.h
2835 (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
2836 having load factor management.
2837 (_Mask_range_hashing): New.
2839 (_Power2_rehash_policy): New.
2840 (_Inserts<>): Remove last template parameter, _Unique_keys, so that
2841 partial specializations only depend on whether iterators are constant
2843 * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
2844 test new hash policy.
2845 * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
2847 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
2849 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
2851 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
2853 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
2855 * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
2856 using the new hash policy.
2857 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
2859 2016-05-24 Jonathan Wakely <jwakely@redhat.com>
2861 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
2863 2016-05-23 François Dumont <fdumont@gcc.gnu.org>
2865 * include/debug/safe_iterator.h
2866 (_Safe_iterator<>::operator->()): Implement using underlying iterator
2868 * include/debug/safe_local_iterator.h
2869 (_Safe_local_iterator<>::operator->()): Likewise.
2871 2016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
2873 * testsuite/experimental/memory_resource/1.cc: Add required argument
2874 to dg-require-atomic-builtins.
2876 2016-05-13 Jonathan Wakely <jwakely@redhat.com>
2879 * include/debug/bitset: Add #pragma GCC system_header.
2880 * include/debug/deque: Likewise.
2881 * include/debug/list: Likewise.
2882 * include/debug/map: Likewise.
2883 * include/debug/set: Likewise.
2884 * include/debug/string: Likewise.
2885 * include/debug/unordered_map: Likewise.
2886 * include/debug/unordered_set: Likewise.
2887 * include/debug/vector: Likewise.
2888 * include/debug/functions.h: Adjust whitespace.
2890 2016-05-12 Jonathan Wakely <jwakely@redhat.com>
2893 * testsuite/experimental/memory_resource/1.cc: Require atomics.
2895 2016-05-11 Jonathan Wakely <jwakely@redhat.com>
2898 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
2899 exception constructors with __sso_string parameters.
2901 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
2903 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
2904 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
2905 Test begin and end functions.
2906 * testsuite/experimental/filesystem/iterators/
2907 recursive_directory_iterator.cc: Likewise.
2910 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
2911 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
2913 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
2914 Overload operator* to move from rvalues.
2917 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
2918 * testsuite/experimental/filesystem/operations/create_directory.cc:
2922 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
2923 base path to exception.
2924 * testsuite/experimental/filesystem/operations/canonical.cc: Test
2925 paths contained in exception.
2927 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
2931 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
2933 (directory_iterator::operator++(int)): Return proxy.
2934 (recursive_directory_iterator::operator++(int)): Likewise.
2935 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
2936 Test post-increment.
2937 * testsuite/experimental/filesystem/iterators/
2938 recursive_directory_iterator.cc: Likewise.
2940 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
2943 * testsuite/experimental/filesystem/iterators/
2944 recursive_directory_iterator.cc: Fix test02 to not call member
2945 functions on invalid iterator, and use VERIFY not assert.
2947 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
2949 Avoid endless run-time recursion for copying single-element
2950 tuples where the element type is by-value constructible
2952 * include/std/tuple (_NotSameTuple): New.
2953 * include/std/tuple (tuple(_UElements&&...): Use it.
2954 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
2956 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
2959 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
2960 Initialize scalar member variables in default constructor.
2961 * testsuite/experimental/filesystem/iterators/
2962 recursive_directory_iterator.cc: Test default construction.
2964 2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2966 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
2968 2016-05-05 Jonathan Wakely <jwakely@redhat.com>
2970 * testsuite/experimental/filesystem/path/native/string.cc: Add
2971 dg-require-filesystem-ts directive.
2973 2016-05-04 Jonathan Wakely <jwakely@redhat.com>
2976 * include/experimental/memory_resource
2977 (__resource_adaptor_imp::do_allocate): Do not default-construct
2979 (__resource_adaptor_imp::do_deallocate): Likewise. Use
2980 allocator_traits to get pointer type.
2981 (__null_memory_resource::do_allocate): Remove unused parameters.
2982 (__null_memory_resource::do_deallocate): Likewise.
2983 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
2984 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
2985 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
2987 * testsuite/experimental/memory_resource/1.cc: Here.
2988 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
2989 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
2991 2016-04-29 Chris Gregory <czipperz@gmail.com>
2993 * config/*: Remove trailing whitespace.
2995 * testsuite/tr1/*: Likewise.
2996 * testsuite/util/*: Likewise.
2998 2016-04-28 Jonathan Wakely <jwakely@redhat.com>
3001 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
3003 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
3005 * include/std/atomic (atomic<_Tp>): Likewise.
3006 * include/std/shared_mutex (shared_lock): Likewise.
3007 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
3008 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
3009 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
3010 * testsuite/29_atomics/atomic/70766.cc: New test.
3011 * testsuite/30_threads/shared_lock/70766.cc: New test.
3013 * include/bits/hashtable_policy.h (__detail::_Insert_base,
3014 __detail::_Insert): Improve comments.
3016 2016-04-27 Jonathan Wakely <jwakely@redhat.com>
3019 * include/std/limits: Update comments about DRs.
3020 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
3021 numeric_limits<const volatile _Tp>): Define unconditionally.
3023 2016-04-24 Jonathan Wakely <jwakely@redhat.com>
3026 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
3027 static counter to return a different path on every call.
3029 2016-04-22 Tim Shen <timshen@google.com>
3032 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
3033 Fix the match_not_bow and match_not_eow behavior.
3034 * testsuite/28_regex/regression.cc: Add testcase.
3036 2016-04-20 Jonathan Wakely <jwakely@redhat.com>
3039 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
3040 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
3042 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
3045 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
3046 Override endianness bit in mode.
3047 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
3048 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
3049 that little_endian mode is ignored.
3050 * testsuite/experimental/filesystem/path/native/string.cc: New test.
3053 * src/filesystem/ops.cc (close_fd): New function.
3054 (do_copy_file): Set permissions before copying file contents. Check
3055 result of closing file descriptors. Don't copy streambuf when file
3057 (copy(const path&, const path&, copy_options, error_code&)): Use
3058 lstat for source file when copy_symlinks is set.
3059 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
3061 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
3062 operator~ operator&=, operator|=, operator^=): Add noexcept to
3063 overloaded operators for copy_options, perms and directory_options.
3064 * src/filesystem/ops.cc (make_file_type, make_file_status,
3065 is_not_found_errno, file_time): Add noexcept.
3067 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
3069 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
3071 2016-04-18 Jonathan Wakely <jwakely@redhat.com>
3074 * include/bits/random.h: Reword static assertion messages to state
3075 positive conditions.
3076 * include/bits/random.tcc: Likewise.
3077 * include/bits/uniform_int_dist.h: Likewise.
3078 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
3081 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
3083 * config/cpu/sh/atomicity.h: Fix typo in comment.
3086 * include/std/thread (operator<, operator==): Move definitions to
3088 * testsuite/30_threads/thread/id/70294.cc: New test.
3090 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
3091 -Wno-pedantic to dg-options.
3092 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
3093 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
3095 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
3096 Remove extra semi-colon.
3097 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
3098 Always supply second argument to static_assert.
3099 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
3101 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
3103 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
3104 * testsuite/29_atomics/atomic/60695.cc: Likewise.
3105 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
3106 alignof when operand is an object not a type.
3107 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
3108 * testsuite/decimal/make-decimal.cc: Likewise.
3109 * testsuite/experimental/type_traits/value.cc: Always supply second
3110 argument to static_assert.
3111 * testsuite/util/testsuite_common_types.h: Use __extension__ for
3114 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
3116 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
3117 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
3118 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
3119 Likewise. Add licence and change to compile-only test.
3121 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
3123 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
3125 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
3128 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
3130 * include/bits/specfun.h: Trivial comment misspelling.
3132 2016-04-14 Jason Merrill <jason@redhat.com>
3134 Revert Jonathan's empty ABI change from yesterday.
3136 2016-04-13 Martin Sebor <msebor@redhat.com>
3139 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
3140 upper bound is positive.
3142 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
3144 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
3145 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
3146 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
3147 of functions taking empty structs by value. Add a template parameter
3148 to overloads without hints. Rename overloads with hints to
3150 (_Hashtable::_M_erase(true_type, const_iterator),
3151 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
3152 by reordering parameters.
3153 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
3154 _M_emplace_hint instead of _M_emplace.
3155 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
3156 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
3157 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
3158 __shared_ptr): Likewise.
3159 * include/bits/stl_algo.h (replace_if): Likewise.
3160 * include/bits/stl_pair.h (piecewise_construct_t,
3161 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
3162 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
3163 __uses_alloc0): Likewise.
3164 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
3165 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
3166 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
3167 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
3168 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
3169 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
3170 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
3172 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
3174 Document C++17/TR29124 C++ Special Math Functions.
3175 * include/bits/specfun.h: Add Doxygen markup.
3177 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
3179 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
3181 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
3183 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
3184 * src/Makefile.in: Regenerate.
3186 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
3189 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
3190 __atomic_fetch_add for bool.
3191 * configure: Regenerate.
3193 * testsuite/30_threads/thread/70503.cc: Require -static to work.
3196 * src/c++11/thread.cc (execute_native_thread_routine,
3197 execute_native_thread_routine_compat): Give internal linkage.
3198 * testsuite/30_threads/thread/70503.cc: New test.
3200 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
3203 * include/bits/stl_pair.h (_ConstructiblePair,
3204 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
3205 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
3206 for same-type cases.
3207 * testsuite/20_util/pair/70437.cc: New.
3209 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
3212 * config/abi/pre/gnu.ver: Add new symbol.
3213 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
3214 * testsuite/18_support/free_eh_pool.cc: New test.
3216 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
3218 * include/Makefile.am (install-freestanding-headers): Add
3219 concept_check.h and move.h to the installed headers.
3220 * include/Makefile.in: Regenerated.
3221 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
3222 freestanding implementations.
3223 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
3224 that this macro has no effect for freestanding implementations.
3225 * doc/html/manual/using_macros.html: Likewise.
3227 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
3230 * include/experimental/tuple (__apply_impl): Qualify get and forward.
3232 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
3234 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
3235 * doc/html/*: Regenerate.
3238 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
3239 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
3240 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
3241 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
3242 trunc) [__cplusplus >= 201103L]: Import from namespace std.
3243 (fabs) [__cplusplus < 201103L]: Import from namespace std.
3244 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
3246 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
3247 namespace before including TR1 headers.
3248 * testsuite/tr1/headers/c++200x/math.cc: New test.
3250 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
3253 * include/c_global/cstdarg: Undefine __need___va_list.
3254 * include/c_global/cstddef: Undefine all kinds of __need_*.
3256 2016-02-16 Tim Shen <timshen@google.com>
3259 * include/bits/regex_scanner.h: Add different special character
3260 sets for grep and egrep regex.
3261 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
3262 * testsuite/28_regex/regression.cc: Add new testcase.
3264 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
3266 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
3267 added 'constexpr' in previous commit.
3268 * configure: Regenerate.
3271 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
3272 checks for all targets except *-*-solaris2.* and ensure we find the
3273 libc math.h header not our own.
3274 * configure: Regenerate.
3276 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
3278 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
3279 New file. Copied over from s390-linux-gnu.
3281 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
3284 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
3285 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
3286 * config.h.in: Regenerate.
3287 * configure: Regenerate.
3288 * testsuite/21_strings/c_strings/char/69626.cc: New.
3290 * doc/html/index.html: Regenerate.
3292 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
3293 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
3294 * doc/html/*: Regenerate.
3296 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
3299 * include/c_compatibility/math.h: Move header guards.
3300 * include/c_compatibility/stdlib.h: Likewise.
3302 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
3305 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
3307 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
3310 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
3311 isinf and isnan functions into two independent checks. Check on hpux.
3312 * config.h.in: Regenerate.
3313 * configure: Regenerate.
3314 * include/c_global/cmath (isinf(double), isnan(double)): Use
3315 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
3318 2016-01-27 Jakub Jelinek <jakub@redhat.com>
3320 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
3322 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
3325 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
3326 -ffp-contract=off, and -ffloat-store to disable excess precision.
3327 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
3330 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
3333 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
3334 random_access_iterator_tag>): Check is_move_assignable when moving.
3335 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
3337 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
3338 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
3339 * testsuite/25_algorithms/move/69478.cc: New.
3340 * testsuite/25_algorithms/move_backward/69478.cc: new.
3342 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
3344 * include/c_compatibility/stdlib.h: Include wide character related
3345 definitions only when they are available in cstdlib.
3347 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
3350 * include/Makefile.am: Add new header.
3351 * include/Makefile.in: Regenerate.
3352 * include/bits/random.h (uniform_int_distribution): Move to
3353 bits/uniform_int_dist.h.
3354 * include/bits/random.tcc (uniform_int_distribution::operator(),
3355 uniform_int_distribution::__generate_impl): Likewise.
3356 * include/bits/uniform_int_dist.h: New header.
3357 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
3358 <bits/uniform_int_dist.h> instead of <random>.
3359 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
3360 move_iterators/1.cc: Include correct header for uninitialized_copy.
3361 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
3362 move_iterators/1.cc: Likewise.
3363 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
3365 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
3367 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
3370 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
3372 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
3374 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
3375 * include/c_compatibility/math.h: Import the TR29124 functions
3376 into the global namespace.
3377 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
3378 xfail and make compile-only.
3379 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
3380 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
3381 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
3382 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
3383 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
3384 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
3385 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
3386 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
3387 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
3388 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
3389 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
3390 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
3391 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
3392 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
3393 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
3394 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
3395 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
3396 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
3397 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
3398 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
3400 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
3403 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
3404 define result_type for types which can be safely used with valarrays.
3405 * testsuite/26_numerics/valarray/69116.cc: New.
3408 * config/os/gnu-linux/os_defines.h: Define
3409 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
3410 * include/c_global/cmath (isinf, isnan): Check it.
3411 * doc/xml/manual/internals.xml: Document it.
3412 * doc/html/*: Regenerate.
3414 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
3417 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
3418 * include/ext/type_traits.h: Likewise.
3419 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
3420 for presence of C headers.
3421 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
3422 dg-error line number.
3423 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
3424 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
3425 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
3427 2016-01-20 Torvald Riegel <triegel@redhat.com>
3430 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
3432 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
3435 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
3436 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
3437 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
3438 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
3439 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
3440 Add using declarations.
3441 * testsuite/26_numerics/headers/cmath/60401.cc: New.
3444 * include/c_global/ccomplex: Ensure C++ language linkage.
3445 * include/c_global/cmath: Likewise.
3446 * include/c_global/cstdlib: Likewise.
3447 * include/c_global/ctgmath: Likewise.
3448 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
3450 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
3454 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
3455 --enable-cheaders=c_global configs.
3456 * include/Makefile.in: Regenerate.
3457 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
3458 test and allow inclusion from C files.
3459 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
3460 (at_quick_exit, quick_exit): Add using directives.
3461 * include/c_global/cmath: Use #include_next for math.h.
3462 * include/c_global/cstdlib: Use #include_next for stdlib.h.
3463 * testsuite/26_numerics/headers/cmath/14608.cc: New.
3464 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
3465 Remove xfail for most targets.
3466 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
3468 2016-01-18 Torvald Riegel <triegel@redhat.com>
3470 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
3471 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
3472 and move after its definition.
3473 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
3474 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
3475 __GXX_WEAK__, and only provide transactional clones if
3476 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
3479 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
3482 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
3485 * include/std/functional (_Function_base::_M_not_empty_function):
3486 Change overloads for pointers to take arguments by value.
3487 * testsuite/20_util/function/cons/57465.cc: Add tests for
3488 pointer-to-member cases.
3491 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
3492 Use macros for exception handling and fix unused parameter warning.
3494 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
3497 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
3499 2016-01-17 Torvald Riegel <triegel@redhat.com>
3501 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
3503 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
3505 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
3508 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
3511 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
3512 static assertion that type is constructible from the arguments.
3513 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
3514 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
3515 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
3518 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
3519 and isnan on AIX. Quote variables.
3520 * configure: Regenerate.
3522 2016-01-15 Torvald Riegel <triegel@redhat.com>
3524 * include/bits/basic_string.h (basic_string): Declare friends.
3525 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
3526 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
3527 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
3528 length_error, out_of_range, runtime_error, range_error,
3529 underflow_error, overflow_error): Declare members as transaction-safe.
3530 (logic_error, runtime_error): Declare friend functions.
3531 * libsupc++/exception (exception, bad_exception): Declare members as
3533 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
3534 transaction-safe members of exceptions and helper functions.
3535 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
3536 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
3537 (CXXABI_1.3.10): New.
3538 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
3539 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
3540 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
3541 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
3542 * include/Makefile.in: Regenerate.
3543 * config.h.in: Regenerate.
3544 * configure: Regenerate.
3545 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
3547 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
3549 * include/ext/random.tcc: Use __builtin_isfinite instead of
3552 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
3554 * include/bits/std_mutex.h: Fix Doxygen @file name.
3556 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
3557 Jonathan Wakely <jwakely@redhat.com>
3558 Florian Goth <CaptainSifff@gmx.de>
3560 Implement TR29124 C++ special Math Functions.
3561 * include/Makefile.am: Add new headers.
3562 * include/Makefile.in: Regenerate.
3563 * include/bits/specfun.h: New.
3564 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
3565 * include/tr1/bessel_function.tcc: Ditto.
3566 * include/tr1/beta_function.tcc: Ditto.
3567 * include/tr1/cmath: Ditto.
3568 * include/tr1/ell_integral.tcc: Ditto.
3569 * include/tr1/exp_integral.tcc: Ditto.
3570 * include/tr1/gamma.tcc: Ditto.
3571 * include/tr1/hypergeometric.tcc: Ditto.
3572 * include/tr1/legendre_function.tcc: Ditto.
3573 * include/tr1/modified_bessel_func.tcc: Ditto.
3574 * include/tr1/poly_hermite.tcc: Ditto.
3575 * include/tr1/poly_laguerre.tcc: Ditto.
3576 * include/tr1/riemann_zeta.tcc: Ditto.
3577 * include/tr1/special_function_util.h: Ditto.
3578 * testsuite/ext/special_functions/conf_hyperg: New.
3579 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
3580 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
3581 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
3582 * testsuite/ext/special_functions/hyperg: New.
3583 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
3584 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
3585 * testsuite/ext/special_functions/hyperg/compile.cc: New.
3586 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
3587 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
3588 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
3589 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
3590 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
3591 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
3592 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
3593 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
3594 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
3595 * testsuite/special_functions/03_beta/check_nan.cc: New.
3596 * testsuite/special_functions/03_beta/check_value.cc: New.
3597 * testsuite/special_functions/03_beta/compile.cc: New.
3598 * testsuite/special_functions/03_beta/compile_2.cc: New.
3599 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
3600 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
3601 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
3602 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
3603 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
3604 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
3605 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
3606 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
3607 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
3608 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
3609 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
3610 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
3611 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
3612 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
3613 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
3614 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
3615 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
3616 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
3617 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
3618 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
3619 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
3620 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
3621 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
3622 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
3623 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
3624 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
3625 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
3626 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
3627 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
3628 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
3629 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
3630 * testsuite/special_functions/11_ellint_1/compile.cc: New.
3631 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
3632 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
3633 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
3634 * testsuite/special_functions/12_ellint_2/compile.cc: New.
3635 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
3636 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
3637 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
3638 * testsuite/special_functions/13_ellint_3/compile.cc: New.
3639 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
3640 * testsuite/special_functions/14_expint/check_nan.cc: New.
3641 * testsuite/special_functions/14_expint/check_value.cc: New.
3642 * testsuite/special_functions/14_expint/compile.cc: New.
3643 * testsuite/special_functions/14_expint/compile_2.cc: New.
3644 * testsuite/special_functions/15_hermite/check_nan.cc: New.
3645 * testsuite/special_functions/15_hermite/check_value.cc: New.
3646 * testsuite/special_functions/15_hermite/compile.cc: New.
3647 * testsuite/special_functions/15_hermite/compile_2.cc: New.
3648 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
3649 * testsuite/special_functions/16_laguerre/check_value.cc: New.
3650 * testsuite/special_functions/16_laguerre/compile.cc: New.
3651 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
3652 * testsuite/special_functions/17_legendre/check_nan.cc: New.
3653 * testsuite/special_functions/17_legendre/check_value.cc: New.
3654 * testsuite/special_functions/17_legendre/compile.cc: New.
3655 * testsuite/special_functions/17_legendre/compile_2.cc: New.
3656 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
3657 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
3658 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
3659 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
3660 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
3661 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
3662 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
3663 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
3664 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
3665 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
3666 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
3667 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
3668 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
3669 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
3670 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
3671 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
3672 * testsuite/util/specfun_testcase.h: New.
3673 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
3674 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
3675 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
3676 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
3677 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
3678 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
3679 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
3681 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
3684 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
3685 and isnan functions.
3686 * config.h.in: Regenerate.
3687 * configure: Regenerate.
3688 * include/c_global/cmath (isinf(double), isnan(double))
3689 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
3690 * testsuite/26_numerics/headers/cmath/48891.cc: New.
3692 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3695 * configure.host (abi_baseline_pair): Use separate baseline for
3696 Solaris 11+ and Solaris 10 with gld.
3697 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
3698 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
3699 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
3701 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
3704 * include/std/type_traits: Following N4511, reimplement __is_swappable
3705 and __is_nothrow_swappable. Move __is_swappable to namespace std,
3706 adjust callers. Use __is_nothrow_swappable in swap.
3707 * include/bits/move.h: Use __is_nothrow_swappable in swap.
3708 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
3709 __is_swappable related tests.
3710 * testsuite/20_util/is_swappable/value.cc: New.
3711 * testsuite/20_util/is_swappable/requirements/
3712 explicit_instantiation.cc: New.
3713 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
3714 * testsuite/25_algorithms/swap/68877.cc: New.
3716 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
3718 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
3722 * include/std/functional (function::_Invoke): Remove, use result_of.
3723 (function::_Callable): Replace alias template with class template
3724 and use partial specialization instead of _NotSelf alias template.
3725 (function(_Functor)): Add "not self" constraint so that _Callable is
3726 not used while type is incomplete.
3727 * testsuite/20_util/function/69222.cc: New.
3729 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
3732 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
3733 Define partial specialization.
3734 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
3735 destroy members to std::allocator explicit specialization.
3737 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
3739 * testsuite/26_numerics/headers/cmath/
3740 c99_classification_macros_c++.cc: Rename to ...
3741 * testsuite/26_numerics/headers/cmath/
3742 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
3743 * testsuite/26_numerics/headers/cmath/
3744 c99_classification_macros_c++0x.cc: Rename to ...
3745 * testsuite/26_numerics/headers/cmath/
3746 c99_classification_macros_c++11.cc: Here.
3749 * include/bits/uses_allocator.h: Add missing include.
3751 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
3756 * include/bits/stl_iterator.h (back_insert_iterator,
3757 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
3758 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
3759 * include/std/future (__future::base::_State_baseV2::__setter):
3761 * include/std/scoped_allocator (__outermost): Likewise.
3762 * testsuite/20_util/scoped_allocator/69114.cc: New.
3763 * testsuite/20_util/uses_allocator/69114.cc: New.
3764 * testsuite/30_threads/promise/69106.cc: New.
3766 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
3769 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
3770 Remove _GLIBCXX_NOEXCEPT.
3771 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
3773 * include/Makefile.am: Adjust.
3774 * include/Makefile.in: Regenerate.
3775 * include/bits/mutex.h: Rename to bits/std_mutex.h.
3776 * include/std/condition_variable: Adjust include.
3777 * include/std/mutex: Likewise.
3779 2016-01-04 Jakub Jelinek <jakub@redhat.com>
3781 Update copyright years.
3783 Copyright (C) 2016 Free Software Foundation, Inc.
3785 Copying and distribution of this file, with or without modification,
3786 are permitted in any medium without royalty provided the copyright
3787 notice and this notice are preserved.