]> git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/ChangeLog
Implement LWG 2192 and LWG 2294 for std::abs
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
1 2016-09-30 Jonathan Wakely <jwakely@redhat.com>
2
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
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
27 2016-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
36 2016-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
41 2016-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
59 2016-09-28 Jonathan Wakely <jwakely@redhat.com>
60
61 * include/std/chrono (system_clock): Fix typo in comment.
62
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
72 PR libstdc++/77686
73 * include/std/functional (_Any_data): Add may_alias attribute.
74
75 2016-09-27 Jonathan Wakely <jwakely@redhat.com>
76
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
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
86 2016-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
94 2016-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
99 2016-09-26 Jonathan Wakely <jwakely@redhat.com>
100
101 * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
102 redefine macro defined in <bits/stl_iterator.h>.
103
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
116 2016-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
122 2016-09-26 Marek Polacek <polacek@redhat.com>
123
124 PR c/7652
125 * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]].
126
127 2016-09-25 François Dumont <fdumont@gcc.gnu.org>
128
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
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
165 * include/parallel/algo.h: Generalize usage of std::__iterator_category.
166 Adjust whitespaces.
167
168 2016-09-23 Jonathan Wakely <jwakely@redhat.com>
169
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
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
186 2016-09-22 Jason Merrill <jason@redhat.com>
187
188 * configure.ac: Define HAVE_MEMALIGN for newlib.
189
190 2015-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
198 2016-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
298 2016-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
303 2016-09-22 Jonathan Wakely <jwakely@redhat.com>
304
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
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
316 2016-09-22 Tim Shen <timshen@google.com>
317
318 * include/std/variant (variant::operator=): Fix assignment
319 on references.
320 * testsuite/20_util/variant/compile.cc: Add test.
321
322 2016-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
329 2016-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
346 2016-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
371 2016-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
394 2016-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
421 2016-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
426 2016-09-19 Jonathan Wakely <jwakely@redhat.com>
427
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
433 * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
434
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
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
450 2016-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
457 2016-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
462 2016-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
469 2016-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
476 2016-09-15 Jonathan Wakely <jwakely@redhat.com>
477
478 * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
479 * doc/html/*: Regenerate.
480
481 * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
482 -Wno-deprecated.
483 * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
484
485 2016-09-14 Marek Polacek <polacek@redhat.com>
486
487 * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
488 -Wno-deprecated.
489
490 2016-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
518 2016-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.
530 * testsuite/20_util/specialized_algorithms/memory_management_tools/
531 1.cc: New.
532
533 2016-09-12 Jason Merrill <jason@redhat.com>
534
535 * config/abi/pre/gnu.ver: Use [jmy] for size_t.
536
537 2016-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
547 2016-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
561 2016-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.
582 * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
583 Likewise.
584 * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
585 * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
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:
611 Likewise.
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.
620 * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
621 Likewise.
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.
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.
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:
669 Likewise.
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.
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:
680 Likewise.
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.
694 * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
695 Likewise.
696 * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
697 * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
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.
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.
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.
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.
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:
727 Likewise.
728 * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
729 Likewise.
730 * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
731 Likewise.
732 * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
733 Likewise.
734 * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
735 Likewise.
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.
742 * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
743 Likewise.
744 * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
745 Likewise.
746 * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
747 Likewise.
748 * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
749 Likewise.
750 * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
751 Likewise.
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.
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.
786 * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
787 Likewise.
788 * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
789 Likewise.
790 * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
791 Likewise.
792 * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
793 Likewise.
794 * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
795 Likewise.
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.
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.
815 * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
816 Likewise.
817 * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
818 * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
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.
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.
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.
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.
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:
852 Likewise.
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.
863 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
864 Likewise.
865
866 2016-09-11 Jonathan Wakely <jwakely@redhat.com>
867
868 * libsupc++/new_opant.cc: Include exception_defines.h.
869 * libsupc++/new_opvant.cc: Likewise.
870
871 2016-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
890 2016-09-05 Tim Shen <timshen@google.com>
891
892 * include/std/variant: include bits/move.h for std::addressof.
893
894 2016-09-05 Mikhail Strelnikov <mikhail.strelnikov@gmail.com>
895
896 * include/std/variant (_Variant_storage::_M_storage()): Use
897 std::addressof instead of operator& to take address.
898
899 2016-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
905 2016-08-31 Jonathan Wakely <jwakely@redhat.com>
906
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
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
932 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
933 New test.
934
935 2016-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
947 2016-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
957 2016-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
968 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
969
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
977 * testsuite/*: Use { target c++11 } or { target c++14 } instead of
978 using -std in dg-options.
979
980 2016-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
989 2016-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
1006 2016-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
1011 2016-08-23 Jonathan Wakely <jwakely@redhat.com>
1012
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
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
1022 * doc/xml/manual/using.xml: Remove reference to -pthreads option.
1023 * doc/html/*: Regenerate.
1024
1025 * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
1026 * testsuite/experimental/feat-lib-fund.cc: Likewise.
1027
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
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
1063 2016-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
1074 2016-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
1101 2016-08-22 Jonathan Wakely <jwakely@redhat.com>
1102
1103 * doc/xml/api.xml: Replace hardcoded links for specific versions with
1104 link to docs for all releases.
1105 * doc/html/*: Regenerate.
1106
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
1113 2016-08-19 Jonathan Wakely <jwakely@redhat.com>
1114
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
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
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
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
1181 * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
1182 and variant.
1183 * doc/html/*: Regenerate.
1184
1185 2016-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
1210 2016-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
1224 2016-08-18 Jonathan Wakely <jwakely@redhat.com>
1225
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
1231 * doc/xml/manual/test.xml: Improve documentation of test targets.
1232 Document new-abi-baseline, check-debug, and check-parallel targets.
1233
1234 * doc/xml/manual/build_hacking.xml: New section on shared library
1235 versioning.
1236
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
1242 * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
1243 dg-options directive.
1244
1245 2016-08-17 Jonathan Wakely <jwakely@redhat.com>
1246
1247 * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
1248 directive and use effective target instead of dg-options.
1249
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
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
1267 * testsuite/26_numerics/complex/literals/types.cc: Add comment.
1268
1269 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
1270 Remove duplicate dg-options directive.
1271
1272 * testsuite/ext/profile/all.cc: Use effective target instead of
1273 -std=gnu++11. Use dg-additional-options instead of repeating options.
1274
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
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
1297 * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
1298 expected signatures for C++14 compatibility.
1299
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
1336 2016-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
1348 2016-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
1367 2016-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
1375 2016-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
1383 2016-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
1389 2016-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
1395 2016-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
1410 2016-08-06 Jonathan Wakely <jwakely@redhat.com>
1411
1412 * doc/xml/manual/status_cxx2017.xml: Update status table.
1413 * doc/html/manual/status.html: Regenerate.
1414
1415 * testsuite/lib/libstdc++.exp: Fix typo in comment.
1416
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
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
1438 2016-08-05 Jonathan Wakely <jwakely@redhat.com>
1439
1440 * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
1441 * doc/html/manual/status.html: Regenerate.
1442
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
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
1461 2016-08-04 Jonathan Wakely <jwakely@redhat.com>
1462
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
1493 * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
1494 * doc/html/manual/status.html: Regenerate.
1495
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
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
1509 2016-08-03 Jonathan Wakely <jwakely@redhat.com>
1510
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
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
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
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
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
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
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
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
1601 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
1602
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
1618 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
1619 comments.
1620
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
1627 * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
1628
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
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
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
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
1758 2016-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
1767 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
1768
1769 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
1770 test if -flto used.
1771
1772 * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
1773 additional flags for compiling libtestc++.a objects.
1774
1775 2016-08-01 Jonathan Wakely <jwakely@redhat.com>
1776
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
1782 * include/bits/basic_string.tcc: Disable explicit instantiation
1783 declarations for C++17.
1784
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
1796 * testsuite/backward/hash_set/check_construct_destroy.cc: Account
1797 for different construct/destroy counts in C++98 mode.
1798
1799 * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
1800
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
1806 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
1807 C++98-compatible initialization for array.
1808
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
1817 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
1818 Remove duplicate dg-options directive.
1819
1820 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
1821 808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
1822
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
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
1833 2016-08-01 Uros Bizjak <ubizjak@gmail.com>
1834
1835 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1836
1837 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
1838
1839 * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
1840 compile-only test.
1841
1842 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1843 Ensure test is compiled with optimization.
1844
1845 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1846 Adjust dg-prune-output pattern for error in C++98 mode.
1847
1848 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
1849 run for C++11 or later.
1850
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
1855 * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
1856 c++11 instead of setting -std=gnu++14.
1857
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
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
1884 2016-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
1903 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
1904
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
1918 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
1919
1920 2016-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
1962 2016-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
1968 2016-07-29 Jonathan Wakely <jwakely@redhat.com>
1969
1970 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
1971 * doc/html/manual/abi.html: Regenerate.
1972
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
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
1988 2016-07-28 Jonathan Wakely <jwakely@redhat.com>
1989
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
2013 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
2014 for different construct/destroy counts in C++98 mode.
2015
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
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
2032 2016-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
2210 2016-07-27 Jonathan Wakely <jwakely@redhat.com>
2211
2212 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
2213
2214 2016-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
2220 2016-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
2226 2016-07-22 Jonathan Wakely <jwakely@redhat.com>
2227
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
2235 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
2236 delete[] instead of delete.
2237
2238 2016-07-21 Jonathan Wakely <jwakely@redhat.com>
2239
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
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
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
2260 * testsuite/24_iterators/container_access.cc: Fix missing returns.
2261 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
2262
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
2270 2016-07-20 Jonathan Wakely <jwakely@redhat.com>
2271
2272 * doc/xml/manual/intro.xml: Document DR 2684 status.
2273 * doc/html/*: Regenerate.
2274
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
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
2289 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
2290 static objects for catching nullptr as pointer to member types.
2291
2292 2016-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
2299 2016-07-15 Jonathan Wakely <jwakely@redhat.com>
2300
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
2311 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
2312 and adjust comment.
2313
2314 PR c++/58796
2315 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
2316 nullptr match handlers of pointer type.
2317
2318 2016-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
2331 2016-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
2340 2016-07-14 Jonathan Wakely <jwakely@redhat.com>
2341
2342 * include/experimental/functional: Include <parallel/algorithm> in
2343 Parallel Mode.
2344
2345 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
2346 for std::search.
2347
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
2364 2016-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
2423 2016-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
2464 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
2465
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
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
2486 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
2487 static.
2488
2489 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
2490
2491 Revert "Add non-const overload of std::string::data()".
2492
2493 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
2494
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
2534 2016-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
2566 2016-07-12 Jonathan Wakely <jwakely@redhat.com>
2567
2568 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
2569 * doc/xml/manual/intro.xml: Document DR 2458 status.
2570 * doc/html*: Regenerate.
2571
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.
2577 * doc/xml/manual/intro.xml: Document LWG 2212 support.
2578 * doc/html*: Regenerate.
2579
2580 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
2581 Add testcase from LWG 2164.
2582
2583 2016-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
2599 2016-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
2650 2016-07-08 Jonathan Wakely <jwakely@redhat.com>
2651
2652 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
2653
2654 2016-07-07 Jonathan Wakely <jwakely@redhat.com>
2655
2656 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
2657 * doc/html/*: Regenerate.
2658
2659 2016-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
2680 2016-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
2686 2016-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
2701 2016-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
2712 2016-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
2719 2016-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
2742 2016-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
2750 2016-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
2759 2016-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
2764 2016-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
2770 2016-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
2775 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2776
2777 * configure.host: Remove mep-* support.
2778
2779 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2780
2781 * configure: Regenerate.
2782 * configure.host: Remove support for knetbsd.
2783 * crossconfig.m4: Likewise.
2784
2785 2016-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
2805 2016-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
2819 2016-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
2840 2016-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
2888 2016-06-16 Jonathan Wakely <jwakely@redhat.com>
2889
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
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
2923 2016-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
2947 2016-06-07 François Dumont <fdumont@gcc.gnu.org>
2948
2949 * include/std/tuple (_Head_base<>): Default specialization condition at
2950 type declaration.
2951
2952 2016-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
2960 2016-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
2968 2016-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
2977 2016-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
2983 2016-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
2988 2016-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
3003 2016-05-25 Jonathan Wakely <jwakely@redhat.com>
3004
3005 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
3006 * configure: Regenerate.
3007 * config.h.in: Regenerate.
3008
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
3016 2016-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
3044 2016-05-24 Jonathan Wakely <jwakely@redhat.com>
3045
3046 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
3047
3048 2016-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
3056 2016-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
3061 2016-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
3075 2016-05-12 Jonathan Wakely <jwakely@redhat.com>
3076
3077 PR libstdc++/71081
3078 * testsuite/experimental/memory_resource/1.cc: Require atomics.
3079
3080 2016-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
3086 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
3087
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
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
3098 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
3099 Overload operator* to move from rvalues.
3100
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
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
3112 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
3113 using declaration.
3114
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
3125 2016-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
3132 2016-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
3141 2016-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/
3147 recursive_directory_iterator.cc: Test default construction.
3148
3149 2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3150
3151 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
3152
3153 2016-05-05 Jonathan Wakely <jwakely@redhat.com>
3154
3155 * testsuite/experimental/filesystem/path/native/string.cc: Add
3156 dg-require-filesystem-ts directive.
3157
3158 2016-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
3176 2016-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
3183 2016-04-28 Jonathan Wakely <jwakely@redhat.com>
3184
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
3198 * include/bits/hashtable_policy.h (__detail::_Insert_base,
3199 __detail::_Insert): Improve comments.
3200
3201 2016-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
3208 2016-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
3214 2016-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
3221 2016-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
3227 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
3228
3229 PR libstdc++/69703
3230 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
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
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
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
3252 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
3253
3254 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
3255
3256 2016-04-18 Jonathan Wakely <jwakely@redhat.com>
3257
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
3266 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
3267
3268 * config/cpu/sh/atomicity.h: Fix typo in comment.
3269
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
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
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
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
3310 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
3311 warnings.
3312
3313 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
3314
3315 * include/bits/specfun.h: Trivial comment misspelling.
3316
3317 2016-04-14 Jason Merrill <jason@redhat.com>
3318
3319 Revert Jonathan's empty ABI change from yesterday.
3320
3321 2016-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
3327 2016-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
3357 2016-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
3362 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
3363
3364 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
3365
3366 2016-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
3371 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
3372
3373 PR libstdc++/70554
3374 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
3375 __atomic_fetch_add for bool.
3376 * configure: Regenerate.
3377
3378 * testsuite/30_threads/thread/70503.cc: Require -static to work.
3379
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
3385 2016-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
3394 2016-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
3401 2016-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
3412 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
3413
3414 PR libstdc++/69939
3415 * include/experimental/tuple (__apply_impl): Qualify get and forward.
3416
3417 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
3418
3419 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
3420 * doc/html/*: Regenerate.
3421
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
3435 2016-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
3441 2016-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
3449 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
3450
3451 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
3452 added 'constexpr' in previous commit.
3453 * configure: Regenerate.
3454
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
3461 2016-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
3466 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
3467
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
3475 * doc/html/index.html: Regenerate.
3476
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
3481 2016-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
3487 2016-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
3492 2016-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
3503 2016-01-27 Jakub Jelinek <jakub@redhat.com>
3504
3505 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
3506
3507 2016-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
3515 2016-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
3527 2016-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
3532 2016-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
3552 2016-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
3557 2016-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
3585 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
3586
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
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
3599 2016-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
3612 2016-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
3617 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
3618
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
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
3635 2016-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
3653 2016-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
3664 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
3665
3666 PR libstdc++/60637
3667 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
3668
3669 PR libstdc++/69243
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
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
3679 2016-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
3684 2016-01-17 Torvald Riegel <triegel@redhat.com>
3685
3686 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
3687
3688 2016-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
3693 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
3694
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
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
3707 2016-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
3732 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
3733
3734 * include/ext/random.tcc: Use __builtin_isfinite instead of
3735 std::isfinite.
3736
3737 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
3738
3739 * include/bits/std_mutex.h: Fix Doxygen @file name.
3740
3741 2016-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
3866 2016-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
3877 2016-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
3886 2016-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
3901 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
3902
3903 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
3904
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
3914 2016-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
3922 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
3923
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
3933 PR libstdc++/69190
3934 * include/bits/uses_allocator.h: Add missing include.
3935
3936 2016-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
3951 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
3952
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
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
3964 2016-01-04 Jakub Jelinek <jakub@redhat.com>
3965
3966 Update copyright years.
3967 \f
3968 Copyright (C) 2016 Free Software Foundation, Inc.
3969
3970 Copying and distribution of this file, with or without modification,
3971 are permitted in any medium without royalty provided the copyright
3972 notice and this notice are preserved.