1 2016-09-25 François Dumont <fdumont@gcc.gnu.org>
3 * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
5 (get_safe_base_mutex): Get mutex based on address lowest non nil bits.
6 * testsuite/23_containers/vector/debug/mutex_association.cc: New.
8 * include/debug/bitset (bitset::reference::reference(const _Base_ref&,
9 bitset*)): Remove __unused__ attribute.
10 * include/debug/safe_base.h (_Safe_iterator_base): Make
11 _Safe_sequence_base a friend.
12 (_Safe_iterator_base::_M_attach): Make protected.
13 (_Safe_iterator_base::_M_attach_single): Likewise.
14 (_Safe_iterator_base::_M_detach): Likewise.
15 (_Safe_iterator_base::_M_detach_single): Likewise.
16 (_Safe_sequence_base): Make _Safe_iterator_base a friend.
17 (_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New.
18 (_Safe_sequence_base::_M_swap): Make protected.
19 (_Safe_sequence_base::_M_attach): Make private.
20 (_Safe_sequence_base::_M_attach_single): Likewise.
21 (_Safe_sequence_base::_M_detach): Likewise.
22 (_Safe_sequence_base::_M_detach_single): Likewise.
23 * include/debug/safe_container.h
24 (_Safe_container::_Safe_container(_Safe_container&&)): Make default.
25 * include/debug/safe_iterator.h
26 (_Safe_iterator::operator++()): Name __scoped_lock instance.
27 * include/debug/safe_iterator.tcc: Remove trailing line.
28 * include/debug/safe_unordered_base.h
29 (_Safe_local_iterator_base::_M_attach): Make protected.
30 (_Safe_local_iterator_base::_M_attach_single): Likewise.
31 (_Safe_local_iterator_base::_M_detach): Likewise.
32 (_Safe_local_iterator_base::_M_detach_single): Likewise.
33 (_Safe_unordered_container_base): Make _Safe_local_iterator_base friend.
34 (_Safe_unordered_container_base::_M_attach_local): Make private.
35 (_Safe_unordered_container_base::_M_attach_local_single): Likewise.
36 (_Safe_unordered_container_base::_M_detach_local): Likewise.
37 (_Safe_unordered_container_base::_M_detach_local_single): Likewise.
39 * include/parallel/algo.h: Generalize usage of std::__iterator_category.
42 2016-09-23 Jonathan Wakely <jwakely@redhat.com>
46 * include/bits/basic_string.h (basic_string::clear()): Drop reference
48 * include/ext/rc_string_base.h (__rc_string_base::_M_clear()):
50 * testsuite/21_strings/basic_string/56166.cc: New.
51 * testsuite/ext/vstring/modifiers/clear/56166.cc: New.
53 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
54 (basic_string::erase(size_type, size_type)): Add fast path for
55 truncating the string, by calling _M_set_length directly.
56 (basic_string::erase(__const_iterator, __const_iterator)): Likewise.
57 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
58 (basic_string::resize(size_type, _CharT)): Likewise.
60 2016-09-22 Jason Merrill <jason@redhat.com>
62 * configure.ac: Define HAVE_MEMALIGN for newlib.
64 2015-09-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
66 * config/cpu/m68k/atomicity.h: Adjust comment.
67 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
68 explicit atomicity_dir setup via configure.host.
69 * configure.host (rtems-*): Set atomicity_dir.
70 * configure: Regenerate.
72 2016-09-22 Jonathan Wakely <jwakely@redhat.com>
74 Implement C++17 node extraction and insertion (P0083R5)
75 * doc/xml/manual/status_cxx2017.xml: Document status.
76 * doc/html/*: Regenerate.
77 * include/Makefile.am: Add bits/node_handle.h and reorder.
78 * include/Makefile.in: Regenerate.
79 * include/bits/hashtable.h (_Hashtable::node_type)
80 (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node)
81 (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract)
82 (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define.
83 (_Hash_merge_helper): Define primary template.
84 * include/bits/node_handle.h: New header.
85 * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as
87 (map::node_type, map::insert_return_type, map::extract, map::merge)
88 (map::insert(node_type&&), map::insert(const_iterator, node_type&&)):
90 (_Rb_tree_merge_helper): Specialize for map.
91 * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper
93 (multimap::node_type, multimap::extract, multimap::merge)
94 (multimap::insert(node_type&&))
95 (multimap::insert(const_iterator, node_type&&)): Define.
96 (_Rb_tree_merge_helper): Specialize for multimap.
97 * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper
99 (multiset::node_type, multiset::extract, multiset::merge)
100 (multiset::insert(node_type&&))
101 (multiset::insert(const_iterator, node_type&&)): Define.
102 * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as
104 (set::node_type, set::insert_return_type, set::extract, set::merge)
105 (set::insert(node_type&&), set::insert(const_iterator, node_type&&)):
107 (_Rb_tree_merge_helper): Specialize for set.
108 * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend.
109 (_Rb_tree::node_type, _Rb_tree::insert_return_type)
110 (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal)
111 (_Rb_tree::_M_reinsert_node_hint_unique)
112 (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract)
113 (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define.
114 (_Rb_tree_merge_helper): Specialize for multiset.
115 * include/bits/unordered_map.h (unordered_map): Declare
116 unordered_map<> and unordered_multimap<> as friends.
117 (unordered_map::node_type, unordered_map::insert_return_type)
118 (unordered_map::extract, unordered_map::merge)
119 (unordered_map::insert(node_type&&))
120 (unordered_map::insert(const_iterator, node_type&&))
121 (unordered_multimap): Declare _Hash_merge_helper as friend.
122 (unordered_multimap::node_type, unordered_multimap::extract)
123 (unordered_multimap::merge, unordered_multimap::insert(node_type&&))
124 (unordered_multimap::insert(const_iterator, node_type&&)): Define.
125 (_Hash_merge_helper): Specialize for unordered maps and multimaps.
126 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
127 Declare _Hash_merge_helper as friend.
128 (unordered_set::node_type, unordered_set::insert_return_type)
129 (unordered_set::extract, unordered_set::merge)
130 (unordered_set::insert(node_type&&))
131 (unordered_set::insert(const_iterator, node_type&&)): Define.
132 (unordered_multiset::node_type, unordered_multiset::extract)
133 (unordered_multiset::merge, unordered_multiset::insert(node_type&&))
134 (unordered_multiset::insert(const_iterator, node_type&&)): Define.
135 (_Hash_merge_helper): Specialize for unordered sets and multisets.
136 * include/debug/map.h (map): Add using declarations or forwarding
137 functions for new members.
138 * include/debug/map.h (multimap): Likewise.
139 * include/debug/map.h (multiset): Likewise.
140 * include/debug/map.h (set): Likewise.
141 * include/debug/unordered_map (unordered_map, unordered_multimap):
143 * include/debug/unordered_set( unordered_set, unordered_multiset):
145 * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New
147 (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper.
148 (StdNodeHandlePrinter): Define printer for node handles.
149 (build_libstdcxx_dictionary): Register StdNodeHandlePrinter.
150 * testsuite/23_containers/map/modifiers/extract.cc: New.
151 * testsuite/23_containers/map/modifiers/merge.cc: New.
152 * testsuite/23_containers/multimap/modifiers/extract.cc: New.
153 * testsuite/23_containers/multimap/modifiers/merge.cc: New.
154 * testsuite/23_containers/multiset/modifiers/extract.cc: New.
155 * testsuite/23_containers/multiset/modifiers/merge.cc: New.
156 * testsuite/23_containers/set/modifiers/extract.cc: New.
157 * testsuite/23_containers/set/modifiers/merge.cc: New.
158 * testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
159 * testsuite/23_containers/unordered_map/modifiers/merge.cc: New.
160 * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
162 * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New.
163 * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
165 * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New.
166 * testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
167 * testsuite/23_containers/unordered_set/modifiers/merge.cc: New.
168 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
170 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles.
172 2016-09-22 Ville Voutilainen <ville.voutilainen@gmail.com>
174 Fix tests on old arm platforms for optional.
175 * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
177 2016-09-22 Jonathan Wakely <jwakely@redhat.com>
179 * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for
180 recent change to _Variant_storage.
181 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with
184 * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify
185 std::forward and ::new. Cast pointer to void*.
186 * include/std/variant (_Variant_storage, _Union, _Variant_base)
187 (__access, __visit_invoke, variant, visit): Qualify std::forward.
188 * testsuite/20_util/variant/compile.cc: Test for ADL problems.
190 2016-09-22 Tim Shen <timshen@google.com>
192 * include/std/variant (variant::operator=): Fix assignment
194 * testsuite/20_util/variant/compile.cc: Add test.
196 2016-09-22 Tim Shen <timshen@google.com>
199 * include/std/variant (_Variant_storage::_Variant_storage):
200 Change _Variant_storage's union to be default constructible.
201 * testsuite/20_util/variant/compile.cc: New test.
203 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
206 * include/std/optional (__is_optional_impl, __is_optional): Remove.
207 (__converts_from_optional, __assigns_from_optional): New.
208 (optional(_Up&&)): Use is_same instead of __is_optional.
209 (optional(const optional<_Up>&)): Constrain with
210 __converts_from_optional.
211 (optional(optional<_Up>&&)): Likewise.
212 (operator=(_Up&&)): Use is_same instead of __is_optional, check
213 is_same and is_scalar.
214 (operator=(const optional<_Up>&)): Constrain with
215 __converts_from_optional and __assigns_from_optional.
216 (operator=(optional<_Up>&&)): Likewise.
217 * testsuite/20_util/optional/77288.cc: New.
218 * testsuite/20_util/optional/cons/value.cc: Adjust.
220 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
222 Implement LWG 2729 for tuple.
223 * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
224 Suppress conditionally.
225 (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
226 (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
227 (_Tuple_impl(const _Head&)): Constrain.
228 (_Tuple_impl(_UHead&&)): Likewise.
229 (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
230 (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
231 (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
232 (operator=(const tuple&)): Enable conditionally.
233 (operator=(tuple&&)): Suppress conditionally.
234 (operator=(const tuple<_UElements...>&)): Constrain.
235 (operator=(tuple<_UElements...>&&)): Likewise.
236 (operator=(const tuple&)): Enable conditionally (2-param tuple).
237 (operator=(tuple&&)): Suppress conditionally (2-param tuple).
238 (operator=(const tuple<_U1, _U2>&)): Constrain.
239 (operator=(tuple<_U1, _U2>&&)): Likewise.
240 (operator=(const pair<_U1, _U2>&)): Likewise.
241 (operator=(pair<_U1, _U2>&&)): Likewise.
242 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
243 * testsuite/20_util/tuple/tuple_traits.cc: New.
245 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
248 Implement LWG 2729 for pair.
249 * include/bits/stl_pair.h (_PCC): New.
250 (_ConstructiblePair, _ImplicitlyConvertiblePair):
251 Turn into static member functions of _PCC.
252 (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
254 (pair(const _T1&, const _T2&)): Adjust.
256 (pair(const pair<_U1, _U2>&)): Adjust.
257 (pair(_U1&&, const _T2&)): Likewise.
258 (pair(const _T1&, _U2&&)): Likewise.
259 (pair(_U1&&, _U2&&)): Likewise.
260 (pair(pair<_U1, _U2>&&)): Likewise.
261 (operator=(const pair&)): Make conditionally deleted.
262 (operator=(pair&&)): Make conditionally suppressed.
263 (operator=(const pair<_U1, _U2>&)): Constrain.
264 (operator=(pair<_U1, _U2>&&): Likewise.
265 * include/std/type_traits (__nonesuch): New.
266 * testsuite/20_util/pair/traits.cc: New.
268 2016-09-20 Ville Voutilainen <ville.voutilainen@gmail.com>
271 * include/bits/stl_construct.h: (_Construct_novalue): New.
272 (_Destroy_n_aux, _Destroy_n): New.
273 * include/bits/stl_uninitialized.h: (type_traits):
274 New include in C++11 mode.
275 (__uninitialized_default_novalue_1): New.
276 (__uninitialized_default_novalue_n_1): Likewise.
277 (__uninitialized_default_novalue): Likewise.
278 (__uninitialized_default_novalue_n): Likewise.
279 (__uninitialized_copy_n_pair): Likewise.
280 (uninitialized_default_construct):
281 Use __uninitialized_default_novalue.
282 (uninitialized_default_construct_n):
283 Use __uninitialized_default_novalue_n.
284 (uninitialized_value_construct): Use __uninitialized_default.
285 (uninitialized_value_construct_n): Use __uninitialized_default_n.
286 (uninitialized_move): Use uninitialized_copy.
287 (uninitialized_move_n): Use __uninitialized_copy_n_pair.
288 (destroy_at): Use _Destroy.
290 (destroy_n): Likewise.
291 * testsuite/20_util/specialized_algorithms/
292 memory_management_tools/1.cc: Add tests for exceptions,
293 add tests for trivial cases for construct and move.
295 2016-09-20 Jonathan Wakely <jwakely@redhat.com>
297 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
298 (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
300 2016-09-19 Jonathan Wakely <jwakely@redhat.com>
303 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
304 (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
305 division to int to work with Python 3.
307 * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
309 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
310 display_hint to be set by subclasses.
311 (StdVariantPrinter): Use array for display_hint. Adjust output to be
312 more similar to std::any and std::optional output.
313 (register_type_printers): Add type printers for basic_string_view
314 typedefs and experimental::any. Adjust type printers for
315 fundamentals_v1 templates to match fundamentals_v2 and later.
316 * testsuite/libstdc++-prettyprinters/cxx17.cc: New.
319 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
321 (ListWorkerBase.get_value_from_node): Define new method.
322 (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
324 2016-09-17 Jonathan Wakely <jwakely@redhat.com>
326 * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
327 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
328 Register for C++17 components in namespace std. Strip inline namespace
331 2016-09-16 Jonathan Wakely <jwakely@redhat.com>
333 * doc/xml/manual/profile_mode.xml: Fix typo.
334 * doc/html/manual/profile_mode_devel.html: Regenerate.
336 2016-09-16 Jonathan Wakely <jwakely@redhat.com>
337 Marc Glisse <marc.glisse@inria.fr>
339 * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
340 (operator new(size_t, align_val_t)): Replace modulus operator with
343 2016-09-16 Jonathan Wakely <jwakely@redhat.com>
345 * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
346 Increase alignment if less than sizeof(void*).
347 [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
348 Increase size if not a multiple of alignment.
350 2016-09-15 Jonathan Wakely <jwakely@redhat.com>
352 * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
353 * doc/html/*: Regenerate.
355 * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
357 * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
359 2016-09-14 Marek Polacek <polacek@redhat.com>
361 * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
364 2016-09-14 Christophe Lyon <christophe.lyon@linaro.org>
366 * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
367 Move dg-do directive before dg-skip.
368 * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
369 Move dg-do directive before dg-require.
370 * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
371 * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
372 * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
373 * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
374 * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
375 * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
376 * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
377 * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
378 * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
379 * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
380 * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
381 * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
382 * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
383 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
384 * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
386 * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
387 * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
388 * testsuite/27_io/objects/char/12048-5.cc: Likewise.
389 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
390 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
392 2016-09-13 Ville Voutilainen <ville.voutilainen@gmail.com>
394 Implement P0040R3, Extending memory management tools.
395 * include/bits/stl_uninitialized.h (utility): New include
397 (uninitialized_default_construct): New.
398 (uninitialized_default_construct_n): Likewise.
399 (uninitialized_value_construct): Likewise.
400 (uninitialized_value_construct_n): Likewise.
401 (uninitialized_move): Likewise.
402 (uninitialized_move_n): Likewise.
403 (destroy_at, destroy, destroy_n): Likewise.
404 * testsuite/20_util/specialized_algorithms/memory_management_tools/
407 2016-09-12 Jason Merrill <jason@redhat.com>
409 * config/abi/pre/gnu.ver: Use [jmy] for size_t.
411 2016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
413 Implement P0253R1, Fixing a design mistake in the searchers
414 interface in Library Fundamentals.
415 * include/std/functional: (utility): New include in C++17 mode.
416 (default_searcher): Use a pair as return type, adjust the definition.
417 (boyer_moore_searcher): Likewise.
418 (boyer_moore_horspool_searcher): Likewise.
419 * testsuite/20_util/function_objects/searchers.cc: Adjust.
421 2016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
423 Implement C++17 string searchers.
424 * include/std/functional: (unordered_map, vector): New includes
426 (array, bits/stl_algo.h): Likewise.
427 (default_searcher, __boyer_moore_map_base): New.
428 (__boyer_moore_array_base, __is_std_equal_to): Likewise.
429 (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
430 (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
431 (make_boyer_moore_searcher): Likewise.
432 (make_boyer_moore_horspool_searcher): Likewise.
433 * testsuite/20_util/function_objects/searchers.cc: New.
435 2016-09-12 Matthew Wahab <matthew.wahab@arm.com>
437 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
438 Move dg-do directive before dg-require.
439 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
440 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
442 * testsuite/22_locale/codecvt/utf8.cc: Likewise.
443 * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
444 * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
445 * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
446 * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
447 * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
448 * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
449 * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
450 * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
451 * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
452 * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
453 * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
454 * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
456 * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
458 * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
459 * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
460 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
462 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
464 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
466 * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
468 * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
470 * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
472 * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
474 * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
476 * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
478 * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
480 * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
482 * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
484 * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
486 * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
488 * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
490 * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
492 * testsuite/23_containers/forward_list/debug/
493 iterator_self_move_assign_neg.cc: Likewise.
494 * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
496 * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
498 * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
500 * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
502 * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
504 * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
506 * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
508 * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
510 * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
511 * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
512 * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
513 * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
514 * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
515 * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
516 * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
517 * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
518 * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
519 * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
520 * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
522 * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
523 * testsuite/23_containers/map/debug/60499.cc: Likewise.
524 * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
525 * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
526 * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
527 * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
528 * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
529 * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
530 * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
532 * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
533 * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
534 * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
535 * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
536 * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
537 * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
538 * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
539 * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
540 * testsuite/23_containers/multimap/debug/
541 iterator_self_move_assign_neg.cc: Likewise.
542 * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
544 * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
545 * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
546 * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
547 * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
548 * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
549 * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
550 * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
551 * testsuite/23_containers/multiset/debug/
552 iterator_self_move_assign_neg.cc: Likewise.
553 * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
555 * testsuite/23_containers/set/debug/60499.cc: Likewise.
556 * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
557 * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
558 * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
559 * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
560 * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
561 * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
562 * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
564 * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
565 * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
566 * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
567 * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
568 * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
570 * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
571 * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
572 * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
574 * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
576 * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
578 * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
579 * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
580 * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
581 * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
582 * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
583 * testsuite/23_containers/unordered_map/debug/
584 invalid_local_iterator_compare_neg.cc: Likewise.
585 * testsuite/23_containers/unordered_map/debug/
586 invalid_local_iterator_range_neg.cc: Likewise.
587 * testsuite/23_containers/unordered_map/debug/
588 iterator_self_move_assign_neg.cc: Likewise.
589 * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
591 * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
593 * testsuite/23_containers/unordered_map/debug/
594 use_erased_local_iterator_neg.cc: Likewise.
595 * testsuite/23_containers/unordered_map/debug/
596 use_invalid_iterator_neg.cc: Likewise.
597 * testsuite/23_containers/unordered_map/debug/
598 use_invalid_local_iterator_neg.cc: Likewise.
599 * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
600 * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc:
602 * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
604 * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
606 * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
608 * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
610 * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
612 * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
614 * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
616 * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
618 * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
620 * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
622 * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
624 * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
626 * testsuite/23_containers/unordered_multimap/debug/
627 invalid_local_iterator_compare_neg.cc: Likewise.
628 * testsuite/23_containers/unordered_multimap/debug/
629 invalid_local_iterator_range_neg.cc: Likewise.
630 * testsuite/23_containers/unordered_multimap/debug/
631 iterator_self_move_assign_neg.cc: Likewise.
632 * testsuite/23_containers/unordered_multimap/debug/
633 max_load_factor_neg.cc: Likewise.
634 * testsuite/23_containers/unordered_multimap/debug/
635 self_move_assign_neg.cc: Likewise.
636 * testsuite/23_containers/unordered_multimap/debug/
637 use_erased_local_iterator_neg.cc: Likewise.
638 * testsuite/23_containers/unordered_multimap/debug/
639 use_invalid_iterator_neg.cc: Likewise.
640 * testsuite/23_containers/unordered_multimap/debug/
641 use_invalid_local_iterator_neg.cc: Likewise.
642 * testsuite/23_containers/unordered_multiset/debug/60499.cc:
644 * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
646 * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
648 * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
650 * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
652 * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
654 * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
656 * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
658 * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
660 * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
662 * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
664 * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
666 * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
668 * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
670 * testsuite/23_containers/unordered_multiset/debug/
671 invalid_local_iterator_compare_neg.cc: Likewise.
672 * testsuite/23_containers/unordered_multiset/debug/
673 invalid_local_iterator_range_neg.cc: Likewise.
674 * testsuite/23_containers/unordered_multiset/debug/
675 iterator_self_move_assign_neg.cc: Likewise.
676 * testsuite/23_containers/unordered_multiset/debug/
677 max_load_factor_neg.cc: Likewise.
678 * testsuite/23_containers/unordered_multiset/debug/
679 self_move_assign_neg.cc: Likewise.
680 * testsuite/23_containers/unordered_multiset/debug/
681 use_erased_local_iterator_neg.cc: Likewise.
682 * testsuite/23_containers/unordered_multiset/debug/
683 use_invalid_iterator_neg.cc: Likewise.
684 * testsuite/23_containers/unordered_multiset/debug/
685 use_invalid_local_iterator_neg.cc: Likewise.
686 * testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
687 * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
688 * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
689 * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
691 * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
692 * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
693 * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
695 * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
697 * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
699 * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
700 * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
701 * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
702 * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
703 * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
704 * testsuite/23_containers/unordered_set/debug/
705 invalid_local_iterator_compare_neg.cc: Likewise.
706 * testsuite/23_containers/unordered_set/debug/
707 invalid_local_iterator_range_neg.cc: Likewise.
708 * testsuite/23_containers/unordered_set/debug/
709 iterator_self_move_assign_neg.cc: Likewise.
710 * testsuite/23_containers/unordered_set/debug/
711 max_load_factor_neg.cc: Likewise.
712 * testsuite/23_containers/unordered_set/debug/
713 self_move_assign_neg.cc: Likewise.
714 * testsuite/23_containers/unordered_set/debug/
715 use_erased_local_iterator_neg.cc: Likewise.
716 * testsuite/23_containers/unordered_set/debug/
717 use_invalid_iterator_neg.cc: Likewise.
718 * testsuite/23_containers/unordered_set/debug/
719 use_invalid_local_iterator_neg.cc: Likewise.
720 * testsuite/23_containers/vector/debug/52433.cc: Likewise.
721 * testsuite/23_containers/vector/debug/60499.cc: Likewise.
722 * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
723 * testsuite/23_containers/vector/debug/
724 iterator_self_move_assign_neg.cc: Likewise.
725 * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
727 * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
728 * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
729 * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
730 * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
731 * testsuite/29_atomics/atomic/60658.cc: Likewise.
732 * testsuite/29_atomics/atomic/60695.cc: Likewise.
733 * testsuite/29_atomics/atomic/62259.cc: Likewise.
734 * testsuite/29_atomics/atomic/64658.cc: Likewise.
735 * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
736 * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
737 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
740 2016-09-11 Jonathan Wakely <jwakely@redhat.com>
742 * libsupc++/new_opant.cc: Include exception_defines.h.
743 * libsupc++/new_opvant.cc: Likewise.
745 2016-09-09 Jason Merrill <jason@redhat.com>
747 Implement P0035R4, C++17 new of over-aligned types.
748 * libsupc++/new: Declare aligned new/delete operators.
749 * config/abi/pre/gnu.ver: Export them.
750 * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
752 * libsupc++/new_opa.cc: New.
753 * libsupc++/new_opant.cc: New.
754 * libsupc++/new_opva.cc: New.
755 * libsupc++/new_opva.cc: New.
756 * libsupc++/del_opa.cc: New.
757 * libsupc++/del_opant.cc: New.
758 * libsupc++/del_opsa.cc: New.
759 * libsupc++/del_opva.cc: New.
760 * libsupc++/del_opvant.cc: New.
761 * libsupc++/del_opvsa.cc: New.
762 * libsupc++/Makefile.am: Build them.
764 2016-09-05 Tim Shen <timshen@google.com>
766 * include/std/variant: include bits/move.h for std::addressof.
768 2016-09-05 Mikhail Strelnikov <mikhail.strelnikov@gmail.com>
770 * include/std/variant (_Variant_storage::_M_storage()): Use
771 std::addressof instead of operator& to take address.
773 2016-09-02 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
775 * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
776 setrlimit on both native and cross targets.
777 * configure: Regenerate.
779 2016-08-31 Jonathan Wakely <jwakely@redhat.com>
781 * include/bits/shared_ptr.h (_Assignable): New alias template.
782 (shared_ptr::operator=(const shared_ptr<_Tp1>&))
783 (shared_ptr::operator=(shared_ptr<_Tp1>&&))
784 (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
786 * include/bits/shared_ptr_base.h (_Assignable): New alias template.
787 (__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
788 (__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
789 (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
791 (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
792 (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
794 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
796 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
797 * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
798 * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
799 expected errors. Remove unnecessary code.
800 * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
802 * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
804 * testsuite/23_containers/set/move_comparison.cc: New test.
806 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
809 2016-08-30 Ville Voutilainen <ville.voutilainen@gmail.com>
812 * include/std/type_traits (is_constructible): Forward-declare...
813 (__is_base_to_derived_ref): ...and use here.
814 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
815 * testsuite/20_util/is_constructible/77395.cc: New.
816 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
817 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
819 * testsuite/20_util/tuple/77395.cc: New.
821 2016-08-30 Uros Bizjak <ubizjak@gmail.com>
823 * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
824 directive above dg-require-namedlocale directive.
825 * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
826 * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
827 * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
828 * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
829 * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
831 2016-08-27 Tim Shen <timshen@google.com>
834 * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
835 _M_expression_term): Modify to support dash literal.
836 * include/bits/regex_scanner.h: Add dash as a token type to make
837 a different from the mandated dash literal by escaping.
838 * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
839 token in bracket expression parsing.
840 * testsuite/28_regex/regression.cc: Add new testcases.
842 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
845 * doc/xml/manual/intro.xml: Document DR 2127 change.
846 * doc/html/*: Regenerate.
847 * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
848 (operator++(), operator++(int)): Use injected class name.
849 * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
851 * testsuite/*: Use { target c++11 } or { target c++14 } instead of
852 using -std in dg-options.
854 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
855 Pedro Alves <palves@redhat.com>
857 * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
858 and restore dg-interpreter-batch-mode.
859 * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
860 gdb-dg-runtest instead of dg-runtest.
861 * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
863 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
865 * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
866 precise patterns for basic_string constructors.
867 (GLIBCXX_3.4.23): Export new constructors.
868 * doc/xml/manual/intro.xml: Document LWG 2583 status.
869 * doc/html/*: Regenerate.
870 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
871 (basic_string(const basic_string&, size_type, const Alloc&)): Add
872 new constructor for LWG 2583.
873 (basic_string(const basic_string&, size_type, size_type)): Remove
875 [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
876 * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
877 * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
878 * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
880 2016-08-24 Aditya Kumar <hiraditya@msn.com>
882 * include/bits/algorithmfwd.h: Remove trailing whitespace.
883 * include/bits/shared_ptr_base.h: Likewise.
885 2016-08-23 Jonathan Wakely <jwakely@redhat.com>
887 * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
888 * include/profile/array (array): Likewise.
889 (array::swap): Fix exception specification for zero-sized arrays.
892 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
893 (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
894 * testsuite/23_containers/map/77334.cc: New test.
896 * doc/xml/manual/using.xml: Remove reference to -pthreads option.
897 * doc/html/*: Regenerate.
899 * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
900 * testsuite/experimental/feat-lib-fund.cc: Likewise.
903 * include/bits/stl_iterator.h
904 (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
905 define for C++98 mode.
906 (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
907 * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
909 * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
910 * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
911 * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
912 * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
914 * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
915 difference operator for C++98.
916 * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
918 * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
919 * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
920 (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
921 * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
922 (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
924 * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
925 _GLIBCXX14_CONSTEXPR.
926 (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
927 * include/std/array (array::begin, array::end, array::rbegin)
928 (array::rend, array::cbegin, array:cend, array::crbegin)
929 (array::crend, array::operator[], array::at, array::front)
930 (array::back, array::data): Likewise.
931 * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
932 with separate tests for C++11, C++14, and C++17.
933 * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
934 * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
935 * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
937 2016-08-22 Tim Shen <timshen@google.com>
939 Split _M_dfs() into smaller functions.
940 * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
941 (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
942 (_M_handle_line_end_assertion, _M_handle_word_boundary)
943 (_M_handle_subexpr_lookahead, _M_handle_match)
944 (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
945 Add separate function declarations.
946 * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
948 2016-08-22 Gleb Natapov <gleb@scylladb.com>
951 * config/abi/pre/gnu-versioned-namespace.ver: Export
952 __cxa_init_primary_exception and std::exception_ptr(void*).
953 * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
954 export __cxa_init_primary_exception and std::exception_ptr(void*).
955 * include/Makefile.am: Add new headers.
956 * include/Makefile.in: Regenerate.
957 * libsupc++/Makefile.am: Add new headers.
958 * libsupc++/Makefile.in: Regenerate.
959 * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
960 * libsupc++/cxxabi_init_exception.h: New header.
961 (__cxa_init_primary_exception): Declare.
962 * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
963 (__cxa_throw): Use __cxa_init_primary_exception.
964 * libsupc++/exception (std::exception): Move to ...
965 * libsupc++/exception.h: New header.
966 * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
968 (__exception_ptr::__dest_thunk): New function template.
969 (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
970 Use __cxa_allocate_exception and __cxa_init_primary_exception to
971 create exception_ptr.
972 * libsupc++/typeinfo: Include bits/exception.h instead of exception.
973 * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
975 2016-08-22 Jonathan Wakely <jwakely@redhat.com>
977 * doc/xml/api.xml: Replace hardcoded links for specific versions with
978 link to docs for all releases.
979 * doc/html/*: Regenerate.
982 * doc/xml/manual/intro.xml: Document DR 2062 change.
983 * include/std/functional (function::swap): Add noexcept.
984 (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
985 * testsuite/20_util/function/77322.cc: New test.
987 2016-08-19 Jonathan Wakely <jwakely@redhat.com>
989 * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
990 *-*-solaris* instead of -pthreads.
991 * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
992 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
993 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
994 * testsuite/23_containers/list/pthread1.cc: Likewise.
995 * testsuite/23_containers/list/pthread5.cc: Likewise.
996 * testsuite/23_containers/map/pthread6.cc: Likewise.
997 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
998 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
999 * testsuite/30_threads/shared_mutex/*: Likewise.
1000 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
1001 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
1002 default_weaktoshared.cc: Likewise.
1003 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
1004 mutex_weaktoshared.cc: Likewise.
1005 * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
1006 dg-require-effective-target instead of using -std option.
1007 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
1009 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
1010 * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
1012 * testsuite/30_threads/async/*: Likewise.
1013 * testsuite/30_threads/call_once/*: Likewise.
1014 * testsuite/30_threads/condition_variable/*: Likewise.
1015 * testsuite/30_threads/condition_variable_any/*: Likewise.
1016 * testsuite/30_threads/future/*: Likewise.
1017 * testsuite/30_threads/lock/*: Likewise.
1018 * testsuite/30_threads/mutex/*: Likewise.
1019 * testsuite/30_threads/packaged_task/*: Likewise.
1020 * testsuite/30_threads/promise/*: Likewise.
1021 * testsuite/30_threads/recursive_mutex/*: Likewise.
1022 * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
1023 * testsuite/30_threads/shared_future/*: Likewise.
1024 * testsuite/30_threads/shared_lock/*: Likewise.
1025 * testsuite/30_threads/shared_timed_mutex/*: Likewise.
1026 * testsuite/30_threads/this_thread/*: Likewise.
1027 * testsuite/30_threads/thread/*: Likewise.
1028 * testsuite/30_threads/timed_mutex/*: Likewise.
1029 * testsuite/30_threads/try_lock/*: Likewise.
1030 * testsuite/30_threads/unique_lock/*: Likewise.
1032 * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
1033 * doc/html/*: Regenerate.
1034 * include/experimental/functional (_Not_fn, not_fn): Match C++17
1036 * include/std/functional (_Not_fn, not_fn): Define for C++17.
1037 * testsuite/20_util/not_fn/1.cc: New.
1038 * testsuite/experimental/functional/not_fn.cc: Test abstract class.
1039 Remove test for volatile-qualified wrapper.
1041 * include/std/atomic (atomic::is_always_lock_free): Define.
1042 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
1043 * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
1044 * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
1045 * doc/xml/manual/status_cxx2017.xml: Update status.
1046 * doc/html/*: Regenerate.
1048 * include/experimental/tuple (apply): Qualify call to __apply_impl.
1049 * include/std/tuple (apply): Likewise.
1050 * testsuite/experimental/system_error/value.cc: Fix ambiguities in
1052 * testsuite/experimental/tuple/tuple_size.cc: Likewise.
1053 * testsuite/experimental/type_traits/value.cc: Likewise.
1055 * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
1057 * doc/html/*: Regenerate.
1059 2016-08-18 Ville Voutilainen <ville.voutilainen@gmail.com>
1061 Implement the latest proposed resolution of LWG 2756.
1062 * include/std/optional (Optional_base(const _Tp&))
1063 (Optional_base(_Tp&&), using _Base::_Base): Remove.
1064 (optional(nullopt_t)): New.
1065 (optional(_Up&&)): Invoke base directly with in_place
1066 rather than creating a temporary, add default template
1067 argument, change constraints.
1068 (optional(const optional<_Up>&)): Invoke base directly
1069 with in_place, remove unnecessary constraints.
1070 (optional(optional<_Up>&& __t)): Likewise.
1071 (optional(in_place_t, _Args&&...)): New.
1072 (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
1073 (operator=(_Up&&)): Add default template argument, change constraints.
1074 (operator=(const optional<_Up>&)): Put is_same first in the
1076 (operator=(optional<_Up>&&)): Likewise.
1077 * testsuite/20_util/optional/assignment/5.cc: Add a test to
1078 verify assignment from something that can't be perfect-forwarded.
1079 * testsuite/20_util/optional/cons/value.cc: Add tests to verify
1080 that a nested optional is disengaged when constructed
1081 from a disengaged element type, and to verify that assignments
1082 from an engaged element type engage the optional.
1084 2016-08-18 Tim Shen <timshen@google.com>
1088 * include/Makefile.am: Add new file std/variant.
1089 * include/Makefile.in: Generated from Makefile.am.
1090 * include/bits/enable_special_members.h: Add a tag type to allow
1091 the construction in non-default constructor.
1092 * include/bits/uses_allocator.h: Add convenience traits to
1093 detect constructibility.
1094 * include/std/variant: Implement <variant>.
1095 * testsuite/20_util/variant/compile.cc: Compile-time tests.
1096 * testsuite/20_util/variant/run.cc: Runtime tests.
1098 2016-08-18 Jonathan Wakely <jwakely@redhat.com>
1100 * doc/xml/manual/test.xml (test.run.permutations): Expand section.
1101 (test.new_tests): Rewrite section.
1102 (tests.dg.directives): New section.
1103 * doc/html/*: Regenerate.
1105 * doc/xml/manual/test.xml: Improve documentation of test targets.
1106 Document new-abi-baseline, check-debug, and check-parallel targets.
1108 * doc/xml/manual/build_hacking.xml: New section on shared library
1111 * doc/xml/manual/build_hacking.xml: Improve markup.
1112 * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
1114 * doc/xml/faq.xml: Change link text to "Testing".
1116 * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
1117 dg-options directive.
1119 2016-08-17 Jonathan Wakely <jwakely@redhat.com>
1121 * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
1122 directive and use effective target instead of dg-options.
1124 * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
1125 instead of -std in dg-options.
1126 * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
1127 * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
1128 * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
1129 * testsuite/20_util/hash/quality.cc: Likewise.
1130 * testsuite/25_algorithms/heap/moveable.cc: Likewise.
1131 * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
1132 * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
1133 * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
1134 * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
1135 * testsuite/25_algorithms/sort/random_test.cc: Likewise.
1137 * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
1138 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
1139 * testsuite/27_io/rvalue_streams.cc: Likewise.
1141 * testsuite/26_numerics/complex/literals/types.cc: Add comment.
1143 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
1144 Remove duplicate dg-options directive.
1146 * testsuite/ext/profile/all.cc: Use effective target instead of
1147 -std=gnu++11. Use dg-additional-options instead of repeating options.
1149 * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
1150 -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
1151 instead of dg-excess-errors.
1153 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
1155 * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
1156 * testsuite/experimental/ratio/value.cc: Likewise.
1157 * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
1159 * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
1160 * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
1161 * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
1162 * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
1163 * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
1164 * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
1165 * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
1166 * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
1167 * testsuite/tr1/5_numerical_facilities/special_functions/
1168 10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
1169 C++17 compatibility.
1171 * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
1172 expected signatures for C++14 compatibility.
1175 * include/bits/basic_string.h (operator=(__sv_type)
1176 (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
1177 (replace(size_type, size_type, __sv_type))
1178 (replace(const_iterator, const_iterator, __sv_type))
1179 (find(__sv_type, size_type), rfind(__sv_type, size_type))
1180 (compare(size_type, size_type, __sv_type)): Reformat.
1181 (_If_sv): Define helper for SFINAE constaints.
1182 (append(const _Tp&, size_type, size_type))
1183 (assign(const _Tp&, size_type, size_type))
1184 (insert(size_type, const _Tp&, size_type, size_type))
1185 (replace(size_type, size_type, const _Tp&, size_type, size_type)):
1187 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
1189 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
1191 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
1193 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
1195 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
1197 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
1199 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
1201 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
1203 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
1205 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
1207 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
1210 2016-08-16 Jonathan Wakely <jwakely@redhat.com>
1213 * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
1214 pointers to start and end of storage.
1215 * testsuite/23_containers/vector/bool/72847.cc: New test.
1216 * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
1217 _M_finish after deallocating.
1218 (vector<bool>::_M_fill_insert): Likewise.
1219 (vector<bool>::_M_insert_range): Likewise.
1220 (vector<bool>::_M_insert_aux): Likewise.
1222 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
1224 Implement LWG 2744 and LWG 2754.
1225 * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
1226 (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
1227 (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
1229 (emplace(_Args&&...)): Likewise.
1230 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
1231 * include/std/utility: (__is_in_place_type_impl): New.
1232 (__is_in_place_type): Likewise.
1233 * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
1235 * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
1236 in_place constructor.
1237 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
1238 * testsuite/20_util/any/requirements.cc: Add a test for
1239 in_place-constructing a non-default-constructible type.
1241 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
1243 Add a feature macro for C++17 make_from_tuple.
1244 * include/std/tuple (__cpp_lib_make_from_tuple): New.
1245 (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
1246 Qualify the call to get<>().
1247 * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
1249 2016-08-15 Uros Bizjak <ubizjak@gmail.com>
1251 * src/filesystem/ops.cc: Always include ostream and
1252 ext/stdio_filebuf.h.
1253 (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
1254 [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
1255 sendfile fails with ENOSYS or EINVAL.
1257 2016-08-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
1260 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
1263 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
1265 Implement C++17 make_from_tuple.
1266 * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
1267 * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
1269 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
1272 * include/bits/basic_string.h
1273 (append(__sv_type, size_type, size_type)): Turn into a template,
1274 change parameter type, constrain, add a conversion to __sv_type
1275 from the dependent parameter type.
1276 (assign(__sv_type, size_type, size_type)): Likewise.
1277 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
1278 (replace(size_type, size_type, __sv_type, size_type, size_type)):
1280 (compare(size_type, size_type,__sv_type, size_type, size_type)):
1282 * testsuite/21_strings/basic_string/lwg2758.cc: New.
1284 2016-08-06 Jonathan Wakely <jwakely@redhat.com>
1286 * doc/xml/manual/status_cxx2017.xml: Update status table.
1287 * doc/html/manual/status.html: Regenerate.
1289 * testsuite/lib/libstdc++.exp: Fix typo in comment.
1292 * include/std/functional (_Function_base::_Base_manager::_M_clone):
1293 Qualify new operator.
1294 * testsuite/20_util/function/cons/72820.cc: New test.
1296 * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
1297 * doc/html/manual/status.html: Regenerate.
1298 * include/Makefile.am: Add new header.
1299 * include/Makefile.in: Regenerate.
1300 * include/bits/invoke.h: New header.
1301 (__invoke): Make constexpr. Add && to types in exception specification.
1302 * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
1303 names. Include <bits/invoke.h> and use std::__invoke.
1304 * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
1306 (invoke): Add && to types in exception specification.
1307 * include/std/tuple (apply, __apply_impl): Define for C++17.
1308 * testsuite/20_util/tuple/apply/1.cc: New test.
1309 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
1312 2016-08-05 Jonathan Wakely <jwakely@redhat.com>
1314 * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
1315 * doc/html/manual/status.html: Regenerate.
1317 * include/std/chrono (floor, ceil, round, abs): New for C++17.
1318 * testsuite/20_util/duration_cast/rounding.cc: New test.
1319 * testsuite/20_util/time_point_cast/rounding.cc: New test.
1320 * doc/xml/manual/status_cxx2017.xml: Update status table.
1321 * doc/html/manual/status.html: Regenerate.
1322 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
1324 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
1325 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
1326 * testsuite/20_util/duration/literals/range.cc: Likewise.
1328 * include/std/functional (__callable_functor): Remove.
1329 (_Function_handler::_M_invoke): Use __invoke instead of
1330 __callable_functor or mem_fn.
1331 (function::_Callable): Use lvalue in result_of expression.
1332 (function): Remove TODO comments about allocators.
1333 * testsuite/20_util/function/cons/refqual.cc: New test.
1335 2016-08-04 Jonathan Wakely <jwakely@redhat.com>
1337 * doc/xml/manual/status_cxx2017.xml: Update status table.
1338 * include/std/functional (__inv_unwrap): Move to <type_traits>.
1339 (__invoke_impl): Remove exception specifications.
1340 (__invoke, invoke): Add exception specifications using
1341 __is_nothrow_callable.
1342 * include/std/type_traits (__inv_unwrap): Move from <functional>.
1343 (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
1344 (__is_callable, __is_nothrow_callable): New traits.
1345 (is_callable, is_callable_v): New C++17 traits.
1346 (is_nothrow_callable, is_nothrow_callable_v): Likewise.
1347 * testsuite/20_util/is_callable/requirements/
1348 explicit_instantiation.cc: New test.
1349 * testsuite/20_util/is_callable/requirements/
1350 explicit_instantiation_ext.cc: New test.
1351 * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
1352 * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
1354 * testsuite/20_util/is_callable/value.cc: New test.
1355 * testsuite/20_util/is_callable/value_ext.cc: New test.
1356 * testsuite/20_util/is_nothrow_callable/requirements/
1357 explicit_instantiation.cc: New test.
1358 * testsuite/20_util/is_nothrow_callable/requirements/
1359 explicit_instantiation_ext.cc: New test.
1360 * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
1362 * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
1364 * testsuite/20_util/is_nothrow_callable/value.cc: New test.
1365 * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
1367 * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
1368 * doc/html/manual/status.html: Regenerate.
1370 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
1371 effective target not dg-options. Move check for feature-test macro to:
1372 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
1375 * include/std/functional (_Unwrap): Rename to __inv_unwrap.
1377 (__invoke_impl): Remove unused template parameters.
1378 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
1380 * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
1381 and test __invoke extension for C++11.
1383 2016-08-03 Jonathan Wakely <jwakely@redhat.com>
1385 * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
1386 Define feature-test macro.
1387 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
1390 * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
1391 * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
1392 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1393 * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
1394 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1396 * include/std/utility (as_const): Define.
1397 * testsuite/20_util/as_const/1.cc: New test.
1398 * testsuite/20_util/as_const/rvalue_neg.cc: New test.
1400 * include/bits/shared_ptr.h (owner_less): Add default template
1402 * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
1404 (owner_less<void>): Define specialization.
1405 * include/bits/stl_function.h (__cpp_lib_transparent_operators):
1407 * testsuite/20_util/owner_less/void.cc: New test.
1408 * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
1410 * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
1411 Define feature-test macro.
1412 * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
1413 * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
1414 * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
1415 (__cpp_lib_type_trait_variable_templates): Define.
1417 * include/bits/stl_function.h: Remove commented-out macro.
1418 * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
1419 Define feature-test macro.
1420 * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
1422 * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
1423 C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
1425 * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
1426 do #error for C++17.
1427 * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
1428 of __STDCPP_WANT_MATH_SPEC_FUNCS__.
1429 * include/tr1/bessel_function.tcc: Likewise.
1430 * include/tr1/beta_function.tcc: Likewise.
1431 * include/tr1/cmath: Likewise.
1432 * include/tr1/ell_integral.tcc: Likewise.
1433 * include/tr1/exp_integral.tcc: Likewise.
1434 * include/tr1/gamma.tcc: Likewise.
1435 * include/tr1/hypergeometric.tcc: Likewise.
1436 * include/tr1/legendre_function.tcc: Likewise.
1437 * include/tr1/modified_bessel_func.tcc: Likewise.
1438 * include/tr1/poly_hermite.tcc: Likewise.
1439 * include/tr1/poly_laguerre.tcc: Likewise.
1440 * include/tr1/riemann_zeta.tcc: Likewise.
1441 * include/tr1/special_function_util.h: Likewise.
1442 * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
1444 * include/std/type_traits (has_trivial_default_constructor): Remove.
1445 (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
1446 * testsuite/20_util/has_trivial_copy_assign/requirements/
1447 explicit_instantiation.cc: Remove test.
1448 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1450 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
1452 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
1453 * testsuite/20_util/has_trivial_copy_constructor/requirements/
1454 explicit_instantiation.cc: Likewise.
1455 * testsuite/20_util/has_trivial_copy_constructor/requirements/
1456 typedefs.cc: Likewise.
1457 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
1458 * testsuite/20_util/has_trivial_default_constructor/requirements/
1459 explicit_instantiation.cc: Likewise.
1460 * testsuite/20_util/has_trivial_default_constructor/requirements/
1461 typedefs.cc: Likewise.
1462 * testsuite/20_util/has_trivial_default_constructor/value.cc:
1464 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
1465 Check has_trivial_default_constructor, has_trivial_copy_constructor,
1466 and has_trivial_copy_assign are not defined.
1467 * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
1469 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
1470 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
1471 dg-error line number.
1472 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1475 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
1477 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
1478 Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
1479 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
1481 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
1483 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
1485 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
1487 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
1489 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
1492 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
1495 * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
1496 dg-error to relevant line.
1497 * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
1499 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
1501 * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
1503 * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
1504 options are present that aren't valid for C.
1505 * testsuite/abi/header_cxxabi.c: Likewise.
1507 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
1508 check_value.cc: Do not add special functions to namespace std in TR1
1511 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
1512 run for C++11 and later.
1513 * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
1515 * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
1516 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
1517 * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
1518 * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
1519 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
1521 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
1523 * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
1524 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
1526 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
1528 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
1530 * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
1531 * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
1532 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
1533 * testsuite/special_functions/03_beta/check_value.cc: Likewise.
1534 * testsuite/special_functions/03_beta/compile.cc: Likewise.
1535 * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
1536 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
1537 * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
1539 * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
1540 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
1541 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
1542 * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
1544 * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
1545 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
1546 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
1547 * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
1549 * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
1550 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
1551 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
1552 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
1554 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
1555 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
1556 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
1557 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
1558 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
1560 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
1561 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
1562 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
1563 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
1565 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
1566 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
1567 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
1568 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
1569 * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
1570 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
1571 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
1572 * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
1573 * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
1574 * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
1575 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
1576 * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
1577 * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
1578 * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
1579 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
1580 * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
1581 * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
1582 * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
1583 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
1584 * testsuite/special_functions/14_expint/check_value.cc: Likewise.
1585 * testsuite/special_functions/14_expint/compile.cc: Likewise.
1586 * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
1587 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
1588 * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
1589 * testsuite/special_functions/15_hermite/compile.cc: Likewise.
1590 * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
1591 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
1592 * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
1593 * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
1594 * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
1595 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
1596 * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
1597 * testsuite/special_functions/17_legendre/compile.cc: Likewise.
1598 * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
1599 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
1600 * testsuite/special_functions/18_riemann_zeta/check_value.cc:
1602 * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
1603 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
1604 * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
1605 * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
1606 * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
1607 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
1608 * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
1609 * testsuite/special_functions/20_sph_legendre/check_value.cc:
1611 * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
1612 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
1613 * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
1614 * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
1615 * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
1616 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
1618 * testsuite/tr1/5_numerical_facilities/special_functions/
1619 08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
1621 * testsuite/tr1/5_numerical_facilities/special_functions/
1622 09_cyl_bessel_j/check_value.cc: Likewise.
1623 * testsuite/tr1/5_numerical_facilities/special_functions/
1624 10_cyl_bessel_k/check_value.cc: Likewise.
1625 * testsuite/tr1/5_numerical_facilities/special_functions/
1626 11_cyl_neumann/check_value.cc: Likewise.
1627 * testsuite/tr1/5_numerical_facilities/special_functions/
1628 21_sph_bessel/check_value.cc: Likewise.
1629 * testsuite/tr1/5_numerical_facilities/special_functions/
1630 23_sph_neumann/check_value.cc: Likewise.
1632 2016-08-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1634 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
1635 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1636 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1637 * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
1638 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
1639 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
1641 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
1643 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
1646 * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
1647 additional flags for compiling libtestc++.a objects.
1649 2016-08-01 Jonathan Wakely <jwakely@redhat.com>
1651 * include/bits/basic_string.h (data() const): Update comment.
1652 (data()): Add non-const overload for C++17.
1653 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
1654 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
1656 * include/bits/basic_string.tcc: Disable explicit instantiation
1657 declarations for C++17.
1659 * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
1660 ignored "xfail" from { dg-do compile { xfail selector } } directive.
1661 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
1663 * testsuite/26_numerics/headers/cmath/
1664 c99_classification_macros_c++11.cc: Likewise.
1665 * testsuite/26_numerics/headers/cmath/
1666 c99_classification_macros_c++98.cc: Likewise.
1667 * testsuite/26_numerics/headers/cmath/
1668 c99_classification_macros_c.cc: Likewise.
1670 * testsuite/backward/hash_set/check_construct_destroy.cc: Account
1671 for different construct/destroy counts in C++98 mode.
1673 * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
1675 * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
1677 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
1680 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
1681 C++98-compatible initialization for array.
1683 * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
1684 unused header and variable from compile-only test.
1685 * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
1686 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
1687 * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
1688 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
1691 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
1692 Remove duplicate dg-options directive.
1694 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
1695 808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
1697 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
1698 linker options from compile-only tests.
1699 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1702 * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
1703 supported for C++11 and later.
1704 * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
1705 * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
1707 2016-08-01 Uros Bizjak <ubizjak@gmail.com>
1709 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1711 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
1713 * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
1716 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1717 Ensure test is compiled with optimization.
1719 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1720 Adjust dg-prune-output pattern for error in C++98 mode.
1722 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
1723 run for C++11 or later.
1725 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
1726 test to not rely on GNU extension (escaped normal characters in POSIX
1727 BRE). Enable tests for other strings which are now supported.
1729 * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
1730 c++11 instead of setting -std=gnu++14.
1733 * include/std/array (get): Use positive message for static assertions.
1734 * include/std/functional (_Safe_tuple_element_t): Fix indentation.
1735 * include/std/tuple (tuple_element<I, tuple<>>): Add partial
1736 specialization for invalid indices, with static assertion.
1737 * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
1739 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
1740 dg-error to relevant line.
1741 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
1743 * testsuite/23_containers/forward_list/requirements/dr438/
1744 assign_neg.cc: Likewise.
1745 * testsuite/23_containers/forward_list/requirements/dr438/
1746 constructor_1_neg.cc: Likewise.
1747 * testsuite/23_containers/forward_list/requirements/dr438/
1748 constructor_2_neg.cc: Likewise.
1749 * testsuite/23_containers/forward_list/requirements/dr438/
1750 insert_neg.cc: Likewise.
1751 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
1753 * testsuite/26_numerics/random/linear_congruential_engine/
1754 requirements/non_uint_neg.cc: Likewise.
1755 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1756 Likewise. Also test for std::atomic_address.
1758 2016-07-31 Ville Voutilainen <ville.voutilainen@gmail.com>
1760 Add missing variable traits, fix testsuite failures.
1761 * include/bits/uses_allocator.h (uses_allocator_v): New.
1762 * include/std/functional (is_bind_expression_v, is_placeholder_v):
1764 * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
1765 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
1766 * testsuite/20_util/duration/literals/range.cc: Likewise.
1767 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
1768 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
1769 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
1770 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
1771 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1773 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
1774 * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
1777 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
1779 * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
1780 not test 128-bit types.
1781 * testsuite/20_util/is_floating_point/value.cc: Likewise.
1782 * testsuite/20_util/is_integral/value.cc: Likewise.
1783 * testsuite/20_util/is_signed/value.cc: Likewise.
1784 * testsuite/20_util/is_unsigned/value.cc: Likewise.
1785 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
1786 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
1787 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
1789 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1792 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
1794 2016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
1796 Implement C++17 variable templates for type traits.
1797 * include/std/chrono (treat_as_floating_point_v): New.
1798 * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
1799 (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
1800 (ratio_greater_equal_v): Likewise.
1801 * include/std/system_error (is_error_code_enum_v)
1802 (is_error_condition_enum_v): Likewise.
1803 * include/std/tuple (tuple_size_v): Likewise.
1804 * type_traits (conjunction_v, disjunction_v, negation_v)
1805 (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
1806 (is_array_v, is_pointer_v, is_lvalue_reference_v)
1807 (is_rvalue_reference_v, is_member_object_pointer_v)
1808 (is_member_function_pointer_v, is_enum_v, is_union_v)
1809 (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
1810 (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
1811 (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
1812 (is_trivially_copyable_v, is_standard_layout_v)
1813 (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
1814 (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
1815 (is_constructible_v, is_default_constructible_v)
1816 (is_copy_constructible_v, is_move_constructible_v)
1817 (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
1818 (is_destructible_v, is_trivially_constructible_v)
1819 (is_trivially_default_constructible_v)
1820 (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
1821 (is_trivially_assignable_v, is_trivially_copy_assignable_v)
1822 (is_trivially_move_assignable_v, is_trivially_destructible_v)
1823 (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
1824 (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
1825 (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
1826 (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
1827 (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
1828 (is_same_v, is_base_of_v, is_convertible_v): Likewise.
1829 * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
1830 * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
1832 * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
1833 * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
1834 * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
1836 2016-07-29 Andreas Schwab <schwab@linux-m68k.org>
1838 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
1839 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1840 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
1842 2016-07-29 Jonathan Wakely <jwakely@redhat.com>
1844 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
1845 * doc/html/manual/abi.html: Regenerate.
1847 * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
1848 * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
1850 * configure: Regenerate.
1851 * testsuite/util/testsuite_abi.cc: Add new symbol version.
1853 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1854 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1855 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1856 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1858 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1859 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1860 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1862 2016-07-28 Jonathan Wakely <jwakely@redhat.com>
1864 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1865 Adjust dg-prune-output pattern for error in C++98 mode.
1866 * testsuite/23_containers/deque/requirements/dr438/
1867 constructor_1_neg.cc: Likewise.
1868 * testsuite/23_containers/deque/requirements/dr438/
1869 constructor_2_neg.cc: Likewise.
1870 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1872 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1874 * testsuite/23_containers/list/requirements/dr438/
1875 constructor_1_neg.cc: Likewise.
1876 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1878 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1880 * testsuite/23_containers/vector/requirements/dr438/
1881 constructor_1_neg.cc: Likewise.
1882 * testsuite/23_containers/vector/requirements/dr438/
1883 constructor_2_neg.cc: Likewise.
1884 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1887 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
1888 for different construct/destroy counts in C++98 mode.
1890 * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
1891 dg-options to dg-additional-options so that default options are used.
1892 * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
1894 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
1895 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
1897 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1898 Use dg-additional-options instead of repeating the common options.
1900 * testsuite/22_locale/conversions/string/1.cc: Remove unintended
1901 dg-do compile directive.
1902 * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
1904 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
1906 2016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
1908 Implement std::string_view and P0254r2,
1909 Integrating std::string_view and std::string.
1910 * include/Makefile.am: Add string_view and string_view.tcc
1911 to the exported headers.
1912 * include/Makefile.in: Likewise.
1913 * include/bits/basic_string.h: Include <string_view> in C++17 mode.
1915 (basic_string(__sv_type, const _Alloc&)): Likewise.
1916 (operator=(__sv_type)): Likewise.
1917 (operator __sv_type()): Likewise.
1918 (operator+=(__sv_type)): Likewise.
1919 (append(__sv_type __sv)): Likewise.
1920 (append(__sv_type, size_type, size_type)): Likewise.
1921 (assign(__sv_type)): Likewise.
1922 (assign(__sv_type, size_type, size_type)): Likewise.
1923 (insert(size_type, __sv_type)): Likewise.
1924 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
1925 (replace(size_type, size_type, __sv_type)): Likewise.
1926 (replace(size_type, size_type, __sv_type, size_type, size_type)):
1928 (replace(const_iterator, const_iterator, __sv_type)): Likewise.
1929 (find(__sv_type, size_type)): Likewise.
1930 (rfind(__sv_type, size_type)): Likewise.
1931 (find_first_of(__sv_type, size_type)): Likewise.
1932 (find_last_of(__sv_type, size_type)): Likewise.
1933 (find_first_not_of(__sv_type, size_type)): Likewise.
1934 (find_last_not_of(__sv_type, size_type)): Likewise.
1935 (compare(__sv_type)): Likewise.
1936 (compare(size_type, size_type, __sv_type)): Likewise.
1937 (compare(size_type, size_type, __sv_type, size_type, size_type)):
1939 * include/bits/string_view.tcc: New.
1940 * include/std/string_view: Likewise.
1941 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
1942 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
1943 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
1945 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
1947 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
1949 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
1951 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
1953 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
1955 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
1957 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
1959 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
1961 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
1963 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
1965 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
1967 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
1968 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
1969 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
1970 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
1971 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
1972 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
1973 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
1974 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
1975 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
1976 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
1978 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
1980 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
1982 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
1984 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
1986 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
1988 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
1990 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
1992 * testsuite/21_strings/basic_string_view/include.cc: Likewise.
1993 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
1994 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
1995 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
1996 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
1998 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
2000 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
2002 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
2004 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
2006 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
2008 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
2010 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
2012 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
2014 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
2016 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
2018 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
2020 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
2022 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
2024 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
2026 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
2028 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
2030 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
2032 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
2034 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
2036 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
2038 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
2040 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
2042 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
2044 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
2046 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
2048 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
2050 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
2052 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
2054 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
2056 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
2058 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
2060 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
2062 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
2063 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
2065 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
2067 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
2069 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
2071 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
2073 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
2075 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
2077 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
2079 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
2081 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
2082 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
2084 2016-07-27 Jonathan Wakely <jwakely@redhat.com>
2086 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
2088 2016-07-25 Georeth Chow <georeth2010@gmail.com>
2090 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
2091 _S_concat enumerator.
2092 * testsuite/ext/rope/6.cc: New test.
2094 2016-07-25 Jonathan Wakely <jwakely@redhat.com>
2096 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
2097 std::mt19937, std::thread and std::atomic to simplify test.
2098 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
2100 2016-07-22 Jonathan Wakely <jwakely@redhat.com>
2103 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
2104 (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
2105 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
2106 * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
2107 * testsuite/23_containers/set/allocator/71964.cc: New test.
2109 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
2110 delete[] instead of delete.
2112 2016-07-21 Jonathan Wakely <jwakely@redhat.com>
2114 * include/experimental/propagate_const (propagate_const::__t): Rename
2115 to _M_t and remove comment. Qualify std::move and std::forward.
2116 * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
2118 * testsuite/23_containers/vector/zero_sized_allocations.cc:
2119 Define sized deallocation function.
2120 * testsuite/util/testsuite_new_operators.h:
2121 (operator delete(void*, const std::nothrow_t&)): Define nothrow
2122 deallocation function.
2124 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
2125 reads past the end of strings.
2126 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
2128 * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
2129 invalid array accesses.
2130 * testsuite/experimental/string_view/operations/compare/char/1.cc:
2131 Fix read past the end of string.
2132 * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
2134 * testsuite/24_iterators/container_access.cc: Fix missing returns.
2135 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
2137 * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
2138 leak) memory for arguments to placement delete.
2139 * testsuite/20_util/addressof/1.cc: Don't leak memory.
2140 * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
2141 * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
2144 2016-07-20 Jonathan Wakely <jwakely@redhat.com>
2146 * doc/xml/manual/intro.xml: Document DR 2684 status.
2147 * doc/html/*: Regenerate.
2149 * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
2150 (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
2151 (atomic_uint64_t): Define (LWG 2441).
2152 * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
2154 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
2156 * doc/xml/manual/intro.xml: Document DR 2441 status.
2158 * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
2159 to use perfect forwarding (LWG 2328).
2160 * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
2161 * doc/xml/manual/intro.xml: Document DR 2328 status.
2163 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
2164 static objects for catching nullptr as pointer to member types.
2166 2016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
2168 Clean up optional's comments.
2169 * include/std/optional: Remove incorrect section headers
2170 from comments when redundant, replace bare section
2171 headers with more descriptive comments.
2173 2016-07-15 Jonathan Wakely <jwakely@redhat.com>
2175 * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
2176 * include/bits/move.h: Likewise.
2177 * include/bits/postypes.h: Likewise.
2178 * include/debug/bitset: Likewise.
2179 * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
2180 * include/ext/string_conversions.h: Change C++0x to __cxx11 in
2182 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
2183 * testsuite/util/thread/all.h: Likewise.
2185 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
2189 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
2190 nullptr match handlers of pointer type.
2192 2016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
2194 Implement C++17 P0025 clamp.
2195 * include/bits/algorithmfwd.h: Declare clamp overloads.
2196 * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp.
2197 * testsuite/25_algorithms/clamp/1.cc: New test.
2198 * testsuite/25_algorithms/clamp/2.cc: New test.
2199 * testsuite/25_algorithms/clamp/constexpr.cc: New test.
2200 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
2202 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
2205 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
2207 Fix the constraints for any's assignment operator template to properly
2208 reject assignment from a non-copyable lvalue.
2209 * include/std/any (operator=(_ValueType&&)): Constrain the decayed
2210 type for is_copy_constructible,
2211 * testsuite/20_util/any/requirements.cc: Add a test for
2212 non-copyable lvalues.
2214 2016-07-14 Jonathan Wakely <jwakely@redhat.com>
2216 * include/experimental/functional: Include <parallel/algorithm> in
2219 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
2223 * include/bits/forward_list.h (forward_list): Update doxygen comments
2224 to reflect allocator propagation semantics. Remove ambiguous
2225 statements about data being lost.
2226 * include/bits/stl_deque.h (deque): Likewise.
2227 * include/bits/stl_list.h (list): Likewise.
2228 * include/bits/stl_map.h (map): Likewise.
2229 * include/bits/stl_multimap.h (multimap): Likewise.
2230 * include/bits/stl_multiset.h (multiset): Likewise.
2231 * include/bits/stl_set.h (set): Likewise.
2232 * include/bits/stl_vector.h (vector): Likewise.
2233 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
2235 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
2238 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
2240 Implement P0032R3, Homogeneous interface for variant, any and optional,
2241 for the parts concerning any and optional.
2242 * include/std/any (_Storage()): Make constexpr and have it
2244 (any()): Make constexpr.
2245 (any(const any&)): Adjust.
2246 (any(any&&)): Likewise.
2247 (__any_constructible_t): New.
2248 (any(_ValueType&&)): Constrain.
2249 (any(in_place_type_t<_Tp>, _Args&&...)): New.
2250 (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
2253 (operator=(const any&)): Likewise.
2254 (operator=(any&&)): Likewise.
2255 (operator=(_ValueType&&)): Constrain.
2256 (emplace(_Args&&...)): New.
2257 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
2260 (swap(any&)): Adjust.
2264 (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
2265 (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
2266 (make_any(_Args&&...)): Likewise.
2267 (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
2268 * include/std/optional (in_place_t, in_place): Remove.
2269 (bad_optional_access): Add a comment referring to LEWG 72.
2270 (emplace(_Args&&...)): Constrain.
2272 (reset()): Likewise.
2273 (make_optional(_Args&&...)): Likewise.
2274 (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
2275 * include/std/utility (in_place_tag): New.
2276 (__in_place, __in_place_type, __in_place_index): Likewise.
2277 (in_place_t, in_place_type_t, in_place_index_t): Likewise.
2278 (in_place(__in_place*)): Likewise.
2279 (in_place(__in_place_type<_Tp>*)): Likewise.
2280 (in_place(__in_place_index<_Idx>*)): Likewise.
2281 * testsuite/20_util/any/assign/1.cc: Adjust.
2282 * testsuite/20_util/any/assign/emplace.cc: New.
2283 * testsuite/20_util/any/assign/self.cc: Adjust.
2284 * testsuite/20_util/any/cons/1.cc: Likewise.
2285 * testsuite/20_util/any/cons/in_place.cc: New.
2286 * testsuite/20_util/any/make_any.cc: Likewise.
2287 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
2288 * testsuite/20_util/any/misc/swap.cc: Likewise.
2289 * testsuite/20_util/any/modifiers/1.cc: Likewise.
2290 * testsuite/20_util/any/requirements.cc: New.
2291 * testsuite/20_util/in_place/requirements.cc: Likewise.
2292 * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
2293 * testsuite/20_util/optional/in_place.cc: Likewise.
2294 * testsuite/20_util/optional/make_optional.cc: Add tests for
2295 the new overloads of make_optional.
2297 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
2299 Implement P0307R2, Making Optional Greater Equal Again.
2300 * include/experimental/optional (_Has_addressof): Fix the comment.
2301 * include/std/optional (_Has_addressof): Likewise.
2302 (operator=(_Up&&)): Constrain.
2303 (operator=(const optional<_Up>&)): Likewise.
2304 (operator=(optional<_Up>&&)): Likewise.
2305 (__optional_relop_t): New.
2306 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
2307 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
2308 Constrain and make transparent.
2309 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
2310 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
2311 Constrain and make transparent.
2312 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
2313 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
2314 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
2315 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
2316 (operator!=(const optional<_Tp>&, _Tp const&)):
2317 Constrain and make transparent.
2318 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
2319 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
2320 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
2321 (operator>(const optional<_Tp>&, const _Tp&)):
2322 Constrain and make transparent.
2323 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
2324 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
2325 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
2326 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
2327 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
2328 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
2329 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
2330 * testsuite/20_util/optional/relops/1.cc: Likewise.
2331 * testsuite/20_util/optional/relops/2.cc: Likewise.
2332 * testsuite/20_util/optional/relops/3.cc: Likewise.
2333 * testsuite/20_util/optional/relops/4.cc: Likewise.
2334 * testsuite/20_util/optional/requirements.cc: Add tests to verify
2335 that optional's relops are transparent and don't synthesize
2336 operators. Also test that assignment sfinaes.
2338 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
2341 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
2342 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
2343 Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
2344 on _GLIBCXX_ASSERTIONS.
2345 * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
2346 Include <unistd.h> for sleep.
2347 * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
2348 * include/parallel/merge.h: Likewise.
2349 * include/parallel/multiway_merge.h: Likewise.
2350 * include/parallel/partition.h: Likewise.
2351 * include/parallel/queue.h: Likewise.
2352 * include/parallel/sort.h: Likewise.
2353 * testsuite/25_algorithms/headers/algorithm/
2354 parallel_algorithm_assert.cc: New.
2356 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
2357 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
2358 Forward to different overload.
2360 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
2363 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
2365 Revert "Add non-const overload of std::string::data()".
2367 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
2369 Implement P0307R2, Making Optional Greater Equal Again.
2370 * include/experimental/optional (_Has_addressof): Fix the comment.
2371 * include/std/optional (_Has_addressof): Likewise.
2372 (operator=(_Up&&)): Constrain.
2373 (operator=(const optional<_Up>&)): Likewise.
2374 (operator=(optional<_Up>&&)): Likewise.
2375 (__optional_relop_t): New.
2376 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
2377 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
2378 Constrain and make transparent.
2379 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
2380 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
2381 Constrain and make transparent.
2382 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
2383 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
2384 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
2385 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
2386 (operator!=(const optional<_Tp>&, _Tp const&)):
2387 Constrain and make transparent.
2388 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
2389 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
2390 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
2391 (operator>(const optional<_Tp>&, const _Tp&)):
2392 Constrain and make transparent.
2393 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
2394 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
2395 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
2396 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
2397 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
2398 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
2399 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
2400 * testsuite/20_util/optional/relops/1.cc: Likewise.
2401 * testsuite/20_util/optional/relops/2.cc: Likewise.
2402 * testsuite/20_util/optional/relops/3.cc: Likewise.
2403 * testsuite/20_util/optional/relops/4.cc: Likewise.
2404 * testsuite/20_util/optional/requirements.cc: Add tests to verify
2405 that optional's relops are transparent and don't synthesize
2406 operators. Also test that assignment sfinaes.
2408 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
2410 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
2412 (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
2413 instead of _M_data().
2414 (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
2416 (append(const basic_string&)): Likewise.
2417 (append(const basic_string&, size_type, size_type)): Likewise.
2418 (assign(const basic_string&, size_type, size_type)): Likewise.
2419 (insert(size_type, const basic_string&)): Likewise.
2420 (insert(size_type, const basic_string&, size_type, size_type)):
2422 (replace(size_type, size_type, const basic_string&, size_type,
2423 size_type)): Likewise.
2424 (replace(__const_iterator, __const_iterator, const basic_string&)):
2426 (c_str(), data()): Use c_str() instead of _M_data().
2427 (data()): Add non-const overload as per LWG 2391 and P0272R1.
2428 (compare(const basic_string&)): Use data() instead of _M_data().
2429 [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
2430 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
2431 Pass raw pointers to _S_copy.
2432 (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
2434 (find(const _CharT*, size_type, size_type)): Use data instead of
2436 * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
2437 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
2438 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
2440 2016-07-12 Jonathan Wakely <jwakely@redhat.com>
2442 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
2443 * doc/xml/manual/intro.xml: Document DR 2458 status.
2444 * doc/html*: Regenerate.
2446 * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
2447 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
2448 Only include <array>.
2449 * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
2451 * doc/xml/manual/intro.xml: Document LWG 2212 support.
2452 * doc/html*: Regenerate.
2454 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
2455 Add testcase from LWG 2164.
2457 2016-07-11 François Dumont <fdumont@gcc.gnu.org>
2459 * include/bits/stl_vector.h (push_back(const value_type&)): Forward
2460 to _M_realloc_insert.
2461 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
2462 (_M_realloc_insert): Declare new function.
2463 (_M_emplace_back_aux): Remove definition.
2464 * include/bits/vector.tcc (emplace_back(_Args...)):
2465 Use _M_realloc_insert.
2466 (insert(const_iterator, const value_type&)): Likewise.
2467 (_M_insert_rval, _M_emplace_aux): Likewise.
2468 (_M_emplace_back_aux): Remove declaration.
2469 (_M_realloc_insert): Define.
2470 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
2471 Adjust expected results for emplacing an lvalue with reallocation.
2473 2016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
2475 Implement std::optional.
2476 * include/Makefile.am: Add optional to exported headers.
2477 * include/Makefile.in: Likewise.
2478 * include/std/optional: New.
2479 * testsuite/20_util/optional/typedefs.cc: Likewise.
2480 * testsuite/20_util/optional/relops/2.cc: Likewise.
2481 * testsuite/20_util/optional/relops/3.cc: Likewise.
2482 * testsuite/20_util/optional/relops/4.cc: Likewise.
2483 * testsuite/20_util/optional/relops/5.cc: Likewise.
2484 * testsuite/20_util/optional/relops/1.cc: Likewise.
2485 * testsuite/20_util/optional/relops/6.cc: Likewise.
2486 * testsuite/20_util/optional/nullopt.cc: Likewise.
2487 * testsuite/20_util/optional/in_place.cc: Likewise.
2488 * testsuite/20_util/optional/make_optional.cc: Likewise.
2489 * testsuite/20_util/optional/assignment/2.cc: Likewise.
2490 * testsuite/20_util/optional/assignment/3.cc: Likewise.
2491 * testsuite/20_util/optional/assignment/4.cc: Likewise.
2492 * testsuite/20_util/optional/assignment/5.cc: Likewise.
2493 * testsuite/20_util/optional/assignment/1.cc: Likewise.
2494 * testsuite/20_util/optional/assignment/6.cc: Likewise.
2495 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
2496 * testsuite/20_util/optional/cons/default.cc: Likewise.
2497 * testsuite/20_util/optional/cons/move.cc: Likewise.
2498 * testsuite/20_util/optional/cons/value.cc: Likewise.
2499 * testsuite/20_util/optional/cons/copy.cc: Likewise.
2500 * testsuite/20_util/optional/requirements.cc: Likewise.
2501 * testsuite/20_util/optional/observers/2.cc: Likewise.
2502 * testsuite/20_util/optional/observers/3.cc: Likewise.
2503 * testsuite/20_util/optional/observers/4.cc: Likewise.
2504 * testsuite/20_util/optional/observers/5.cc: Likewise.
2505 * testsuite/20_util/optional/observers/1.cc: Likewise.
2506 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
2507 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
2508 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
2509 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
2510 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
2511 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
2512 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
2513 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
2514 * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
2515 * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
2516 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
2517 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
2518 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
2519 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
2520 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
2521 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
2522 * testsuite/20_util/optional/swap/1.cc: Likewise.
2524 2016-07-08 Jonathan Wakely <jwakely@redhat.com>
2526 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
2528 2016-07-07 Jonathan Wakely <jwakely@redhat.com>
2530 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
2531 * doc/html/*: Regenerate.
2533 2016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
2536 * include/Makefile.am: Add any and c++17_warning.h to exported headers.
2537 * include/Makefile.in: Likewise.
2538 * include/std/any: New.
2539 * testsuite/20_util/any/assign/1.cc: Likewise.
2540 * testsuite/20_util/any/assign/2.cc: Likewise.
2541 * testsuite/20_util/any/assign/self.cc: Likewise.
2542 * testsuite/20_util/any/cons/1.cc: Likewise.
2543 * testsuite/20_util/any/cons/2.cc: Likewise.
2544 * testsuite/20_util/any/cons/aligned.cc: Likewise.
2545 * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
2546 * testsuite/20_util/any/misc/any_cast.cc: Likewise.
2547 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
2548 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
2549 * testsuite/20_util/any/misc/swap.cc: Likewise.
2550 * testsuite/20_util/any/modifiers/1.cc: Likewise.
2551 * testsuite/20_util/any/observers/type.cc: Likewise.
2552 * testsuite/20_util/any/typedefs.cc: Likewise.
2554 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
2556 Add a new header for diagnosing the use of C++17 facilities
2558 * include/bits/c++17_warning.h: New.
2560 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
2562 Implement LWG 2451, optional<T> should 'forward' T's
2563 implicit conversions.
2564 * include/experimental/optional (__is_optional_impl, __is_optional):
2566 (optional()): Make constexpr and default.
2567 (optional(_Up&&), optional(const optional<_Up>&),
2568 optional(optional<_Up>&& __t): New.
2569 (operator=(_Up&&)): Constrain.
2570 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
2571 * testsuite/experimental/optional/cons/value.cc:
2572 Add tests for the functionality added by LWG 2451.
2573 * testsuite/experimental/optional/cons/value_neg.cc: New.
2575 2016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
2578 any_cast doesn't work with rvalue reference targets and cannot
2579 move with a value target.
2580 * include/experimental/any (any(_ValueType&&)): Constrain and
2581 add an overload that doesn't forward.
2582 (any_cast(any&&)): Constrain and add an overload that moves.
2583 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
2584 the functionality added by LWG 2509.
2586 2016-07-04 François Dumont <fdumont@gcc.gnu.org>
2588 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
2590 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
2593 2016-07-04 Jonathan Wakely <jwakely@redhat.com>
2595 * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
2596 Define inline. Forward to _M_emplace_aux.
2597 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
2598 (_M_insert_rval, _M_emplace_aux): Declare new functions.
2599 (_Temporary_value): New RAII type using allocator to construct/destroy.
2600 (_S_insert_aux_assign): Remove.
2601 (_M_insert_aux): Make non-variadic.
2602 * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
2603 Use _Temporary_value.
2604 (emplace(const_iterator, _Args&&...)): Remove definition.
2605 (_M_insert_rval, _M_emplace_aux): Define.
2606 (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
2607 (_M_fill_insert): Use _Temporary_value.
2608 * testsuite/23_containers/vector/allocator/construction.cc: New test.
2609 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
2610 Adjust expected results for emplacing an lvalue with reallocation.
2611 * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
2612 expected results to account for construction/destruction of temporary
2614 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
2616 2016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
2619 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
2620 Call remove_all for children of a directory.
2621 * testsuite/experimental/filesystem/operations/create_directories.cc:
2624 2016-07-02 François Dumont <fdumont@gcc.gnu.org>
2626 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
2627 dg-error line numbers.
2628 * testsuite/23_containers/array/tuple_interface/
2629 tuple_element_debug_neg.cc: Likewise.
2630 * testsuite/25_algorithms/lexicographical_compare/debug/
2631 irreflexive_neg.cc: Remove.
2633 2016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
2635 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
2636 than specific target.
2638 2016-06-27 François Dumont <fdumont@gcc.gnu.org>
2641 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
2644 2016-06-23 François Dumont <fdumont@gcc.gnu.org>
2646 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
2649 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2651 * configure.host: Remove mep-* support.
2653 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2655 * configure: Regenerate.
2656 * configure.host: Remove support for knetbsd.
2657 * crossconfig.m4: Likewise.
2659 2016-06-20 François Dumont <fdumont@gcc.gnu.org>
2662 * include/tr1/hashtable_policy.h
2663 (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
2664 dereferenceable to avoid check on lower_bound result.
2665 (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
2666 (_Prime_rehash_policy::_M_need_rehash): Likewise.
2667 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
2668 Always return a value greater than input value. Set _M_next_resize to
2669 max value when reaching highest prime number.
2670 * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
2672 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
2673 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
2675 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
2676 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
2679 2016-06-17 Jonathan Wakely <jwakely@redhat.com>
2682 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
2683 Remove irreflexive checks.
2684 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
2685 binary_search): Likewise.
2686 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
2687 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
2688 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
2689 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
2690 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
2691 Add constructor from array.
2693 2016-06-16 François Dumont <fdumont@gcc.gnu.org>
2695 * include/debug/debug.h
2696 (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
2697 (__glibcxx_requires_subscript): Move...
2698 * include/debug/assertions.h: ...here and add __builtin_expect.
2699 (_GLIBCXX_DEBUG_ONLY): Remove ; value.
2700 * include/bits/stl_deque.h
2701 (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
2702 (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
2703 (std::deque<>::back()): Likewise.
2704 (std::deque<>::pop_front()): Likewise.
2705 (std::deque<>::pop_back()): Likewise.
2706 (std::deque<>::swap(deque&)): Add allocator check.
2707 * include/bits/stl_vector.h
2708 (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
2709 (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
2710 (std::vector<>::back()): Likewise.
2711 (std::vector<>::pop_back()): Likewise.
2712 (std::vector<>::swap(vector&)): Add allocator check.
2714 2016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
2716 Provide swappable traits (p0185r1)
2717 * include/std/type_traits (is_swappable, is_nothrow_swappable,
2718 is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
2719 is_nothrow_swappable_v, is_swappable_with_v,
2720 is_nothrow_swappable_with_v): New.
2721 * include/bits/stl_pair.h: Use it as per p0185r1.
2722 * include/bits/stl_queue.h: Likewise.
2723 * include/bits/stl_stack.h: Likewise.
2724 * include/bits/unique_ptr.h: Likewise.
2725 * include/std/tuple: Likewise.
2726 * include/std/array: Likewise. Fix zero-size member swap.
2727 * include/bits/hashtable.h: Use __and_.
2728 * testsuite/20_util/is_nothrow_swappable/requirements/
2729 explicit_instantiation.cc: Change test options to std=gnu++17.
2730 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
2732 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
2733 * testsuite/20_util/is_swappable/requirements/
2734 explicit_instantiation.cc: Likewise.
2735 * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
2736 * testsuite/20_util/is_swappable/value.cc: Likewise.
2737 * testsuite/20_util/is_nothrow_swappable/requirements/
2738 explicit_instantiation_ext.cc: New.
2739 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
2741 * testsuite/20_util/is_nothrow_swappable/value.h: New.
2742 * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
2743 * testsuite/20_util/is_nothrow_swappable_with/requirements/
2744 explicit_instantiation.cc: New.
2745 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
2747 * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
2748 * testsuite/20_util/is_swappable/requirements/
2749 explicit_instantiation_ext.cc: New.
2750 * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
2751 * testsuite/20_util/is_swappable/value.h: New.
2752 * testsuite/20_util/is_swappable/value_ext.cc: New.
2753 * testsuite/20_util/is_swappable_with/requirements/
2754 explicit_instantiation.cc: New.
2755 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
2756 * testsuite/20_util/is_swappable_with/value.cc: New.
2757 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
2758 dg-error line numbers.
2759 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
2762 2016-06-16 Jonathan Wakely <jwakely@redhat.com>
2764 * include/std/array: Remove trailing whitespace.
2765 * include/std/atomic: Likewise.
2766 * include/std/bitset: Likewise.
2767 * include/std/chrono: Likewise.
2768 * include/std/complex: Likewise.
2769 * include/std/condition_variable: Likewise.
2770 * include/std/fstream: Likewise.
2771 * include/std/functional: Likewise.
2772 * include/std/future: Likewise.
2773 * include/std/iomanip: Likewise.
2774 * include/std/iosfwd: Likewise.
2775 * include/std/istream: Likewise.
2776 * include/std/limits: Likewise.
2777 * include/std/ratio: Likewise.
2778 * include/std/scoped_allocator: Likewise.
2779 * include/std/sstream: Likewise.
2780 * include/std/stdexcept: Likewise.
2781 * include/std/string: Likewise.
2782 * include/std/system_error: Likewise.
2783 * include/std/thread: Likewise.
2784 * include/std/tuple: Likewise.
2785 * include/std/type_traits: Likewise.
2786 * include/std/utility: Likewise.
2787 * include/std/valarray: Likewise.
2788 * include/std/vector: Likewise.
2790 * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
2791 new overloaded functions.
2792 * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
2793 to avoid creating a redundant temporary.
2794 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
2797 2016-06-15 François Dumont <fdumont@gcc.gnu.org>
2799 * include/bits/stl_deque.h
2800 (std::deque<>::operator=): Call _M_assign_aux.
2801 (std::deque<>::assign(initializer_list<>)): Likewise.
2802 (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
2803 (std::deque<>::insert(const_iterator, initializer_list<>)):
2804 Call _M_range_insert_aux.
2805 (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
2807 (std::deque<>::_M_fill_assign): Call _M_fill_insert.
2808 (std::deque<>::_M_move_assign2): Call _M_assign_aux.
2809 * include/bits/deque.tcc
2810 (std::deque<>::operator=): Call _M_range_insert_aux.
2811 (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
2813 * include/bits/stl_vector.h
2814 (std::vector<>::operator=): Call _M_assign_aux.
2815 (std::vector<>::assign(initializer_list<>)): Likewise.
2816 (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
2817 (std::vector<>::insert(const_iterator, initializer_list<>)):
2818 Call _M_range_insert.
2819 * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
2821 2016-06-07 François Dumont <fdumont@gcc.gnu.org>
2823 * include/std/tuple (_Head_base<>): Default specialization condition at
2826 2016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
2828 Support allocators in tuples of zero size.
2829 * include/std/tuple (tuple<>::tuple(),
2830 tuple<>::tuple(allocator_arg_t, const _Alloc&),
2831 tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
2832 * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
2834 2016-06-06 Jonathan Wakely <jwakely@redhat.com>
2837 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
2838 Add or remove permissions according to perms argument.
2839 * testsuite/experimental/filesystem/operations/permissions.cc: New
2842 2016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
2844 Protect allocator-overloads of tuple-from-tuple constructors
2845 from cases that would create dangling references.
2846 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2847 const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
2848 tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
2849 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
2851 2016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
2853 * doc/xml/manual/backwards_compatibility.xml: Adjust
2854 lists.debian.org link to https.
2855 * doc/html/manual/backwards.html: Regenerate.
2857 2016-05-27 Jonathan Wakely <jwakely@redhat.com>
2859 * doc/xml/manual/abi.xml: Adjust URL to use https.
2860 * doc/html/manual/*: Regenerate.
2862 2016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
2865 * include/std/tuple (_TMC): Add a check for _NotSameTuple.
2866 * include/std/tuple (tuple(_UElements&&...)): Remove the separate
2867 check for _NotSameTuple.
2868 * include/std/tuple (_TMCT): New.
2869 * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
2870 * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
2871 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2872 const tuple<_UElements...>&)): Likewise.
2873 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2874 tuple<_UElements...>&&)): Likewise.
2875 * testsuite/20_util/tuple/cons/66338.cc: New.
2877 2016-05-25 Jonathan Wakely <jwakely@redhat.com>
2879 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
2880 * configure: Regenerate.
2881 * config.h.in: Regenerate.
2883 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
2884 * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
2885 Remove const qualification on function. Replace
2886 _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
2887 (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
2888 (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
2890 2016-05-24 François Dumont <fdumont@gcc.gnu.org>
2892 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
2893 * include/bits/hashtable_policy.h
2894 (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
2895 having load factor management.
2896 (_Mask_range_hashing): New.
2898 (_Power2_rehash_policy): New.
2899 (_Inserts<>): Remove last template parameter, _Unique_keys, so that
2900 partial specializations only depend on whether iterators are constant
2902 * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
2903 test new hash policy.
2904 * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
2906 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
2908 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
2910 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
2912 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
2914 * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
2915 using the new hash policy.
2916 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
2918 2016-05-24 Jonathan Wakely <jwakely@redhat.com>
2920 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
2922 2016-05-23 François Dumont <fdumont@gcc.gnu.org>
2924 * include/debug/safe_iterator.h
2925 (_Safe_iterator<>::operator->()): Implement using underlying iterator
2927 * include/debug/safe_local_iterator.h
2928 (_Safe_local_iterator<>::operator->()): Likewise.
2930 2016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
2932 * testsuite/experimental/memory_resource/1.cc: Add required argument
2933 to dg-require-atomic-builtins.
2935 2016-05-13 Jonathan Wakely <jwakely@redhat.com>
2938 * include/debug/bitset: Add #pragma GCC system_header.
2939 * include/debug/deque: Likewise.
2940 * include/debug/list: Likewise.
2941 * include/debug/map: Likewise.
2942 * include/debug/set: Likewise.
2943 * include/debug/string: Likewise.
2944 * include/debug/unordered_map: Likewise.
2945 * include/debug/unordered_set: Likewise.
2946 * include/debug/vector: Likewise.
2947 * include/debug/functions.h: Adjust whitespace.
2949 2016-05-12 Jonathan Wakely <jwakely@redhat.com>
2952 * testsuite/experimental/memory_resource/1.cc: Require atomics.
2954 2016-05-11 Jonathan Wakely <jwakely@redhat.com>
2957 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
2958 exception constructors with __sso_string parameters.
2960 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
2962 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
2963 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
2964 Test begin and end functions.
2965 * testsuite/experimental/filesystem/iterators/
2966 recursive_directory_iterator.cc: Likewise.
2969 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
2970 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
2972 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
2973 Overload operator* to move from rvalues.
2976 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
2977 * testsuite/experimental/filesystem/operations/create_directory.cc:
2981 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
2982 base path to exception.
2983 * testsuite/experimental/filesystem/operations/canonical.cc: Test
2984 paths contained in exception.
2986 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
2990 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
2992 (directory_iterator::operator++(int)): Return proxy.
2993 (recursive_directory_iterator::operator++(int)): Likewise.
2994 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
2995 Test post-increment.
2996 * testsuite/experimental/filesystem/iterators/
2997 recursive_directory_iterator.cc: Likewise.
2999 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
3002 * testsuite/experimental/filesystem/iterators/
3003 recursive_directory_iterator.cc: Fix test02 to not call member
3004 functions on invalid iterator, and use VERIFY not assert.
3006 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
3008 Avoid endless run-time recursion for copying single-element
3009 tuples where the element type is by-value constructible
3011 * include/std/tuple (_NotSameTuple): New.
3012 * include/std/tuple (tuple(_UElements&&...): Use it.
3013 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
3015 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
3018 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
3019 Initialize scalar member variables in default constructor.
3020 * testsuite/experimental/filesystem/iterators/
3021 recursive_directory_iterator.cc: Test default construction.
3023 2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3025 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
3027 2016-05-05 Jonathan Wakely <jwakely@redhat.com>
3029 * testsuite/experimental/filesystem/path/native/string.cc: Add
3030 dg-require-filesystem-ts directive.
3032 2016-05-04 Jonathan Wakely <jwakely@redhat.com>
3035 * include/experimental/memory_resource
3036 (__resource_adaptor_imp::do_allocate): Do not default-construct
3038 (__resource_adaptor_imp::do_deallocate): Likewise. Use
3039 allocator_traits to get pointer type.
3040 (__null_memory_resource::do_allocate): Remove unused parameters.
3041 (__null_memory_resource::do_deallocate): Likewise.
3042 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
3043 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
3044 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
3046 * testsuite/experimental/memory_resource/1.cc: Here.
3047 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
3048 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
3050 2016-04-29 Chris Gregory <czipperz@gmail.com>
3052 * config/*: Remove trailing whitespace.
3054 * testsuite/tr1/*: Likewise.
3055 * testsuite/util/*: Likewise.
3057 2016-04-28 Jonathan Wakely <jwakely@redhat.com>
3060 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
3062 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
3064 * include/std/atomic (atomic<_Tp>): Likewise.
3065 * include/std/shared_mutex (shared_lock): Likewise.
3066 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
3067 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
3068 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
3069 * testsuite/29_atomics/atomic/70766.cc: New test.
3070 * testsuite/30_threads/shared_lock/70766.cc: New test.
3072 * include/bits/hashtable_policy.h (__detail::_Insert_base,
3073 __detail::_Insert): Improve comments.
3075 2016-04-27 Jonathan Wakely <jwakely@redhat.com>
3078 * include/std/limits: Update comments about DRs.
3079 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
3080 numeric_limits<const volatile _Tp>): Define unconditionally.
3082 2016-04-24 Jonathan Wakely <jwakely@redhat.com>
3085 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
3086 static counter to return a different path on every call.
3088 2016-04-22 Tim Shen <timshen@google.com>
3091 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
3092 Fix the match_not_bow and match_not_eow behavior.
3093 * testsuite/28_regex/regression.cc: Add testcase.
3095 2016-04-20 Jonathan Wakely <jwakely@redhat.com>
3098 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
3099 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
3101 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
3104 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
3105 Override endianness bit in mode.
3106 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
3107 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
3108 that little_endian mode is ignored.
3109 * testsuite/experimental/filesystem/path/native/string.cc: New test.
3112 * src/filesystem/ops.cc (close_fd): New function.
3113 (do_copy_file): Set permissions before copying file contents. Check
3114 result of closing file descriptors. Don't copy streambuf when file
3116 (copy(const path&, const path&, copy_options, error_code&)): Use
3117 lstat for source file when copy_symlinks is set.
3118 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
3120 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
3121 operator~ operator&=, operator|=, operator^=): Add noexcept to
3122 overloaded operators for copy_options, perms and directory_options.
3123 * src/filesystem/ops.cc (make_file_type, make_file_status,
3124 is_not_found_errno, file_time): Add noexcept.
3126 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
3128 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
3130 2016-04-18 Jonathan Wakely <jwakely@redhat.com>
3133 * include/bits/random.h: Reword static assertion messages to state
3134 positive conditions.
3135 * include/bits/random.tcc: Likewise.
3136 * include/bits/uniform_int_dist.h: Likewise.
3137 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
3140 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
3142 * config/cpu/sh/atomicity.h: Fix typo in comment.
3145 * include/std/thread (operator<, operator==): Move definitions to
3147 * testsuite/30_threads/thread/id/70294.cc: New test.
3149 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
3150 -Wno-pedantic to dg-options.
3151 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
3152 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
3154 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
3155 Remove extra semi-colon.
3156 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
3157 Always supply second argument to static_assert.
3158 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
3160 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
3162 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
3163 * testsuite/29_atomics/atomic/60695.cc: Likewise.
3164 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
3165 alignof when operand is an object not a type.
3166 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
3167 * testsuite/decimal/make-decimal.cc: Likewise.
3168 * testsuite/experimental/type_traits/value.cc: Always supply second
3169 argument to static_assert.
3170 * testsuite/util/testsuite_common_types.h: Use __extension__ for
3173 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
3175 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
3176 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
3177 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
3178 Likewise. Add licence and change to compile-only test.
3180 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
3182 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
3184 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
3187 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
3189 * include/bits/specfun.h: Trivial comment misspelling.
3191 2016-04-14 Jason Merrill <jason@redhat.com>
3193 Revert Jonathan's empty ABI change from yesterday.
3195 2016-04-13 Martin Sebor <msebor@redhat.com>
3198 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
3199 upper bound is positive.
3201 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
3203 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
3204 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
3205 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
3206 of functions taking empty structs by value. Add a template parameter
3207 to overloads without hints. Rename overloads with hints to
3209 (_Hashtable::_M_erase(true_type, const_iterator),
3210 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
3211 by reordering parameters.
3212 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
3213 _M_emplace_hint instead of _M_emplace.
3214 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
3215 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
3216 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
3217 __shared_ptr): Likewise.
3218 * include/bits/stl_algo.h (replace_if): Likewise.
3219 * include/bits/stl_pair.h (piecewise_construct_t,
3220 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
3221 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
3222 __uses_alloc0): Likewise.
3223 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
3224 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
3225 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
3226 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
3227 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
3228 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
3229 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
3231 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
3233 Document C++17/TR29124 C++ Special Math Functions.
3234 * include/bits/specfun.h: Add Doxygen markup.
3236 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
3238 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
3240 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
3242 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
3243 * src/Makefile.in: Regenerate.
3245 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
3248 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
3249 __atomic_fetch_add for bool.
3250 * configure: Regenerate.
3252 * testsuite/30_threads/thread/70503.cc: Require -static to work.
3255 * src/c++11/thread.cc (execute_native_thread_routine,
3256 execute_native_thread_routine_compat): Give internal linkage.
3257 * testsuite/30_threads/thread/70503.cc: New test.
3259 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
3262 * include/bits/stl_pair.h (_ConstructiblePair,
3263 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
3264 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
3265 for same-type cases.
3266 * testsuite/20_util/pair/70437.cc: New.
3268 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
3271 * config/abi/pre/gnu.ver: Add new symbol.
3272 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
3273 * testsuite/18_support/free_eh_pool.cc: New test.
3275 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
3277 * include/Makefile.am (install-freestanding-headers): Add
3278 concept_check.h and move.h to the installed headers.
3279 * include/Makefile.in: Regenerated.
3280 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
3281 freestanding implementations.
3282 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
3283 that this macro has no effect for freestanding implementations.
3284 * doc/html/manual/using_macros.html: Likewise.
3286 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
3289 * include/experimental/tuple (__apply_impl): Qualify get and forward.
3291 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
3293 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
3294 * doc/html/*: Regenerate.
3297 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
3298 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
3299 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
3300 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
3301 trunc) [__cplusplus >= 201103L]: Import from namespace std.
3302 (fabs) [__cplusplus < 201103L]: Import from namespace std.
3303 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
3305 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
3306 namespace before including TR1 headers.
3307 * testsuite/tr1/headers/c++200x/math.cc: New test.
3309 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
3312 * include/c_global/cstdarg: Undefine __need___va_list.
3313 * include/c_global/cstddef: Undefine all kinds of __need_*.
3315 2016-02-16 Tim Shen <timshen@google.com>
3318 * include/bits/regex_scanner.h: Add different special character
3319 sets for grep and egrep regex.
3320 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
3321 * testsuite/28_regex/regression.cc: Add new testcase.
3323 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
3325 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
3326 added 'constexpr' in previous commit.
3327 * configure: Regenerate.
3330 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
3331 checks for all targets except *-*-solaris2.* and ensure we find the
3332 libc math.h header not our own.
3333 * configure: Regenerate.
3335 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
3337 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
3338 New file. Copied over from s390-linux-gnu.
3340 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
3343 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
3344 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
3345 * config.h.in: Regenerate.
3346 * configure: Regenerate.
3347 * testsuite/21_strings/c_strings/char/69626.cc: New.
3349 * doc/html/index.html: Regenerate.
3351 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
3352 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
3353 * doc/html/*: Regenerate.
3355 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
3358 * include/c_compatibility/math.h: Move header guards.
3359 * include/c_compatibility/stdlib.h: Likewise.
3361 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
3364 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
3366 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
3369 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
3370 isinf and isnan functions into two independent checks. Check on hpux.
3371 * config.h.in: Regenerate.
3372 * configure: Regenerate.
3373 * include/c_global/cmath (isinf(double), isnan(double)): Use
3374 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
3377 2016-01-27 Jakub Jelinek <jakub@redhat.com>
3379 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
3381 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
3384 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
3385 -ffp-contract=off, and -ffloat-store to disable excess precision.
3386 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
3389 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
3392 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
3393 random_access_iterator_tag>): Check is_move_assignable when moving.
3394 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
3396 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
3397 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
3398 * testsuite/25_algorithms/move/69478.cc: New.
3399 * testsuite/25_algorithms/move_backward/69478.cc: new.
3401 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
3403 * include/c_compatibility/stdlib.h: Include wide character related
3404 definitions only when they are available in cstdlib.
3406 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
3409 * include/Makefile.am: Add new header.
3410 * include/Makefile.in: Regenerate.
3411 * include/bits/random.h (uniform_int_distribution): Move to
3412 bits/uniform_int_dist.h.
3413 * include/bits/random.tcc (uniform_int_distribution::operator(),
3414 uniform_int_distribution::__generate_impl): Likewise.
3415 * include/bits/uniform_int_dist.h: New header.
3416 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
3417 <bits/uniform_int_dist.h> instead of <random>.
3418 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
3419 move_iterators/1.cc: Include correct header for uninitialized_copy.
3420 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
3421 move_iterators/1.cc: Likewise.
3422 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
3424 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
3426 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
3429 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
3431 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
3433 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
3434 * include/c_compatibility/math.h: Import the TR29124 functions
3435 into the global namespace.
3436 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
3437 xfail and make compile-only.
3438 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
3439 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
3440 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
3441 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
3442 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
3443 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
3444 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
3445 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
3446 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
3447 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
3448 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
3449 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
3450 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
3451 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
3452 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
3453 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
3454 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
3455 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
3456 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
3457 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
3459 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
3462 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
3463 define result_type for types which can be safely used with valarrays.
3464 * testsuite/26_numerics/valarray/69116.cc: New.
3467 * config/os/gnu-linux/os_defines.h: Define
3468 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
3469 * include/c_global/cmath (isinf, isnan): Check it.
3470 * doc/xml/manual/internals.xml: Document it.
3471 * doc/html/*: Regenerate.
3473 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
3476 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
3477 * include/ext/type_traits.h: Likewise.
3478 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
3479 for presence of C headers.
3480 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
3481 dg-error line number.
3482 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
3483 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
3484 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
3486 2016-01-20 Torvald Riegel <triegel@redhat.com>
3489 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
3491 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
3494 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
3495 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
3496 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
3497 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
3498 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
3499 Add using declarations.
3500 * testsuite/26_numerics/headers/cmath/60401.cc: New.
3503 * include/c_global/ccomplex: Ensure C++ language linkage.
3504 * include/c_global/cmath: Likewise.
3505 * include/c_global/cstdlib: Likewise.
3506 * include/c_global/ctgmath: Likewise.
3507 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
3509 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
3513 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
3514 --enable-cheaders=c_global configs.
3515 * include/Makefile.in: Regenerate.
3516 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
3517 test and allow inclusion from C files.
3518 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
3519 (at_quick_exit, quick_exit): Add using directives.
3520 * include/c_global/cmath: Use #include_next for math.h.
3521 * include/c_global/cstdlib: Use #include_next for stdlib.h.
3522 * testsuite/26_numerics/headers/cmath/14608.cc: New.
3523 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
3524 Remove xfail for most targets.
3525 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
3527 2016-01-18 Torvald Riegel <triegel@redhat.com>
3529 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
3530 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
3531 and move after its definition.
3532 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
3533 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
3534 __GXX_WEAK__, and only provide transactional clones if
3535 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
3538 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
3541 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
3544 * include/std/functional (_Function_base::_M_not_empty_function):
3545 Change overloads for pointers to take arguments by value.
3546 * testsuite/20_util/function/cons/57465.cc: Add tests for
3547 pointer-to-member cases.
3550 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
3551 Use macros for exception handling and fix unused parameter warning.
3553 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
3556 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
3558 2016-01-17 Torvald Riegel <triegel@redhat.com>
3560 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
3562 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
3564 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
3567 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
3570 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
3571 static assertion that type is constructible from the arguments.
3572 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
3573 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
3574 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
3577 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
3578 and isnan on AIX. Quote variables.
3579 * configure: Regenerate.
3581 2016-01-15 Torvald Riegel <triegel@redhat.com>
3583 * include/bits/basic_string.h (basic_string): Declare friends.
3584 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
3585 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
3586 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
3587 length_error, out_of_range, runtime_error, range_error,
3588 underflow_error, overflow_error): Declare members as transaction-safe.
3589 (logic_error, runtime_error): Declare friend functions.
3590 * libsupc++/exception (exception, bad_exception): Declare members as
3592 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
3593 transaction-safe members of exceptions and helper functions.
3594 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
3595 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
3596 (CXXABI_1.3.10): New.
3597 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
3598 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
3599 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
3600 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
3601 * include/Makefile.in: Regenerate.
3602 * config.h.in: Regenerate.
3603 * configure: Regenerate.
3604 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
3606 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
3608 * include/ext/random.tcc: Use __builtin_isfinite instead of
3611 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
3613 * include/bits/std_mutex.h: Fix Doxygen @file name.
3615 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
3616 Jonathan Wakely <jwakely@redhat.com>
3617 Florian Goth <CaptainSifff@gmx.de>
3619 Implement TR29124 C++ special Math Functions.
3620 * include/Makefile.am: Add new headers.
3621 * include/Makefile.in: Regenerate.
3622 * include/bits/specfun.h: New.
3623 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
3624 * include/tr1/bessel_function.tcc: Ditto.
3625 * include/tr1/beta_function.tcc: Ditto.
3626 * include/tr1/cmath: Ditto.
3627 * include/tr1/ell_integral.tcc: Ditto.
3628 * include/tr1/exp_integral.tcc: Ditto.
3629 * include/tr1/gamma.tcc: Ditto.
3630 * include/tr1/hypergeometric.tcc: Ditto.
3631 * include/tr1/legendre_function.tcc: Ditto.
3632 * include/tr1/modified_bessel_func.tcc: Ditto.
3633 * include/tr1/poly_hermite.tcc: Ditto.
3634 * include/tr1/poly_laguerre.tcc: Ditto.
3635 * include/tr1/riemann_zeta.tcc: Ditto.
3636 * include/tr1/special_function_util.h: Ditto.
3637 * testsuite/ext/special_functions/conf_hyperg: New.
3638 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
3639 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
3640 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
3641 * testsuite/ext/special_functions/hyperg: New.
3642 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
3643 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
3644 * testsuite/ext/special_functions/hyperg/compile.cc: New.
3645 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
3646 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
3647 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
3648 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
3649 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
3650 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
3651 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
3652 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
3653 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
3654 * testsuite/special_functions/03_beta/check_nan.cc: New.
3655 * testsuite/special_functions/03_beta/check_value.cc: New.
3656 * testsuite/special_functions/03_beta/compile.cc: New.
3657 * testsuite/special_functions/03_beta/compile_2.cc: New.
3658 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
3659 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
3660 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
3661 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
3662 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
3663 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
3664 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
3665 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
3666 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
3667 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
3668 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
3669 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
3670 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
3671 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
3672 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
3673 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
3674 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
3675 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
3676 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
3677 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
3678 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
3679 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
3680 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
3681 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
3682 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
3683 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
3684 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
3685 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
3686 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
3687 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
3688 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
3689 * testsuite/special_functions/11_ellint_1/compile.cc: New.
3690 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
3691 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
3692 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
3693 * testsuite/special_functions/12_ellint_2/compile.cc: New.
3694 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
3695 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
3696 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
3697 * testsuite/special_functions/13_ellint_3/compile.cc: New.
3698 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
3699 * testsuite/special_functions/14_expint/check_nan.cc: New.
3700 * testsuite/special_functions/14_expint/check_value.cc: New.
3701 * testsuite/special_functions/14_expint/compile.cc: New.
3702 * testsuite/special_functions/14_expint/compile_2.cc: New.
3703 * testsuite/special_functions/15_hermite/check_nan.cc: New.
3704 * testsuite/special_functions/15_hermite/check_value.cc: New.
3705 * testsuite/special_functions/15_hermite/compile.cc: New.
3706 * testsuite/special_functions/15_hermite/compile_2.cc: New.
3707 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
3708 * testsuite/special_functions/16_laguerre/check_value.cc: New.
3709 * testsuite/special_functions/16_laguerre/compile.cc: New.
3710 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
3711 * testsuite/special_functions/17_legendre/check_nan.cc: New.
3712 * testsuite/special_functions/17_legendre/check_value.cc: New.
3713 * testsuite/special_functions/17_legendre/compile.cc: New.
3714 * testsuite/special_functions/17_legendre/compile_2.cc: New.
3715 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
3716 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
3717 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
3718 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
3719 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
3720 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
3721 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
3722 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
3723 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
3724 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
3725 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
3726 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
3727 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
3728 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
3729 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
3730 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
3731 * testsuite/util/specfun_testcase.h: New.
3732 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
3733 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
3734 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
3735 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
3736 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
3737 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
3738 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
3740 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
3743 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
3744 and isnan functions.
3745 * config.h.in: Regenerate.
3746 * configure: Regenerate.
3747 * include/c_global/cmath (isinf(double), isnan(double))
3748 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
3749 * testsuite/26_numerics/headers/cmath/48891.cc: New.
3751 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3754 * configure.host (abi_baseline_pair): Use separate baseline for
3755 Solaris 11+ and Solaris 10 with gld.
3756 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
3757 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
3758 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
3760 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
3763 * include/std/type_traits: Following N4511, reimplement __is_swappable
3764 and __is_nothrow_swappable. Move __is_swappable to namespace std,
3765 adjust callers. Use __is_nothrow_swappable in swap.
3766 * include/bits/move.h: Use __is_nothrow_swappable in swap.
3767 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
3768 __is_swappable related tests.
3769 * testsuite/20_util/is_swappable/value.cc: New.
3770 * testsuite/20_util/is_swappable/requirements/
3771 explicit_instantiation.cc: New.
3772 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
3773 * testsuite/25_algorithms/swap/68877.cc: New.
3775 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
3777 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
3781 * include/std/functional (function::_Invoke): Remove, use result_of.
3782 (function::_Callable): Replace alias template with class template
3783 and use partial specialization instead of _NotSelf alias template.
3784 (function(_Functor)): Add "not self" constraint so that _Callable is
3785 not used while type is incomplete.
3786 * testsuite/20_util/function/69222.cc: New.
3788 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
3791 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
3792 Define partial specialization.
3793 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
3794 destroy members to std::allocator explicit specialization.
3796 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
3798 * testsuite/26_numerics/headers/cmath/
3799 c99_classification_macros_c++.cc: Rename to ...
3800 * testsuite/26_numerics/headers/cmath/
3801 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
3802 * testsuite/26_numerics/headers/cmath/
3803 c99_classification_macros_c++0x.cc: Rename to ...
3804 * testsuite/26_numerics/headers/cmath/
3805 c99_classification_macros_c++11.cc: Here.
3808 * include/bits/uses_allocator.h: Add missing include.
3810 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
3815 * include/bits/stl_iterator.h (back_insert_iterator,
3816 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
3817 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
3818 * include/std/future (__future::base::_State_baseV2::__setter):
3820 * include/std/scoped_allocator (__outermost): Likewise.
3821 * testsuite/20_util/scoped_allocator/69114.cc: New.
3822 * testsuite/20_util/uses_allocator/69114.cc: New.
3823 * testsuite/30_threads/promise/69106.cc: New.
3825 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
3828 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
3829 Remove _GLIBCXX_NOEXCEPT.
3830 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
3832 * include/Makefile.am: Adjust.
3833 * include/Makefile.in: Regenerate.
3834 * include/bits/mutex.h: Rename to bits/std_mutex.h.
3835 * include/std/condition_variable: Adjust include.
3836 * include/std/mutex: Likewise.
3838 2016-01-04 Jakub Jelinek <jakub@redhat.com>
3840 Update copyright years.
3842 Copyright (C) 2016 Free Software Foundation, Inc.
3844 Copying and distribution of this file, with or without modification,
3845 are permitted in any medium without royalty provided the copyright
3846 notice and this notice are preserved.