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