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