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