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