1 2016-10-11 Jonathan Wakely <jwakely@redhat.com>
3 * include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
4 _M_assign_dispatch directly with correct tag.
6 * doc/xml/manual/intro.xml: Document LWG 2484 status.
7 * libsupc++/nested_exception.h (_Throw_with_nested_impl)
8 (_Throw_with_nested_helper): Remove.
9 (__throw_with_nested_impl): New overloaded functions to implement
10 throw_with_nested logic.
11 (throw_with_nested): Call __throw_with_nested_impl.
12 (_Rethrow_if_nested_impl): Remove
13 (__rethrow_if_nested_impl): New overloaded functions to implement
14 rethrow_if_nested logic.
15 (rethrow_if_nested): Call __rethrow_if_nested_impl.
16 * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
17 problem cases from LWG 2484.
19 * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
20 Register printer for std::__cxx11::list.
21 * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
22 std::__cxx11::list as well as std::list.
24 * include/experimental/string_view (basic_string_view::_S_compare):
25 Remove redundant const from return type.
26 * include/std/string_view (basic_string_view:_S_compare): Likewise.
28 * include/bits/std_mutex.h (mutex::native_handle)
29 (lock_guard(mutex_type&, adopt_lock_t)
30 (unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
31 * include/std/mutex (recursive_mutex, timed_mutex)
32 (recursive_timed_mutex): Likewise.
34 2016-10-10 Jonathan Wakely <jwakely@redhat.com>
36 * doc/xml/manual/appendix_contributing.xml (contrib.organization):
37 Replace <literallayout> with nested <variablelist> elements. Update
38 some more outdated text.
39 * doc/html/*: Regenerate.
41 2016-10-10 Ville Voutilainen <ville.voutilainen@gmail.com>
43 Make any's copy assignment operator exception-safe,
44 don't copy the underlying value when any is moved,
45 make in_place constructors explicit.
46 * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)):
48 (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
50 (operator=(const any&)): Make strongly exception-safe.
51 (operator=(any&&)): reset() unconditionally in the case where
53 (operator=(_ValueType&&)): Indent the return type.
54 (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
55 * testsuite/20_util/any/assign/2.cc: Adjust.
56 * testsuite/20_util/any/assign/exception.cc: New.
57 * testsuite/20_util/any/cons/2.cc: Adjust.
58 * testsuite/20_util/any/cons/explicit.cc: New.
59 * testsuite/20_util/any/misc/any_cast_neg.cc: Ajust.
61 2016-10-10 Jonathan Wakely <jwakely@redhat.com>
63 * doc/xml/manual/appendix_contributing.xml (contrib.organization):
64 Describe other subdirectories and add markup. Remove outdated
65 reference to check-script target.
66 * doc/html/*: Regenerate.
68 * doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
70 * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
73 * include/std/functional (_Bind_result::__enable_if_void): Use alias
74 template instead of class template.
75 (_Bind_result::__disable_if_void): Likewise.
76 (_Bind_result::__call): Adjust uses of __enable_if_void and
79 * doc/xml/manual/intro.xml: Document DR 2296 status.
80 * doc/xml/manual/status_cxx2017.xml: Update status.
81 * include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and
82 call __builtin_addressof.
83 (addressof): Add _GLIBCXX17_CONSTEXPR.
84 * testsuite/20_util/addressof/requirements/constexpr.cc: New test.
85 * testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno.
86 * testsuite/20_util/forward/f_neg.cc: Likewise.
88 * include/bits/allocator.h (allocator<T>::is_always_equal): Define.
89 * testsuite/20_util/allocator/requirements/typedefs.cc: Test for
91 * testsuite/util/testsuite_allocator.h
92 (uneq_allocator::is_always_equal): Define as false_type.
94 * include/experimental/numeric (gcd, lcm): Make bool arguments
96 * include/std/numeric (gcd, lcm): Likewise.
97 * testsuite/26_numerics/gcd/gcd_neg.cc: New test.
98 * testsuite/26_numerics/lcm/lcm_neg.cc: New test.
100 * include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this):
102 * include/bits/shared_ptr_base.h
103 (__enable_shared_from_this::weak_from_this): Likewise.
104 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
105 Test exception-specification of weak_from_this.
107 2016-10-07 Jonathan Wakely <jwakely@redhat.com>
109 * doc/xml/manual/status_cxx1998.xml: Improve documentation of
110 implementation-defined properties.
111 * doc/xml/manual/status_cxx2011.xml: Likewise.
112 * doc/xml/manual/status_cxx2017.xml: Likewise.
114 * doc/xml/manual/status_cxx2017.xml: Update status.
115 * include/std/type_traits (has_unique_object_representations): Define.
116 * testsuite/20_util/has_unique_object_representations/value.cc: New.
117 * testsuite/20_util/has_unique_object_representations/requirements/
118 explicit_instantiation.cc: New.
119 * testsuite/20_util/has_unique_object_representations/requirements/
122 2016-10-06 Jonathan Wakely <jwakely@redhat.com>
124 * doc/xml/manual/status_cxx2011.xml: Update status.
125 * include/std/scoped_allocator (__outer_allocator_t, __outermost_type):
126 New helpers for recursive OUTERMOST.
127 (__outermost): Use __outermost_type::_S_outermost.
128 (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove.
129 (scoped_allocator_adaptor::__outermost_alloc_traits): Use new
130 __outermost_type helper.
131 (scoped_allocator_adaptor::_Constructible): New alias template.
132 (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>):
133 Constrain template constructors.
134 * testsuite/20_util/scoped_allocator/3.cc: New test.
135 * testsuite/20_util/scoped_allocator/outermost.cc: New test.
137 2016-10-05 Jonathan Wakely <jwakely@redhat.com>
140 * testsuite/20_util/not_fn/1.cc: Fix test.
141 * testsuite/experimental/functional/not_fn.cc: Likewise.
144 * include/bits/stl_queue.h (priority_queue): Fix allocator-extended
146 * testsuite/23_containers/priority_queue/allocator.cc: New test.
149 * include/bits/stl_map.h (map::map()): Use nothrow constructibility
150 of comparison function in conditional noexcept.
151 * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
152 * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
153 * include/bits/stl_set.h (set::set()): Likewise.
154 * testsuite/23_containers/map/cons/noexcept_default_construct.cc:
156 * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
158 * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
160 * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
163 * include/bits/node_handle.h (_Node_handle): Remove invalid and unused
167 * include/experimental/functional (_Not_fn): Remove.
168 (not_fn): Use std::_Not_fn.
169 * include/std/functional (_Not_fn): Add second parameter to
170 disambiguate copying from initialization by not_fn. Define for C++14.
171 (not_fn): Add second argument to initialization.
172 * testsuite/20_util/not_fn/1.cc: Copy call wrapper using
173 direct-initialization.
175 2016-10-03 François Dumont <fdumont@gcc.gnu.org>
177 * src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move
179 * src/c++11/mutex_pool.h: ... here. New.
180 * src/c++11/debug.cc: Use latter.
182 2016-10-03 Jonathan Wakely <jwakely@redhat.com>
184 * doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status.
185 * doc/html/*: Regenerate.
186 * include/experimental/numeric (__abs): Move to <numeric>.
187 (gcd, lcm): Use __detail::gcd and __detail::lcm.
188 * include/std/numeric (__detail::__abs_integral)
189 (__detail::__gcd, __detail::__lcm): Define.
190 (gcd, lcm): Define for C++17.
191 * testsuite/26_numerics/gcd/1.cc: New test.
192 * testsuite/26_numerics/lcm/1.cc: New test.
193 * testsuite/experimental/numeric/gcd.cc: Swap contents with ...
194 * testsuite/experimental/numeric/lcd.cc: ... this.
198 * config/abi/pre/gnu-versioned-namespace.ver: Add exports for
199 __cxa_thread_atexit and __gnu_cxx::__freeres.
200 * include/Makefile.am: Add <experimental/bits/lfts_config.h>
201 * include/Makefile.in: Regenerate.
202 * include.bits/basic_string.h: Fix nesting of versioned namespaces.
203 * include/bits/c++config: Declare versioned namespaces for literals.
204 * include/bits/regex.h (basic_regex, match_results): Add workarounds
206 * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
207 * include/std/chrono: Likewise.
208 * include/std/complex: Likewise.
209 * include/std/string_view: Likewise.
210 * include/std/variant: Likewise. Add workaround for PR c++/59256.
211 * include/experimental/bits/fs_fwd.h: Declare versioned namespace.
212 * include/experimental/bits/lfts_config.h: Declare versioned
214 * include/experimental/algorithm: Include
215 <experimental/bits/lfts_config.h>.
216 * include/experimental/any: Likewise.
217 * include/experimental/bits/erase_if.h: Likewise.
218 * include/experimental/chrono: Likewise.
219 * include/experimental/functional: Likewise.
220 * include/experimental/memory_resource: Likewise.
221 * include/experimental/optional: Likewise.
222 * include/experimental/propagate_const: Likewise.
223 * include/experimental/random: Likewise.
224 * include/experimental/ratio: Likewise.
225 * include/experimental/system_error: Likewise.
226 * include/experimental/tuple: Likewise.
227 * include/experimental/type_traits: Likewise.
228 * include/experimental/utility: Likewise.
229 * include/experimental/string_view: Likewise. Fix nesting of
230 versioned namespaces.
231 * include/experimental/bits/string_view.tcc: Reopen inline namespace
232 for non-inline function definitions.
233 * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
234 * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
235 * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
236 * testsuite/experimental/propagate_const/assignment/move_neg.cc:
238 * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
239 * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
240 * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
241 * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
242 * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
243 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
246 * include/bits/std_abs.h: Use "C++" language linkage.
247 * testsuite/17_intro/headers/c++2011/linkage.cc: Move <complex.h> to
248 the end. Add <stdalign.h>.
250 2016-10-03 Ville Voutilainen <ville.voutilainen@gmail.com>
253 * testsuite/20_util/tuple/77802.cc: New.
256 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
257 Implement LWG 2729 for tuple.
258 * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
259 Suppress conditionally.
260 (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
261 (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
262 (_Tuple_impl(const _Head&)): Constrain.
263 (_Tuple_impl(_UHead&&)): Likewise.
264 (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
265 (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
266 (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
267 (operator=(const tuple&)): Enable conditionally.
268 (operator=(tuple&&)): Suppress conditionally.
269 (operator=(const tuple<_UElements...>&)): Constrain.
270 (operator=(tuple<_UElements...>&&)): Likewise.
271 (operator=(const tuple&)): Enable conditionally (2-param tuple).
272 (operator=(tuple&&)): Suppress conditionally (2-param tuple).
273 (operator=(const tuple<_U1, _U2>&)): Constrain.
274 (operator=(tuple<_U1, _U2>&&)): Likewise.
275 (operator=(const pair<_U1, _U2>&)): Likewise.
276 (operator=(pair<_U1, _U2>&&)): Likewise.
277 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
278 * testsuite/20_util/tuple/tuple_traits.cc: New.
280 2016-09-30 Jonathan Wakely <jwakely@redhat.com>
283 * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check
285 * config.h.in: Regenerate.
286 * configure: Regenerate.
287 * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare
289 * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise.
290 * testsuite/27_io/headers/cstdio/functions_neg.cc: New test.
292 * doc/xml/manual/intro.xml: Document LWG 2192 changes.
293 * doc/html/*: Regenerate.
294 * include/Makefile.am: Add bits/std_abs.h.
295 * include/Makefile.in: Regenerate.
296 * include/bits/std_abs.h: New header defining all required overloads
297 of std::abs in one place (LWG 2294).
298 * include/c_global/cmath (abs(double), abs(float), abs(long double)):
299 Move to bits/std_abs.h.
300 (abs<_Tp>(_Tp)): Remove.
301 * include/c_global/cstdlib (abs(long), abs(long long), abs(__int<N>)):
302 Move to bits/std_abs.h.
303 * testsuite/26_numerics/headers/cmath/dr2192.cc: New test.
304 * testsuite/26_numerics/headers/cmath/dr2192_neg.cc: New test.
305 * testsuite/26_numerics/headers/cstdlib/dr2192.cc: New test.
306 * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: New test.
309 * include/experimental/numeric: Include <numeric>.
311 (gcd, lcm): Use __abs instead of std::abs.
312 * testsuite/experimental/numeric/77801.cc: New test.
313 * testsuite/experimental/numeric/gcd.cc: Test unsigned inputs.
314 * testsuite/experimental/numeric/lcm.cc: Likewise.
316 2016-09-29 Ville Voutilainen <ville.voutilainen@gmail.com>
318 Make optional::reset noexcept, make optional::value
319 work in constant expressions.
320 * include/std/optional (_M_get): Make constexpr.
321 (reset): Make noexcept.
322 * testsuite/20_util/optional/assignment/7.cc: New.
323 * testsuite/20_util/optional/observers/6.cc: New.
325 2016-09-29 Jonathan Wakely <jwakely@redhat.com>
327 * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads
328 outside _GLIBCXX_USE_C99_MATH_TR1 condition.
330 2016-09-29 Alan Modra <amodra@gmail.com>
332 * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST.
333 * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo):
334 Use LONG_DOUBLE_COMPAT_FLAGS.
335 * Makefile.in: Regenerate.
336 * configure: Regenerate.
337 * doc/Makefile.in: Regenerate.
338 * include/Makefile.in: Regenerate.
339 * libsupc++/Makefile.in: Regenerate.
340 * po/Makefile.in: Regenerate.
341 * python/Makefile.in: Regenerate.
342 * src/Makefile.in: Regenerate.
343 * src/c++11/Makefile.in: Regenerate.
344 * src/c++98/Makefile.in: Regenerate.
345 * src/filesystem/Makefile.in: Regenerate.
346 * testsuite/Makefile.in: Regenerate.
348 2016-09-28 Jonathan Wakely <jwakely@redhat.com>
350 * include/std/chrono (system_clock): Fix typo in comment.
352 * include/experimental/bits/fs_fwd.h (file_time_type): Simplify
354 * src/filesystem/ops.cc (file_time): Take error_code parameter and
356 (do_copy_file, last_write_time): Pass error_code in file_time calls.
357 * testsuite/experimental/filesystem/operations/last_write_time.cc:
359 * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper.
362 * include/std/functional (_Any_data): Add may_alias attribute.
364 2016-09-27 Jonathan Wakely <jwakely@redhat.com>
366 * doc/xml/manual/status_cxx2017.xml: Update status.
367 * doc/html/*: Regenerate.
368 * include/std/functional (__cpp_lib_boyer_moore_searcher): Define.
369 * testsuite/20_util/function_objects/searchers.cc: Test feature macro.
371 * doc/xml/manual/status_cxx2017.xml: Update status.
372 * include/c_global/cmath (hypot): Add three-dimensional overloads.
373 * testsuite/26_numerics/headers/cmath/hypot.cc: New.
375 2016-09-26 Ville Voutilainen <ville.voutilainen@gmail.com>
378 * include/std/optional (optional(const optional<_Up>&)):
379 Default-initialize the base and use emplace.
380 (optional(optional<_Up>&&)): Likewise.
381 * testsuite/20_util/optional/cons/77727.cc: New.
383 2016-09-26 François Dumont <fdumont@gcc.gnu.org>
385 * include/debug/safe_base.h
386 (_Safe_iterator_base::_M_detach_single): Make public.
388 2016-09-26 Jonathan Wakely <jwakely@redhat.com>
390 * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
391 redefine macro defined in <bits/stl_iterator.h>.
393 * include/bits/stl_map.h (map::extract(const_iterator)): Assert that
394 iterator is not past-the-end.
395 * include/bits/stl_multimap.h (multimap::extract(const_iterator)):
397 * include/bits/stl_multiset.h (multiset::extract(const_iterator)):
399 * include/bits/stl_set.h (set::extract(const_iterator)): Likewise.
400 * include/bits/unordered_map.h (unordered_map::extract(const_iterator))
401 (unordered_multimap::extract(const_iterator)): Likewise.
402 * include/bits/unordered_set.h (unordered_set::extract(const_iterator))
403 (unordered_multiset::extract(const_iterator)): Likewise.
405 2016-09-26 Ville Voutilainen <ville.voutilainen@gmail.com>
408 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
409 Fix an out-of-bounds access.
411 2016-09-26 Marek Polacek <polacek@redhat.com>
414 * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]].
416 2016-09-25 François Dumont <fdumont@gcc.gnu.org>
418 * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
420 (get_safe_base_mutex): Get mutex based on address lowest non nil bits.
421 * testsuite/23_containers/vector/debug/mutex_association.cc: New.
423 * include/debug/bitset (bitset::reference::reference(const _Base_ref&,
424 bitset*)): Remove __unused__ attribute.
425 * include/debug/safe_base.h (_Safe_iterator_base): Make
426 _Safe_sequence_base a friend.
427 (_Safe_iterator_base::_M_attach): Make protected.
428 (_Safe_iterator_base::_M_attach_single): Likewise.
429 (_Safe_iterator_base::_M_detach): Likewise.
430 (_Safe_iterator_base::_M_detach_single): Likewise.
431 (_Safe_sequence_base): Make _Safe_iterator_base a friend.
432 (_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New.
433 (_Safe_sequence_base::_M_swap): Make protected.
434 (_Safe_sequence_base::_M_attach): Make private.
435 (_Safe_sequence_base::_M_attach_single): Likewise.
436 (_Safe_sequence_base::_M_detach): Likewise.
437 (_Safe_sequence_base::_M_detach_single): Likewise.
438 * include/debug/safe_container.h
439 (_Safe_container::_Safe_container(_Safe_container&&)): Make default.
440 * include/debug/safe_iterator.h
441 (_Safe_iterator::operator++()): Name __scoped_lock instance.
442 * include/debug/safe_iterator.tcc: Remove trailing line.
443 * include/debug/safe_unordered_base.h
444 (_Safe_local_iterator_base::_M_attach): Make protected.
445 (_Safe_local_iterator_base::_M_attach_single): Likewise.
446 (_Safe_local_iterator_base::_M_detach): Likewise.
447 (_Safe_local_iterator_base::_M_detach_single): Likewise.
448 (_Safe_unordered_container_base): Make _Safe_local_iterator_base friend.
449 (_Safe_unordered_container_base::_M_attach_local): Make private.
450 (_Safe_unordered_container_base::_M_attach_local_single): Likewise.
451 (_Safe_unordered_container_base::_M_detach_local): Likewise.
452 (_Safe_unordered_container_base::_M_detach_local_single): Likewise.
454 * include/parallel/algo.h: Generalize usage of std::__iterator_category.
457 2016-09-23 Jonathan Wakely <jwakely@redhat.com>
461 * include/bits/basic_string.h (basic_string::clear()): Drop reference
463 * include/ext/rc_string_base.h (__rc_string_base::_M_clear()):
465 * testsuite/21_strings/basic_string/56166.cc: New.
466 * testsuite/ext/vstring/modifiers/clear/56166.cc: New.
468 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
469 (basic_string::erase(size_type, size_type)): Add fast path for
470 truncating the string, by calling _M_set_length directly.
471 (basic_string::erase(__const_iterator, __const_iterator)): Likewise.
472 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
473 (basic_string::resize(size_type, _CharT)): Likewise.
475 2016-09-22 Jason Merrill <jason@redhat.com>
477 * configure.ac: Define HAVE_MEMALIGN for newlib.
479 2015-09-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
481 * config/cpu/m68k/atomicity.h: Adjust comment.
482 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
483 explicit atomicity_dir setup via configure.host.
484 * configure.host (rtems-*): Set atomicity_dir.
485 * configure: Regenerate.
487 2016-09-22 Jonathan Wakely <jwakely@redhat.com>
489 Implement C++17 node extraction and insertion (P0083R5)
490 * doc/xml/manual/status_cxx2017.xml: Document status.
491 * doc/html/*: Regenerate.
492 * include/Makefile.am: Add bits/node_handle.h and reorder.
493 * include/Makefile.in: Regenerate.
494 * include/bits/hashtable.h (_Hashtable::node_type)
495 (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node)
496 (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract)
497 (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define.
498 (_Hash_merge_helper): Define primary template.
499 * include/bits/node_handle.h: New header.
500 * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as
502 (map::node_type, map::insert_return_type, map::extract, map::merge)
503 (map::insert(node_type&&), map::insert(const_iterator, node_type&&)):
505 (_Rb_tree_merge_helper): Specialize for map.
506 * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper
508 (multimap::node_type, multimap::extract, multimap::merge)
509 (multimap::insert(node_type&&))
510 (multimap::insert(const_iterator, node_type&&)): Define.
511 (_Rb_tree_merge_helper): Specialize for multimap.
512 * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper
514 (multiset::node_type, multiset::extract, multiset::merge)
515 (multiset::insert(node_type&&))
516 (multiset::insert(const_iterator, node_type&&)): Define.
517 * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as
519 (set::node_type, set::insert_return_type, set::extract, set::merge)
520 (set::insert(node_type&&), set::insert(const_iterator, node_type&&)):
522 (_Rb_tree_merge_helper): Specialize for set.
523 * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend.
524 (_Rb_tree::node_type, _Rb_tree::insert_return_type)
525 (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal)
526 (_Rb_tree::_M_reinsert_node_hint_unique)
527 (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract)
528 (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define.
529 (_Rb_tree_merge_helper): Specialize for multiset.
530 * include/bits/unordered_map.h (unordered_map): Declare
531 unordered_map<> and unordered_multimap<> as friends.
532 (unordered_map::node_type, unordered_map::insert_return_type)
533 (unordered_map::extract, unordered_map::merge)
534 (unordered_map::insert(node_type&&))
535 (unordered_map::insert(const_iterator, node_type&&))
536 (unordered_multimap): Declare _Hash_merge_helper as friend.
537 (unordered_multimap::node_type, unordered_multimap::extract)
538 (unordered_multimap::merge, unordered_multimap::insert(node_type&&))
539 (unordered_multimap::insert(const_iterator, node_type&&)): Define.
540 (_Hash_merge_helper): Specialize for unordered maps and multimaps.
541 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
542 Declare _Hash_merge_helper as friend.
543 (unordered_set::node_type, unordered_set::insert_return_type)
544 (unordered_set::extract, unordered_set::merge)
545 (unordered_set::insert(node_type&&))
546 (unordered_set::insert(const_iterator, node_type&&)): Define.
547 (unordered_multiset::node_type, unordered_multiset::extract)
548 (unordered_multiset::merge, unordered_multiset::insert(node_type&&))
549 (unordered_multiset::insert(const_iterator, node_type&&)): Define.
550 (_Hash_merge_helper): Specialize for unordered sets and multisets.
551 * include/debug/map.h (map): Add using declarations or forwarding
552 functions for new members.
553 * include/debug/map.h (multimap): Likewise.
554 * include/debug/map.h (multiset): Likewise.
555 * include/debug/map.h (set): Likewise.
556 * include/debug/unordered_map (unordered_map, unordered_multimap):
558 * include/debug/unordered_set( unordered_set, unordered_multiset):
560 * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New
562 (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper.
563 (StdNodeHandlePrinter): Define printer for node handles.
564 (build_libstdcxx_dictionary): Register StdNodeHandlePrinter.
565 * testsuite/23_containers/map/modifiers/extract.cc: New.
566 * testsuite/23_containers/map/modifiers/merge.cc: New.
567 * testsuite/23_containers/multimap/modifiers/extract.cc: New.
568 * testsuite/23_containers/multimap/modifiers/merge.cc: New.
569 * testsuite/23_containers/multiset/modifiers/extract.cc: New.
570 * testsuite/23_containers/multiset/modifiers/merge.cc: New.
571 * testsuite/23_containers/set/modifiers/extract.cc: New.
572 * testsuite/23_containers/set/modifiers/merge.cc: New.
573 * testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
574 * testsuite/23_containers/unordered_map/modifiers/merge.cc: New.
575 * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
577 * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New.
578 * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
580 * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New.
581 * testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
582 * testsuite/23_containers/unordered_set/modifiers/merge.cc: New.
583 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
585 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles.
587 2016-09-22 Ville Voutilainen <ville.voutilainen@gmail.com>
589 Fix tests on old arm platforms for optional.
590 * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
592 2016-09-22 Jonathan Wakely <jwakely@redhat.com>
594 * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for
595 recent change to _Variant_storage.
596 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with
599 * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify
600 std::forward and ::new. Cast pointer to void*.
601 * include/std/variant (_Variant_storage, _Union, _Variant_base)
602 (__access, __visit_invoke, variant, visit): Qualify std::forward.
603 * testsuite/20_util/variant/compile.cc: Test for ADL problems.
605 2016-09-22 Tim Shen <timshen@google.com>
607 * include/std/variant (variant::operator=): Fix assignment
609 * testsuite/20_util/variant/compile.cc: Add test.
611 2016-09-22 Tim Shen <timshen@google.com>
614 * include/std/variant (_Variant_storage::_Variant_storage):
615 Change _Variant_storage's union to be default constructible.
616 * testsuite/20_util/variant/compile.cc: New test.
618 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
621 * include/std/optional (__is_optional_impl, __is_optional): Remove.
622 (__converts_from_optional, __assigns_from_optional): New.
623 (optional(_Up&&)): Use is_same instead of __is_optional.
624 (optional(const optional<_Up>&)): Constrain with
625 __converts_from_optional.
626 (optional(optional<_Up>&&)): Likewise.
627 (operator=(_Up&&)): Use is_same instead of __is_optional, check
628 is_same and is_scalar.
629 (operator=(const optional<_Up>&)): Constrain with
630 __converts_from_optional and __assigns_from_optional.
631 (operator=(optional<_Up>&&)): Likewise.
632 * testsuite/20_util/optional/77288.cc: New.
633 * testsuite/20_util/optional/cons/value.cc: Adjust.
635 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
637 Implement LWG 2729 for tuple.
638 * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
639 Suppress conditionally.
640 (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
641 (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
642 (_Tuple_impl(const _Head&)): Constrain.
643 (_Tuple_impl(_UHead&&)): Likewise.
644 (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
645 (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
646 (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
647 (operator=(const tuple&)): Enable conditionally.
648 (operator=(tuple&&)): Suppress conditionally.
649 (operator=(const tuple<_UElements...>&)): Constrain.
650 (operator=(tuple<_UElements...>&&)): Likewise.
651 (operator=(const tuple&)): Enable conditionally (2-param tuple).
652 (operator=(tuple&&)): Suppress conditionally (2-param tuple).
653 (operator=(const tuple<_U1, _U2>&)): Constrain.
654 (operator=(tuple<_U1, _U2>&&)): Likewise.
655 (operator=(const pair<_U1, _U2>&)): Likewise.
656 (operator=(pair<_U1, _U2>&&)): Likewise.
657 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
658 * testsuite/20_util/tuple/tuple_traits.cc: New.
660 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
663 Implement LWG 2729 for pair.
664 * include/bits/stl_pair.h (_PCC): New.
665 (_ConstructiblePair, _ImplicitlyConvertiblePair):
666 Turn into static member functions of _PCC.
667 (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
669 (pair(const _T1&, const _T2&)): Adjust.
671 (pair(const pair<_U1, _U2>&)): Adjust.
672 (pair(_U1&&, const _T2&)): Likewise.
673 (pair(const _T1&, _U2&&)): Likewise.
674 (pair(_U1&&, _U2&&)): Likewise.
675 (pair(pair<_U1, _U2>&&)): Likewise.
676 (operator=(const pair&)): Make conditionally deleted.
677 (operator=(pair&&)): Make conditionally suppressed.
678 (operator=(const pair<_U1, _U2>&)): Constrain.
679 (operator=(pair<_U1, _U2>&&): Likewise.
680 * include/std/type_traits (__nonesuch): New.
681 * testsuite/20_util/pair/traits.cc: New.
683 2016-09-20 Ville Voutilainen <ville.voutilainen@gmail.com>
686 * include/bits/stl_construct.h: (_Construct_novalue): New.
687 (_Destroy_n_aux, _Destroy_n): New.
688 * include/bits/stl_uninitialized.h: (type_traits):
689 New include in C++11 mode.
690 (__uninitialized_default_novalue_1): New.
691 (__uninitialized_default_novalue_n_1): Likewise.
692 (__uninitialized_default_novalue): Likewise.
693 (__uninitialized_default_novalue_n): Likewise.
694 (__uninitialized_copy_n_pair): Likewise.
695 (uninitialized_default_construct):
696 Use __uninitialized_default_novalue.
697 (uninitialized_default_construct_n):
698 Use __uninitialized_default_novalue_n.
699 (uninitialized_value_construct): Use __uninitialized_default.
700 (uninitialized_value_construct_n): Use __uninitialized_default_n.
701 (uninitialized_move): Use uninitialized_copy.
702 (uninitialized_move_n): Use __uninitialized_copy_n_pair.
703 (destroy_at): Use _Destroy.
705 (destroy_n): Likewise.
706 * testsuite/20_util/specialized_algorithms/
707 memory_management_tools/1.cc: Add tests for exceptions,
708 add tests for trivial cases for construct and move.
710 2016-09-20 Jonathan Wakely <jwakely@redhat.com>
712 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
713 (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
715 2016-09-19 Jonathan Wakely <jwakely@redhat.com>
718 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
719 (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
720 division to int to work with Python 3.
722 * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
724 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
725 display_hint to be set by subclasses.
726 (StdVariantPrinter): Use array for display_hint. Adjust output to be
727 more similar to std::any and std::optional output.
728 (register_type_printers): Add type printers for basic_string_view
729 typedefs and experimental::any. Adjust type printers for
730 fundamentals_v1 templates to match fundamentals_v2 and later.
731 * testsuite/libstdc++-prettyprinters/cxx17.cc: New.
734 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
736 (ListWorkerBase.get_value_from_node): Define new method.
737 (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
739 2016-09-17 Jonathan Wakely <jwakely@redhat.com>
741 * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
742 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
743 Register for C++17 components in namespace std. Strip inline namespace
746 2016-09-16 Jonathan Wakely <jwakely@redhat.com>
748 * doc/xml/manual/profile_mode.xml: Fix typo.
749 * doc/html/manual/profile_mode_devel.html: Regenerate.
751 2016-09-16 Jonathan Wakely <jwakely@redhat.com>
752 Marc Glisse <marc.glisse@inria.fr>
754 * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
755 (operator new(size_t, align_val_t)): Replace modulus operator with
758 2016-09-16 Jonathan Wakely <jwakely@redhat.com>
760 * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
761 Increase alignment if less than sizeof(void*).
762 [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
763 Increase size if not a multiple of alignment.
765 2016-09-15 Jonathan Wakely <jwakely@redhat.com>
767 * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
768 * doc/html/*: Regenerate.
770 * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
772 * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
774 2016-09-14 Marek Polacek <polacek@redhat.com>
776 * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
779 2016-09-14 Christophe Lyon <christophe.lyon@linaro.org>
781 * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
782 Move dg-do directive before dg-skip.
783 * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
784 Move dg-do directive before dg-require.
785 * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
786 * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
787 * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
788 * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
789 * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
790 * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
791 * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
792 * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
793 * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
794 * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
795 * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
796 * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
797 * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
798 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
799 * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
801 * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
802 * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
803 * testsuite/27_io/objects/char/12048-5.cc: Likewise.
804 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
805 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
807 2016-09-13 Ville Voutilainen <ville.voutilainen@gmail.com>
809 Implement P0040R3, Extending memory management tools.
810 * include/bits/stl_uninitialized.h (utility): New include
812 (uninitialized_default_construct): New.
813 (uninitialized_default_construct_n): Likewise.
814 (uninitialized_value_construct): Likewise.
815 (uninitialized_value_construct_n): Likewise.
816 (uninitialized_move): Likewise.
817 (uninitialized_move_n): Likewise.
818 (destroy_at, destroy, destroy_n): Likewise.
819 * testsuite/20_util/specialized_algorithms/memory_management_tools/
822 2016-09-12 Jason Merrill <jason@redhat.com>
824 * config/abi/pre/gnu.ver: Use [jmy] for size_t.
826 2016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
828 Implement P0253R1, Fixing a design mistake in the searchers
829 interface in Library Fundamentals.
830 * include/std/functional: (utility): New include in C++17 mode.
831 (default_searcher): Use a pair as return type, adjust the definition.
832 (boyer_moore_searcher): Likewise.
833 (boyer_moore_horspool_searcher): Likewise.
834 * testsuite/20_util/function_objects/searchers.cc: Adjust.
836 2016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
838 Implement C++17 string searchers.
839 * include/std/functional: (unordered_map, vector): New includes
841 (array, bits/stl_algo.h): Likewise.
842 (default_searcher, __boyer_moore_map_base): New.
843 (__boyer_moore_array_base, __is_std_equal_to): Likewise.
844 (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
845 (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
846 (make_boyer_moore_searcher): Likewise.
847 (make_boyer_moore_horspool_searcher): Likewise.
848 * testsuite/20_util/function_objects/searchers.cc: New.
850 2016-09-12 Matthew Wahab <matthew.wahab@arm.com>
852 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
853 Move dg-do directive before dg-require.
854 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
855 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
857 * testsuite/22_locale/codecvt/utf8.cc: Likewise.
858 * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
859 * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
860 * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
861 * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
862 * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
863 * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
864 * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
865 * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
866 * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
867 * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
868 * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
869 * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
871 * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
873 * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
874 * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
875 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
877 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
879 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
881 * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
883 * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
885 * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
887 * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
889 * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
891 * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
893 * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
895 * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
897 * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
899 * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
901 * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
903 * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
905 * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
907 * testsuite/23_containers/forward_list/debug/
908 iterator_self_move_assign_neg.cc: Likewise.
909 * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
911 * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
913 * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
915 * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
917 * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
919 * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
921 * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
923 * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
925 * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
926 * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
927 * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
928 * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
929 * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
930 * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
931 * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
932 * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
933 * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
934 * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
935 * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
937 * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
938 * testsuite/23_containers/map/debug/60499.cc: Likewise.
939 * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
940 * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
941 * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
942 * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
943 * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
944 * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
945 * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
947 * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
948 * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
949 * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
950 * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
951 * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
952 * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
953 * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
954 * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
955 * testsuite/23_containers/multimap/debug/
956 iterator_self_move_assign_neg.cc: Likewise.
957 * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
959 * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
960 * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
961 * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
962 * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
963 * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
964 * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
965 * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
966 * testsuite/23_containers/multiset/debug/
967 iterator_self_move_assign_neg.cc: Likewise.
968 * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
970 * testsuite/23_containers/set/debug/60499.cc: Likewise.
971 * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
972 * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
973 * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
974 * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
975 * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
976 * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
977 * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
979 * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
980 * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
981 * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
982 * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
983 * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
985 * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
986 * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
987 * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
989 * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
991 * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
993 * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
994 * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
995 * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
996 * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
997 * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
998 * testsuite/23_containers/unordered_map/debug/
999 invalid_local_iterator_compare_neg.cc: Likewise.
1000 * testsuite/23_containers/unordered_map/debug/
1001 invalid_local_iterator_range_neg.cc: Likewise.
1002 * testsuite/23_containers/unordered_map/debug/
1003 iterator_self_move_assign_neg.cc: Likewise.
1004 * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
1006 * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
1008 * testsuite/23_containers/unordered_map/debug/
1009 use_erased_local_iterator_neg.cc: Likewise.
1010 * testsuite/23_containers/unordered_map/debug/
1011 use_invalid_iterator_neg.cc: Likewise.
1012 * testsuite/23_containers/unordered_map/debug/
1013 use_invalid_local_iterator_neg.cc: Likewise.
1014 * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
1015 * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc:
1017 * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
1019 * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
1021 * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
1023 * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
1025 * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
1027 * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
1029 * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
1031 * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
1033 * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
1035 * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
1037 * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
1039 * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
1041 * testsuite/23_containers/unordered_multimap/debug/
1042 invalid_local_iterator_compare_neg.cc: Likewise.
1043 * testsuite/23_containers/unordered_multimap/debug/
1044 invalid_local_iterator_range_neg.cc: Likewise.
1045 * testsuite/23_containers/unordered_multimap/debug/
1046 iterator_self_move_assign_neg.cc: Likewise.
1047 * testsuite/23_containers/unordered_multimap/debug/
1048 max_load_factor_neg.cc: Likewise.
1049 * testsuite/23_containers/unordered_multimap/debug/
1050 self_move_assign_neg.cc: Likewise.
1051 * testsuite/23_containers/unordered_multimap/debug/
1052 use_erased_local_iterator_neg.cc: Likewise.
1053 * testsuite/23_containers/unordered_multimap/debug/
1054 use_invalid_iterator_neg.cc: Likewise.
1055 * testsuite/23_containers/unordered_multimap/debug/
1056 use_invalid_local_iterator_neg.cc: Likewise.
1057 * testsuite/23_containers/unordered_multiset/debug/60499.cc:
1059 * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
1061 * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
1063 * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
1065 * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
1067 * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
1069 * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
1071 * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
1073 * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
1075 * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
1077 * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
1079 * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
1081 * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
1083 * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
1085 * testsuite/23_containers/unordered_multiset/debug/
1086 invalid_local_iterator_compare_neg.cc: Likewise.
1087 * testsuite/23_containers/unordered_multiset/debug/
1088 invalid_local_iterator_range_neg.cc: Likewise.
1089 * testsuite/23_containers/unordered_multiset/debug/
1090 iterator_self_move_assign_neg.cc: Likewise.
1091 * testsuite/23_containers/unordered_multiset/debug/
1092 max_load_factor_neg.cc: Likewise.
1093 * testsuite/23_containers/unordered_multiset/debug/
1094 self_move_assign_neg.cc: Likewise.
1095 * testsuite/23_containers/unordered_multiset/debug/
1096 use_erased_local_iterator_neg.cc: Likewise.
1097 * testsuite/23_containers/unordered_multiset/debug/
1098 use_invalid_iterator_neg.cc: Likewise.
1099 * testsuite/23_containers/unordered_multiset/debug/
1100 use_invalid_local_iterator_neg.cc: Likewise.
1101 * testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
1102 * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
1103 * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
1104 * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
1106 * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
1107 * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
1108 * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
1110 * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
1112 * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
1114 * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
1115 * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
1116 * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
1117 * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
1118 * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
1119 * testsuite/23_containers/unordered_set/debug/
1120 invalid_local_iterator_compare_neg.cc: Likewise.
1121 * testsuite/23_containers/unordered_set/debug/
1122 invalid_local_iterator_range_neg.cc: Likewise.
1123 * testsuite/23_containers/unordered_set/debug/
1124 iterator_self_move_assign_neg.cc: Likewise.
1125 * testsuite/23_containers/unordered_set/debug/
1126 max_load_factor_neg.cc: Likewise.
1127 * testsuite/23_containers/unordered_set/debug/
1128 self_move_assign_neg.cc: Likewise.
1129 * testsuite/23_containers/unordered_set/debug/
1130 use_erased_local_iterator_neg.cc: Likewise.
1131 * testsuite/23_containers/unordered_set/debug/
1132 use_invalid_iterator_neg.cc: Likewise.
1133 * testsuite/23_containers/unordered_set/debug/
1134 use_invalid_local_iterator_neg.cc: Likewise.
1135 * testsuite/23_containers/vector/debug/52433.cc: Likewise.
1136 * testsuite/23_containers/vector/debug/60499.cc: Likewise.
1137 * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
1138 * testsuite/23_containers/vector/debug/
1139 iterator_self_move_assign_neg.cc: Likewise.
1140 * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
1142 * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
1143 * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
1144 * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
1145 * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
1146 * testsuite/29_atomics/atomic/60658.cc: Likewise.
1147 * testsuite/29_atomics/atomic/60695.cc: Likewise.
1148 * testsuite/29_atomics/atomic/62259.cc: Likewise.
1149 * testsuite/29_atomics/atomic/64658.cc: Likewise.
1150 * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
1151 * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
1152 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
1155 2016-09-11 Jonathan Wakely <jwakely@redhat.com>
1157 * libsupc++/new_opant.cc: Include exception_defines.h.
1158 * libsupc++/new_opvant.cc: Likewise.
1160 2016-09-09 Jason Merrill <jason@redhat.com>
1162 Implement P0035R4, C++17 new of over-aligned types.
1163 * libsupc++/new: Declare aligned new/delete operators.
1164 * config/abi/pre/gnu.ver: Export them.
1165 * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
1167 * libsupc++/new_opa.cc: New.
1168 * libsupc++/new_opant.cc: New.
1169 * libsupc++/new_opva.cc: New.
1170 * libsupc++/new_opva.cc: New.
1171 * libsupc++/del_opa.cc: New.
1172 * libsupc++/del_opant.cc: New.
1173 * libsupc++/del_opsa.cc: New.
1174 * libsupc++/del_opva.cc: New.
1175 * libsupc++/del_opvant.cc: New.
1176 * libsupc++/del_opvsa.cc: New.
1177 * libsupc++/Makefile.am: Build them.
1179 2016-09-05 Tim Shen <timshen@google.com>
1181 * include/std/variant: include bits/move.h for std::addressof.
1183 2016-09-05 Mikhail Strelnikov <mikhail.strelnikov@gmail.com>
1185 * include/std/variant (_Variant_storage::_M_storage()): Use
1186 std::addressof instead of operator& to take address.
1188 2016-09-02 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
1190 * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
1191 setrlimit on both native and cross targets.
1192 * configure: Regenerate.
1194 2016-08-31 Jonathan Wakely <jwakely@redhat.com>
1196 * include/bits/shared_ptr.h (_Assignable): New alias template.
1197 (shared_ptr::operator=(const shared_ptr<_Tp1>&))
1198 (shared_ptr::operator=(shared_ptr<_Tp1>&&))
1199 (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
1201 * include/bits/shared_ptr_base.h (_Assignable): New alias template.
1202 (__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
1203 (__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
1204 (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
1206 (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
1207 (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
1209 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
1211 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1212 * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
1213 * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
1214 expected errors. Remove unnecessary code.
1215 * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
1217 * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
1219 * testsuite/23_containers/set/move_comparison.cc: New test.
1221 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
1224 2016-08-30 Ville Voutilainen <ville.voutilainen@gmail.com>
1227 * include/std/type_traits (is_constructible): Forward-declare...
1228 (__is_base_to_derived_ref): ...and use here.
1229 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
1230 * testsuite/20_util/is_constructible/77395.cc: New.
1231 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
1232 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1234 * testsuite/20_util/tuple/77395.cc: New.
1236 2016-08-30 Uros Bizjak <ubizjak@gmail.com>
1238 * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
1239 directive above dg-require-namedlocale directive.
1240 * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
1241 * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
1242 * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
1243 * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
1244 * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
1246 2016-08-27 Tim Shen <timshen@google.com>
1249 * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
1250 _M_expression_term): Modify to support dash literal.
1251 * include/bits/regex_scanner.h: Add dash as a token type to make
1252 a different from the mandated dash literal by escaping.
1253 * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
1254 token in bracket expression parsing.
1255 * testsuite/28_regex/regression.cc: Add new testcases.
1257 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
1260 * doc/xml/manual/intro.xml: Document DR 2127 change.
1261 * doc/html/*: Regenerate.
1262 * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
1263 (operator++(), operator++(int)): Use injected class name.
1264 * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
1266 * testsuite/*: Use { target c++11 } or { target c++14 } instead of
1267 using -std in dg-options.
1269 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
1270 Pedro Alves <palves@redhat.com>
1272 * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
1273 and restore dg-interpreter-batch-mode.
1274 * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
1275 gdb-dg-runtest instead of dg-runtest.
1276 * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
1278 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
1280 * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
1281 precise patterns for basic_string constructors.
1282 (GLIBCXX_3.4.23): Export new constructors.
1283 * doc/xml/manual/intro.xml: Document LWG 2583 status.
1284 * doc/html/*: Regenerate.
1285 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
1286 (basic_string(const basic_string&, size_type, const Alloc&)): Add
1287 new constructor for LWG 2583.
1288 (basic_string(const basic_string&, size_type, size_type)): Remove
1290 [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
1291 * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
1292 * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
1293 * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
1295 2016-08-24 Aditya Kumar <hiraditya@msn.com>
1297 * include/bits/algorithmfwd.h: Remove trailing whitespace.
1298 * include/bits/shared_ptr_base.h: Likewise.
1300 2016-08-23 Jonathan Wakely <jwakely@redhat.com>
1302 * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
1303 * include/profile/array (array): Likewise.
1304 (array::swap): Fix exception specification for zero-sized arrays.
1307 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
1308 (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
1309 * testsuite/23_containers/map/77334.cc: New test.
1311 * doc/xml/manual/using.xml: Remove reference to -pthreads option.
1312 * doc/html/*: Regenerate.
1314 * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
1315 * testsuite/experimental/feat-lib-fund.cc: Likewise.
1318 * include/bits/stl_iterator.h
1319 (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
1320 define for C++98 mode.
1321 (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
1322 * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
1324 * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
1325 * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
1326 * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
1327 * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
1328 difference operator.
1329 * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
1330 difference operator for C++98.
1331 * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
1333 * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
1334 * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
1335 (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
1336 * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
1337 (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
1339 * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
1340 _GLIBCXX14_CONSTEXPR.
1341 (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
1342 * include/std/array (array::begin, array::end, array::rbegin)
1343 (array::rend, array::cbegin, array:cend, array::crbegin)
1344 (array::crend, array::operator[], array::at, array::front)
1345 (array::back, array::data): Likewise.
1346 * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
1347 with separate tests for C++11, C++14, and C++17.
1348 * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
1349 * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
1350 * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
1352 2016-08-22 Tim Shen <timshen@google.com>
1354 Split _M_dfs() into smaller functions.
1355 * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
1356 (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
1357 (_M_handle_line_end_assertion, _M_handle_word_boundary)
1358 (_M_handle_subexpr_lookahead, _M_handle_match)
1359 (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
1360 Add separate function declarations.
1361 * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
1363 2016-08-22 Gleb Natapov <gleb@scylladb.com>
1366 * config/abi/pre/gnu-versioned-namespace.ver: Export
1367 __cxa_init_primary_exception and std::exception_ptr(void*).
1368 * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
1369 export __cxa_init_primary_exception and std::exception_ptr(void*).
1370 * include/Makefile.am: Add new headers.
1371 * include/Makefile.in: Regenerate.
1372 * libsupc++/Makefile.am: Add new headers.
1373 * libsupc++/Makefile.in: Regenerate.
1374 * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
1375 * libsupc++/cxxabi_init_exception.h: New header.
1376 (__cxa_init_primary_exception): Declare.
1377 * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
1378 (__cxa_throw): Use __cxa_init_primary_exception.
1379 * libsupc++/exception (std::exception): Move to ...
1380 * libsupc++/exception.h: New header.
1381 * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
1383 (__exception_ptr::__dest_thunk): New function template.
1384 (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
1385 Use __cxa_allocate_exception and __cxa_init_primary_exception to
1386 create exception_ptr.
1387 * libsupc++/typeinfo: Include bits/exception.h instead of exception.
1388 * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
1390 2016-08-22 Jonathan Wakely <jwakely@redhat.com>
1392 * doc/xml/api.xml: Replace hardcoded links for specific versions with
1393 link to docs for all releases.
1394 * doc/html/*: Regenerate.
1397 * doc/xml/manual/intro.xml: Document DR 2062 change.
1398 * include/std/functional (function::swap): Add noexcept.
1399 (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
1400 * testsuite/20_util/function/77322.cc: New test.
1402 2016-08-19 Jonathan Wakely <jwakely@redhat.com>
1404 * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
1405 *-*-solaris* instead of -pthreads.
1406 * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
1407 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
1408 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
1409 * testsuite/23_containers/list/pthread1.cc: Likewise.
1410 * testsuite/23_containers/list/pthread5.cc: Likewise.
1411 * testsuite/23_containers/map/pthread6.cc: Likewise.
1412 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
1413 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
1414 * testsuite/30_threads/shared_mutex/*: Likewise.
1415 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
1416 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
1417 default_weaktoshared.cc: Likewise.
1418 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
1419 mutex_weaktoshared.cc: Likewise.
1420 * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
1421 dg-require-effective-target instead of using -std option.
1422 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
1424 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
1425 * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
1427 * testsuite/30_threads/async/*: Likewise.
1428 * testsuite/30_threads/call_once/*: Likewise.
1429 * testsuite/30_threads/condition_variable/*: Likewise.
1430 * testsuite/30_threads/condition_variable_any/*: Likewise.
1431 * testsuite/30_threads/future/*: Likewise.
1432 * testsuite/30_threads/lock/*: Likewise.
1433 * testsuite/30_threads/mutex/*: Likewise.
1434 * testsuite/30_threads/packaged_task/*: Likewise.
1435 * testsuite/30_threads/promise/*: Likewise.
1436 * testsuite/30_threads/recursive_mutex/*: Likewise.
1437 * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
1438 * testsuite/30_threads/shared_future/*: Likewise.
1439 * testsuite/30_threads/shared_lock/*: Likewise.
1440 * testsuite/30_threads/shared_timed_mutex/*: Likewise.
1441 * testsuite/30_threads/this_thread/*: Likewise.
1442 * testsuite/30_threads/thread/*: Likewise.
1443 * testsuite/30_threads/timed_mutex/*: Likewise.
1444 * testsuite/30_threads/try_lock/*: Likewise.
1445 * testsuite/30_threads/unique_lock/*: Likewise.
1447 * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
1448 * doc/html/*: Regenerate.
1449 * include/experimental/functional (_Not_fn, not_fn): Match C++17
1451 * include/std/functional (_Not_fn, not_fn): Define for C++17.
1452 * testsuite/20_util/not_fn/1.cc: New.
1453 * testsuite/experimental/functional/not_fn.cc: Test abstract class.
1454 Remove test for volatile-qualified wrapper.
1456 * include/std/atomic (atomic::is_always_lock_free): Define.
1457 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
1458 * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
1459 * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
1460 * doc/xml/manual/status_cxx2017.xml: Update status.
1461 * doc/html/*: Regenerate.
1463 * include/experimental/tuple (apply): Qualify call to __apply_impl.
1464 * include/std/tuple (apply): Likewise.
1465 * testsuite/experimental/system_error/value.cc: Fix ambiguities in
1467 * testsuite/experimental/tuple/tuple_size.cc: Likewise.
1468 * testsuite/experimental/type_traits/value.cc: Likewise.
1470 * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
1472 * doc/html/*: Regenerate.
1474 2016-08-18 Ville Voutilainen <ville.voutilainen@gmail.com>
1476 Implement the latest proposed resolution of LWG 2756.
1477 * include/std/optional (Optional_base(const _Tp&))
1478 (Optional_base(_Tp&&), using _Base::_Base): Remove.
1479 (optional(nullopt_t)): New.
1480 (optional(_Up&&)): Invoke base directly with in_place
1481 rather than creating a temporary, add default template
1482 argument, change constraints.
1483 (optional(const optional<_Up>&)): Invoke base directly
1484 with in_place, remove unnecessary constraints.
1485 (optional(optional<_Up>&& __t)): Likewise.
1486 (optional(in_place_t, _Args&&...)): New.
1487 (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
1488 (operator=(_Up&&)): Add default template argument, change constraints.
1489 (operator=(const optional<_Up>&)): Put is_same first in the
1491 (operator=(optional<_Up>&&)): Likewise.
1492 * testsuite/20_util/optional/assignment/5.cc: Add a test to
1493 verify assignment from something that can't be perfect-forwarded.
1494 * testsuite/20_util/optional/cons/value.cc: Add tests to verify
1495 that a nested optional is disengaged when constructed
1496 from a disengaged element type, and to verify that assignments
1497 from an engaged element type engage the optional.
1499 2016-08-18 Tim Shen <timshen@google.com>
1503 * include/Makefile.am: Add new file std/variant.
1504 * include/Makefile.in: Generated from Makefile.am.
1505 * include/bits/enable_special_members.h: Add a tag type to allow
1506 the construction in non-default constructor.
1507 * include/bits/uses_allocator.h: Add convenience traits to
1508 detect constructibility.
1509 * include/std/variant: Implement <variant>.
1510 * testsuite/20_util/variant/compile.cc: Compile-time tests.
1511 * testsuite/20_util/variant/run.cc: Runtime tests.
1513 2016-08-18 Jonathan Wakely <jwakely@redhat.com>
1515 * doc/xml/manual/test.xml (test.run.permutations): Expand section.
1516 (test.new_tests): Rewrite section.
1517 (tests.dg.directives): New section.
1518 * doc/html/*: Regenerate.
1520 * doc/xml/manual/test.xml: Improve documentation of test targets.
1521 Document new-abi-baseline, check-debug, and check-parallel targets.
1523 * doc/xml/manual/build_hacking.xml: New section on shared library
1526 * doc/xml/manual/build_hacking.xml: Improve markup.
1527 * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
1529 * doc/xml/faq.xml: Change link text to "Testing".
1531 * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
1532 dg-options directive.
1534 2016-08-17 Jonathan Wakely <jwakely@redhat.com>
1536 * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
1537 directive and use effective target instead of dg-options.
1539 * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
1540 instead of -std in dg-options.
1541 * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
1542 * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
1543 * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
1544 * testsuite/20_util/hash/quality.cc: Likewise.
1545 * testsuite/25_algorithms/heap/moveable.cc: Likewise.
1546 * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
1547 * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
1548 * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
1549 * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
1550 * testsuite/25_algorithms/sort/random_test.cc: Likewise.
1552 * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
1553 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
1554 * testsuite/27_io/rvalue_streams.cc: Likewise.
1556 * testsuite/26_numerics/complex/literals/types.cc: Add comment.
1558 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
1559 Remove duplicate dg-options directive.
1561 * testsuite/ext/profile/all.cc: Use effective target instead of
1562 -std=gnu++11. Use dg-additional-options instead of repeating options.
1564 * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
1565 -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
1566 instead of dg-excess-errors.
1568 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
1570 * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
1571 * testsuite/experimental/ratio/value.cc: Likewise.
1572 * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
1574 * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
1575 * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
1576 * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
1577 * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
1578 * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
1579 * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
1580 * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
1581 * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
1582 * testsuite/tr1/5_numerical_facilities/special_functions/
1583 10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
1584 C++17 compatibility.
1586 * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
1587 expected signatures for C++14 compatibility.
1590 * include/bits/basic_string.h (operator=(__sv_type)
1591 (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
1592 (replace(size_type, size_type, __sv_type))
1593 (replace(const_iterator, const_iterator, __sv_type))
1594 (find(__sv_type, size_type), rfind(__sv_type, size_type))
1595 (compare(size_type, size_type, __sv_type)): Reformat.
1596 (_If_sv): Define helper for SFINAE constaints.
1597 (append(const _Tp&, size_type, size_type))
1598 (assign(const _Tp&, size_type, size_type))
1599 (insert(size_type, const _Tp&, size_type, size_type))
1600 (replace(size_type, size_type, const _Tp&, size_type, size_type)):
1602 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
1604 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
1606 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
1608 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
1610 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
1612 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
1614 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
1616 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
1618 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
1620 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
1622 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
1625 2016-08-16 Jonathan Wakely <jwakely@redhat.com>
1628 * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
1629 pointers to start and end of storage.
1630 * testsuite/23_containers/vector/bool/72847.cc: New test.
1631 * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
1632 _M_finish after deallocating.
1633 (vector<bool>::_M_fill_insert): Likewise.
1634 (vector<bool>::_M_insert_range): Likewise.
1635 (vector<bool>::_M_insert_aux): Likewise.
1637 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
1639 Implement LWG 2744 and LWG 2754.
1640 * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
1641 (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
1642 (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
1644 (emplace(_Args&&...)): Likewise.
1645 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
1646 * include/std/utility: (__is_in_place_type_impl): New.
1647 (__is_in_place_type): Likewise.
1648 * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
1650 * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
1651 in_place constructor.
1652 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
1653 * testsuite/20_util/any/requirements.cc: Add a test for
1654 in_place-constructing a non-default-constructible type.
1656 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
1658 Add a feature macro for C++17 make_from_tuple.
1659 * include/std/tuple (__cpp_lib_make_from_tuple): New.
1660 (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
1661 Qualify the call to get<>().
1662 * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
1664 2016-08-15 Uros Bizjak <ubizjak@gmail.com>
1666 * src/filesystem/ops.cc: Always include ostream and
1667 ext/stdio_filebuf.h.
1668 (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
1669 [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
1670 sendfile fails with ENOSYS or EINVAL.
1672 2016-08-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
1675 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
1678 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
1680 Implement C++17 make_from_tuple.
1681 * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
1682 * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
1684 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
1687 * include/bits/basic_string.h
1688 (append(__sv_type, size_type, size_type)): Turn into a template,
1689 change parameter type, constrain, add a conversion to __sv_type
1690 from the dependent parameter type.
1691 (assign(__sv_type, size_type, size_type)): Likewise.
1692 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
1693 (replace(size_type, size_type, __sv_type, size_type, size_type)):
1695 (compare(size_type, size_type,__sv_type, size_type, size_type)):
1697 * testsuite/21_strings/basic_string/lwg2758.cc: New.
1699 2016-08-06 Jonathan Wakely <jwakely@redhat.com>
1701 * doc/xml/manual/status_cxx2017.xml: Update status table.
1702 * doc/html/manual/status.html: Regenerate.
1704 * testsuite/lib/libstdc++.exp: Fix typo in comment.
1707 * include/std/functional (_Function_base::_Base_manager::_M_clone):
1708 Qualify new operator.
1709 * testsuite/20_util/function/cons/72820.cc: New test.
1711 * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
1712 * doc/html/manual/status.html: Regenerate.
1713 * include/Makefile.am: Add new header.
1714 * include/Makefile.in: Regenerate.
1715 * include/bits/invoke.h: New header.
1716 (__invoke): Make constexpr. Add && to types in exception specification.
1717 * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
1718 names. Include <bits/invoke.h> and use std::__invoke.
1719 * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
1721 (invoke): Add && to types in exception specification.
1722 * include/std/tuple (apply, __apply_impl): Define for C++17.
1723 * testsuite/20_util/tuple/apply/1.cc: New test.
1724 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
1727 2016-08-05 Jonathan Wakely <jwakely@redhat.com>
1729 * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
1730 * doc/html/manual/status.html: Regenerate.
1732 * include/std/chrono (floor, ceil, round, abs): New for C++17.
1733 * testsuite/20_util/duration_cast/rounding.cc: New test.
1734 * testsuite/20_util/time_point_cast/rounding.cc: New test.
1735 * doc/xml/manual/status_cxx2017.xml: Update status table.
1736 * doc/html/manual/status.html: Regenerate.
1737 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
1739 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
1740 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
1741 * testsuite/20_util/duration/literals/range.cc: Likewise.
1743 * include/std/functional (__callable_functor): Remove.
1744 (_Function_handler::_M_invoke): Use __invoke instead of
1745 __callable_functor or mem_fn.
1746 (function::_Callable): Use lvalue in result_of expression.
1747 (function): Remove TODO comments about allocators.
1748 * testsuite/20_util/function/cons/refqual.cc: New test.
1750 2016-08-04 Jonathan Wakely <jwakely@redhat.com>
1752 * doc/xml/manual/status_cxx2017.xml: Update status table.
1753 * include/std/functional (__inv_unwrap): Move to <type_traits>.
1754 (__invoke_impl): Remove exception specifications.
1755 (__invoke, invoke): Add exception specifications using
1756 __is_nothrow_callable.
1757 * include/std/type_traits (__inv_unwrap): Move from <functional>.
1758 (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
1759 (__is_callable, __is_nothrow_callable): New traits.
1760 (is_callable, is_callable_v): New C++17 traits.
1761 (is_nothrow_callable, is_nothrow_callable_v): Likewise.
1762 * testsuite/20_util/is_callable/requirements/
1763 explicit_instantiation.cc: New test.
1764 * testsuite/20_util/is_callable/requirements/
1765 explicit_instantiation_ext.cc: New test.
1766 * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
1767 * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
1769 * testsuite/20_util/is_callable/value.cc: New test.
1770 * testsuite/20_util/is_callable/value_ext.cc: New test.
1771 * testsuite/20_util/is_nothrow_callable/requirements/
1772 explicit_instantiation.cc: New test.
1773 * testsuite/20_util/is_nothrow_callable/requirements/
1774 explicit_instantiation_ext.cc: New test.
1775 * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
1777 * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
1779 * testsuite/20_util/is_nothrow_callable/value.cc: New test.
1780 * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
1782 * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
1783 * doc/html/manual/status.html: Regenerate.
1785 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
1786 effective target not dg-options. Move check for feature-test macro to:
1787 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
1790 * include/std/functional (_Unwrap): Rename to __inv_unwrap.
1792 (__invoke_impl): Remove unused template parameters.
1793 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
1795 * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
1796 and test __invoke extension for C++11.
1798 2016-08-03 Jonathan Wakely <jwakely@redhat.com>
1800 * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
1801 Define feature-test macro.
1802 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
1805 * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
1806 * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
1807 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1808 * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
1809 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1811 * include/std/utility (as_const): Define.
1812 * testsuite/20_util/as_const/1.cc: New test.
1813 * testsuite/20_util/as_const/rvalue_neg.cc: New test.
1815 * include/bits/shared_ptr.h (owner_less): Add default template
1817 * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
1819 (owner_less<void>): Define specialization.
1820 * include/bits/stl_function.h (__cpp_lib_transparent_operators):
1822 * testsuite/20_util/owner_less/void.cc: New test.
1823 * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
1825 * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
1826 Define feature-test macro.
1827 * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
1828 * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
1829 * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
1830 (__cpp_lib_type_trait_variable_templates): Define.
1832 * include/bits/stl_function.h: Remove commented-out macro.
1833 * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
1834 Define feature-test macro.
1835 * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
1837 * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
1838 C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
1840 * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
1841 do #error for C++17.
1842 * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
1843 of __STDCPP_WANT_MATH_SPEC_FUNCS__.
1844 * include/tr1/bessel_function.tcc: Likewise.
1845 * include/tr1/beta_function.tcc: Likewise.
1846 * include/tr1/cmath: Likewise.
1847 * include/tr1/ell_integral.tcc: Likewise.
1848 * include/tr1/exp_integral.tcc: Likewise.
1849 * include/tr1/gamma.tcc: Likewise.
1850 * include/tr1/hypergeometric.tcc: Likewise.
1851 * include/tr1/legendre_function.tcc: Likewise.
1852 * include/tr1/modified_bessel_func.tcc: Likewise.
1853 * include/tr1/poly_hermite.tcc: Likewise.
1854 * include/tr1/poly_laguerre.tcc: Likewise.
1855 * include/tr1/riemann_zeta.tcc: Likewise.
1856 * include/tr1/special_function_util.h: Likewise.
1857 * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
1859 * include/std/type_traits (has_trivial_default_constructor): Remove.
1860 (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
1861 * testsuite/20_util/has_trivial_copy_assign/requirements/
1862 explicit_instantiation.cc: Remove test.
1863 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1865 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
1867 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
1868 * testsuite/20_util/has_trivial_copy_constructor/requirements/
1869 explicit_instantiation.cc: Likewise.
1870 * testsuite/20_util/has_trivial_copy_constructor/requirements/
1871 typedefs.cc: Likewise.
1872 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
1873 * testsuite/20_util/has_trivial_default_constructor/requirements/
1874 explicit_instantiation.cc: Likewise.
1875 * testsuite/20_util/has_trivial_default_constructor/requirements/
1876 typedefs.cc: Likewise.
1877 * testsuite/20_util/has_trivial_default_constructor/value.cc:
1879 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
1880 Check has_trivial_default_constructor, has_trivial_copy_constructor,
1881 and has_trivial_copy_assign are not defined.
1882 * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
1884 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
1885 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
1886 dg-error line number.
1887 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1890 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
1892 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
1893 Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
1894 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
1896 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
1898 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
1900 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
1902 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
1904 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
1907 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
1910 * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
1911 dg-error to relevant line.
1912 * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
1914 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
1916 * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
1918 * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
1919 options are present that aren't valid for C.
1920 * testsuite/abi/header_cxxabi.c: Likewise.
1922 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
1923 check_value.cc: Do not add special functions to namespace std in TR1
1926 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
1927 run for C++11 and later.
1928 * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
1930 * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
1931 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
1932 * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
1933 * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
1934 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
1936 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
1938 * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
1939 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
1941 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
1943 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
1945 * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
1946 * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
1947 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
1948 * testsuite/special_functions/03_beta/check_value.cc: Likewise.
1949 * testsuite/special_functions/03_beta/compile.cc: Likewise.
1950 * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
1951 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
1952 * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
1954 * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
1955 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
1956 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
1957 * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
1959 * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
1960 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
1961 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
1962 * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
1964 * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
1965 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
1966 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
1967 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
1969 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
1970 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
1971 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
1972 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
1973 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
1975 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
1976 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
1977 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
1978 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
1980 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
1981 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
1982 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
1983 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
1984 * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
1985 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
1986 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
1987 * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
1988 * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
1989 * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
1990 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
1991 * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
1992 * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
1993 * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
1994 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
1995 * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
1996 * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
1997 * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
1998 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
1999 * testsuite/special_functions/14_expint/check_value.cc: Likewise.
2000 * testsuite/special_functions/14_expint/compile.cc: Likewise.
2001 * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
2002 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
2003 * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
2004 * testsuite/special_functions/15_hermite/compile.cc: Likewise.
2005 * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
2006 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
2007 * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
2008 * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
2009 * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
2010 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
2011 * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
2012 * testsuite/special_functions/17_legendre/compile.cc: Likewise.
2013 * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
2014 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
2015 * testsuite/special_functions/18_riemann_zeta/check_value.cc:
2017 * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
2018 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
2019 * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
2020 * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
2021 * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
2022 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
2023 * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
2024 * testsuite/special_functions/20_sph_legendre/check_value.cc:
2026 * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
2027 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
2028 * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
2029 * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
2030 * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
2031 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
2033 * testsuite/tr1/5_numerical_facilities/special_functions/
2034 08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
2036 * testsuite/tr1/5_numerical_facilities/special_functions/
2037 09_cyl_bessel_j/check_value.cc: Likewise.
2038 * testsuite/tr1/5_numerical_facilities/special_functions/
2039 10_cyl_bessel_k/check_value.cc: Likewise.
2040 * testsuite/tr1/5_numerical_facilities/special_functions/
2041 11_cyl_neumann/check_value.cc: Likewise.
2042 * testsuite/tr1/5_numerical_facilities/special_functions/
2043 21_sph_bessel/check_value.cc: Likewise.
2044 * testsuite/tr1/5_numerical_facilities/special_functions/
2045 23_sph_neumann/check_value.cc: Likewise.
2047 2016-08-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2049 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
2050 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2051 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2052 * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
2053 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
2054 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
2056 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
2058 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
2061 * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
2062 additional flags for compiling libtestc++.a objects.
2064 2016-08-01 Jonathan Wakely <jwakely@redhat.com>
2066 * include/bits/basic_string.h (data() const): Update comment.
2067 (data()): Add non-const overload for C++17.
2068 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
2069 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
2071 * include/bits/basic_string.tcc: Disable explicit instantiation
2072 declarations for C++17.
2074 * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
2075 ignored "xfail" from { dg-do compile { xfail selector } } directive.
2076 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
2078 * testsuite/26_numerics/headers/cmath/
2079 c99_classification_macros_c++11.cc: Likewise.
2080 * testsuite/26_numerics/headers/cmath/
2081 c99_classification_macros_c++98.cc: Likewise.
2082 * testsuite/26_numerics/headers/cmath/
2083 c99_classification_macros_c.cc: Likewise.
2085 * testsuite/backward/hash_set/check_construct_destroy.cc: Account
2086 for different construct/destroy counts in C++98 mode.
2088 * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
2090 * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
2092 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
2095 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
2096 C++98-compatible initialization for array.
2098 * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
2099 unused header and variable from compile-only test.
2100 * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
2101 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
2102 * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
2103 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
2106 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
2107 Remove duplicate dg-options directive.
2109 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
2110 808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
2112 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
2113 linker options from compile-only tests.
2114 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
2117 * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
2118 supported for C++11 and later.
2119 * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
2120 * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
2122 2016-08-01 Uros Bizjak <ubizjak@gmail.com>
2124 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
2126 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
2128 * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
2131 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
2132 Ensure test is compiled with optimization.
2134 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2135 Adjust dg-prune-output pattern for error in C++98 mode.
2137 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
2138 run for C++11 or later.
2140 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
2141 test to not rely on GNU extension (escaped normal characters in POSIX
2142 BRE). Enable tests for other strings which are now supported.
2144 * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
2145 c++11 instead of setting -std=gnu++14.
2148 * include/std/array (get): Use positive message for static assertions.
2149 * include/std/functional (_Safe_tuple_element_t): Fix indentation.
2150 * include/std/tuple (tuple_element<I, tuple<>>): Add partial
2151 specialization for invalid indices, with static assertion.
2152 * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
2154 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
2155 dg-error to relevant line.
2156 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
2158 * testsuite/23_containers/forward_list/requirements/dr438/
2159 assign_neg.cc: Likewise.
2160 * testsuite/23_containers/forward_list/requirements/dr438/
2161 constructor_1_neg.cc: Likewise.
2162 * testsuite/23_containers/forward_list/requirements/dr438/
2163 constructor_2_neg.cc: Likewise.
2164 * testsuite/23_containers/forward_list/requirements/dr438/
2165 insert_neg.cc: Likewise.
2166 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
2168 * testsuite/26_numerics/random/linear_congruential_engine/
2169 requirements/non_uint_neg.cc: Likewise.
2170 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
2171 Likewise. Also test for std::atomic_address.
2173 2016-07-31 Ville Voutilainen <ville.voutilainen@gmail.com>
2175 Add missing variable traits, fix testsuite failures.
2176 * include/bits/uses_allocator.h (uses_allocator_v): New.
2177 * include/std/functional (is_bind_expression_v, is_placeholder_v):
2179 * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
2180 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
2181 * testsuite/20_util/duration/literals/range.cc: Likewise.
2182 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
2183 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
2184 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
2185 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
2186 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2188 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
2189 * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
2192 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
2194 * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
2195 not test 128-bit types.
2196 * testsuite/20_util/is_floating_point/value.cc: Likewise.
2197 * testsuite/20_util/is_integral/value.cc: Likewise.
2198 * testsuite/20_util/is_signed/value.cc: Likewise.
2199 * testsuite/20_util/is_unsigned/value.cc: Likewise.
2200 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
2201 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
2202 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
2204 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
2207 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
2209 2016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
2211 Implement C++17 variable templates for type traits.
2212 * include/std/chrono (treat_as_floating_point_v): New.
2213 * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
2214 (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
2215 (ratio_greater_equal_v): Likewise.
2216 * include/std/system_error (is_error_code_enum_v)
2217 (is_error_condition_enum_v): Likewise.
2218 * include/std/tuple (tuple_size_v): Likewise.
2219 * type_traits (conjunction_v, disjunction_v, negation_v)
2220 (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
2221 (is_array_v, is_pointer_v, is_lvalue_reference_v)
2222 (is_rvalue_reference_v, is_member_object_pointer_v)
2223 (is_member_function_pointer_v, is_enum_v, is_union_v)
2224 (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
2225 (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
2226 (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
2227 (is_trivially_copyable_v, is_standard_layout_v)
2228 (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
2229 (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
2230 (is_constructible_v, is_default_constructible_v)
2231 (is_copy_constructible_v, is_move_constructible_v)
2232 (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
2233 (is_destructible_v, is_trivially_constructible_v)
2234 (is_trivially_default_constructible_v)
2235 (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
2236 (is_trivially_assignable_v, is_trivially_copy_assignable_v)
2237 (is_trivially_move_assignable_v, is_trivially_destructible_v)
2238 (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
2239 (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
2240 (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
2241 (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
2242 (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
2243 (is_same_v, is_base_of_v, is_convertible_v): Likewise.
2244 * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
2245 * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
2247 * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
2248 * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
2249 * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
2251 2016-07-29 Andreas Schwab <schwab@linux-m68k.org>
2253 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
2254 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
2255 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
2257 2016-07-29 Jonathan Wakely <jwakely@redhat.com>
2259 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
2260 * doc/html/manual/abi.html: Regenerate.
2262 * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
2263 * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
2265 * configure: Regenerate.
2266 * testsuite/util/testsuite_abi.cc: Add new symbol version.
2268 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
2269 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
2270 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
2271 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2273 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
2274 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
2275 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2277 2016-07-28 Jonathan Wakely <jwakely@redhat.com>
2279 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2280 Adjust dg-prune-output pattern for error in C++98 mode.
2281 * testsuite/23_containers/deque/requirements/dr438/
2282 constructor_1_neg.cc: Likewise.
2283 * testsuite/23_containers/deque/requirements/dr438/
2284 constructor_2_neg.cc: Likewise.
2285 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2287 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2289 * testsuite/23_containers/list/requirements/dr438/
2290 constructor_1_neg.cc: Likewise.
2291 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2293 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2295 * testsuite/23_containers/vector/requirements/dr438/
2296 constructor_1_neg.cc: Likewise.
2297 * testsuite/23_containers/vector/requirements/dr438/
2298 constructor_2_neg.cc: Likewise.
2299 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2302 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
2303 for different construct/destroy counts in C++98 mode.
2305 * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
2306 dg-options to dg-additional-options so that default options are used.
2307 * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
2309 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
2310 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
2312 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
2313 Use dg-additional-options instead of repeating the common options.
2315 * testsuite/22_locale/conversions/string/1.cc: Remove unintended
2316 dg-do compile directive.
2317 * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
2319 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
2321 2016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
2323 Implement std::string_view and P0254r2,
2324 Integrating std::string_view and std::string.
2325 * include/Makefile.am: Add string_view and string_view.tcc
2326 to the exported headers.
2327 * include/Makefile.in: Likewise.
2328 * include/bits/basic_string.h: Include <string_view> in C++17 mode.
2330 (basic_string(__sv_type, const _Alloc&)): Likewise.
2331 (operator=(__sv_type)): Likewise.
2332 (operator __sv_type()): Likewise.
2333 (operator+=(__sv_type)): Likewise.
2334 (append(__sv_type __sv)): Likewise.
2335 (append(__sv_type, size_type, size_type)): Likewise.
2336 (assign(__sv_type)): Likewise.
2337 (assign(__sv_type, size_type, size_type)): Likewise.
2338 (insert(size_type, __sv_type)): Likewise.
2339 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
2340 (replace(size_type, size_type, __sv_type)): Likewise.
2341 (replace(size_type, size_type, __sv_type, size_type, size_type)):
2343 (replace(const_iterator, const_iterator, __sv_type)): Likewise.
2344 (find(__sv_type, size_type)): Likewise.
2345 (rfind(__sv_type, size_type)): Likewise.
2346 (find_first_of(__sv_type, size_type)): Likewise.
2347 (find_last_of(__sv_type, size_type)): Likewise.
2348 (find_first_not_of(__sv_type, size_type)): Likewise.
2349 (find_last_not_of(__sv_type, size_type)): Likewise.
2350 (compare(__sv_type)): Likewise.
2351 (compare(size_type, size_type, __sv_type)): Likewise.
2352 (compare(size_type, size_type, __sv_type, size_type, size_type)):
2354 * include/bits/string_view.tcc: New.
2355 * include/std/string_view: Likewise.
2356 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
2357 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
2358 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
2360 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
2362 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
2364 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
2366 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
2368 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
2370 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
2372 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
2374 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
2376 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
2378 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
2380 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
2382 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
2383 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
2384 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
2385 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
2386 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
2387 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
2388 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
2389 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
2390 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
2391 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
2393 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
2395 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
2397 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
2399 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
2401 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
2403 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
2405 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
2407 * testsuite/21_strings/basic_string_view/include.cc: Likewise.
2408 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
2409 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
2410 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
2411 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
2413 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
2415 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
2417 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
2419 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
2421 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
2423 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
2425 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
2427 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
2429 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
2431 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
2433 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
2435 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
2437 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
2439 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
2441 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
2443 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
2445 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
2447 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
2449 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
2451 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
2453 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
2455 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
2457 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
2459 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
2461 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
2463 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
2465 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
2467 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
2469 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
2471 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
2473 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
2475 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
2477 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
2478 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
2480 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
2482 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
2484 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
2486 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
2488 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
2490 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
2492 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
2494 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
2496 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
2497 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
2499 2016-07-27 Jonathan Wakely <jwakely@redhat.com>
2501 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
2503 2016-07-25 Georeth Chow <georeth2010@gmail.com>
2505 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
2506 _S_concat enumerator.
2507 * testsuite/ext/rope/6.cc: New test.
2509 2016-07-25 Jonathan Wakely <jwakely@redhat.com>
2511 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
2512 std::mt19937, std::thread and std::atomic to simplify test.
2513 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
2515 2016-07-22 Jonathan Wakely <jwakely@redhat.com>
2518 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
2519 (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
2520 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
2521 * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
2522 * testsuite/23_containers/set/allocator/71964.cc: New test.
2524 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
2525 delete[] instead of delete.
2527 2016-07-21 Jonathan Wakely <jwakely@redhat.com>
2529 * include/experimental/propagate_const (propagate_const::__t): Rename
2530 to _M_t and remove comment. Qualify std::move and std::forward.
2531 * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
2533 * testsuite/23_containers/vector/zero_sized_allocations.cc:
2534 Define sized deallocation function.
2535 * testsuite/util/testsuite_new_operators.h:
2536 (operator delete(void*, const std::nothrow_t&)): Define nothrow
2537 deallocation function.
2539 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
2540 reads past the end of strings.
2541 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
2543 * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
2544 invalid array accesses.
2545 * testsuite/experimental/string_view/operations/compare/char/1.cc:
2546 Fix read past the end of string.
2547 * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
2549 * testsuite/24_iterators/container_access.cc: Fix missing returns.
2550 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
2552 * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
2553 leak) memory for arguments to placement delete.
2554 * testsuite/20_util/addressof/1.cc: Don't leak memory.
2555 * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
2556 * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
2559 2016-07-20 Jonathan Wakely <jwakely@redhat.com>
2561 * doc/xml/manual/intro.xml: Document DR 2684 status.
2562 * doc/html/*: Regenerate.
2564 * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
2565 (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
2566 (atomic_uint64_t): Define (LWG 2441).
2567 * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
2569 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
2571 * doc/xml/manual/intro.xml: Document DR 2441 status.
2573 * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
2574 to use perfect forwarding (LWG 2328).
2575 * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
2576 * doc/xml/manual/intro.xml: Document DR 2328 status.
2578 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
2579 static objects for catching nullptr as pointer to member types.
2581 2016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
2583 Clean up optional's comments.
2584 * include/std/optional: Remove incorrect section headers
2585 from comments when redundant, replace bare section
2586 headers with more descriptive comments.
2588 2016-07-15 Jonathan Wakely <jwakely@redhat.com>
2590 * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
2591 * include/bits/move.h: Likewise.
2592 * include/bits/postypes.h: Likewise.
2593 * include/debug/bitset: Likewise.
2594 * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
2595 * include/ext/string_conversions.h: Change C++0x to __cxx11 in
2597 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
2598 * testsuite/util/thread/all.h: Likewise.
2600 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
2604 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
2605 nullptr match handlers of pointer type.
2607 2016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
2609 Implement C++17 P0025 clamp.
2610 * include/bits/algorithmfwd.h: Declare clamp overloads.
2611 * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp.
2612 * testsuite/25_algorithms/clamp/1.cc: New test.
2613 * testsuite/25_algorithms/clamp/2.cc: New test.
2614 * testsuite/25_algorithms/clamp/constexpr.cc: New test.
2615 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
2617 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
2620 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
2622 Fix the constraints for any's assignment operator template to properly
2623 reject assignment from a non-copyable lvalue.
2624 * include/std/any (operator=(_ValueType&&)): Constrain the decayed
2625 type for is_copy_constructible,
2626 * testsuite/20_util/any/requirements.cc: Add a test for
2627 non-copyable lvalues.
2629 2016-07-14 Jonathan Wakely <jwakely@redhat.com>
2631 * include/experimental/functional: Include <parallel/algorithm> in
2634 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
2638 * include/bits/forward_list.h (forward_list): Update doxygen comments
2639 to reflect allocator propagation semantics. Remove ambiguous
2640 statements about data being lost.
2641 * include/bits/stl_deque.h (deque): Likewise.
2642 * include/bits/stl_list.h (list): Likewise.
2643 * include/bits/stl_map.h (map): Likewise.
2644 * include/bits/stl_multimap.h (multimap): Likewise.
2645 * include/bits/stl_multiset.h (multiset): Likewise.
2646 * include/bits/stl_set.h (set): Likewise.
2647 * include/bits/stl_vector.h (vector): Likewise.
2648 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
2650 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
2653 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
2655 Implement P0032R3, Homogeneous interface for variant, any and optional,
2656 for the parts concerning any and optional.
2657 * include/std/any (_Storage()): Make constexpr and have it
2659 (any()): Make constexpr.
2660 (any(const any&)): Adjust.
2661 (any(any&&)): Likewise.
2662 (__any_constructible_t): New.
2663 (any(_ValueType&&)): Constrain.
2664 (any(in_place_type_t<_Tp>, _Args&&...)): New.
2665 (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
2668 (operator=(const any&)): Likewise.
2669 (operator=(any&&)): Likewise.
2670 (operator=(_ValueType&&)): Constrain.
2671 (emplace(_Args&&...)): New.
2672 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
2675 (swap(any&)): Adjust.
2679 (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
2680 (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
2681 (make_any(_Args&&...)): Likewise.
2682 (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
2683 * include/std/optional (in_place_t, in_place): Remove.
2684 (bad_optional_access): Add a comment referring to LEWG 72.
2685 (emplace(_Args&&...)): Constrain.
2687 (reset()): Likewise.
2688 (make_optional(_Args&&...)): Likewise.
2689 (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
2690 * include/std/utility (in_place_tag): New.
2691 (__in_place, __in_place_type, __in_place_index): Likewise.
2692 (in_place_t, in_place_type_t, in_place_index_t): Likewise.
2693 (in_place(__in_place*)): Likewise.
2694 (in_place(__in_place_type<_Tp>*)): Likewise.
2695 (in_place(__in_place_index<_Idx>*)): Likewise.
2696 * testsuite/20_util/any/assign/1.cc: Adjust.
2697 * testsuite/20_util/any/assign/emplace.cc: New.
2698 * testsuite/20_util/any/assign/self.cc: Adjust.
2699 * testsuite/20_util/any/cons/1.cc: Likewise.
2700 * testsuite/20_util/any/cons/in_place.cc: New.
2701 * testsuite/20_util/any/make_any.cc: Likewise.
2702 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
2703 * testsuite/20_util/any/misc/swap.cc: Likewise.
2704 * testsuite/20_util/any/modifiers/1.cc: Likewise.
2705 * testsuite/20_util/any/requirements.cc: New.
2706 * testsuite/20_util/in_place/requirements.cc: Likewise.
2707 * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
2708 * testsuite/20_util/optional/in_place.cc: Likewise.
2709 * testsuite/20_util/optional/make_optional.cc: Add tests for
2710 the new overloads of make_optional.
2712 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
2714 Implement P0307R2, Making Optional Greater Equal Again.
2715 * include/experimental/optional (_Has_addressof): Fix the comment.
2716 * include/std/optional (_Has_addressof): Likewise.
2717 (operator=(_Up&&)): Constrain.
2718 (operator=(const optional<_Up>&)): Likewise.
2719 (operator=(optional<_Up>&&)): Likewise.
2720 (__optional_relop_t): New.
2721 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
2722 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
2723 Constrain and make transparent.
2724 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
2725 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
2726 Constrain and make transparent.
2727 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
2728 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
2729 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
2730 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
2731 (operator!=(const optional<_Tp>&, _Tp const&)):
2732 Constrain and make transparent.
2733 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
2734 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
2735 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
2736 (operator>(const optional<_Tp>&, const _Tp&)):
2737 Constrain and make transparent.
2738 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
2739 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
2740 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
2741 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
2742 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
2743 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
2744 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
2745 * testsuite/20_util/optional/relops/1.cc: Likewise.
2746 * testsuite/20_util/optional/relops/2.cc: Likewise.
2747 * testsuite/20_util/optional/relops/3.cc: Likewise.
2748 * testsuite/20_util/optional/relops/4.cc: Likewise.
2749 * testsuite/20_util/optional/requirements.cc: Add tests to verify
2750 that optional's relops are transparent and don't synthesize
2751 operators. Also test that assignment sfinaes.
2753 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
2756 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
2757 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
2758 Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
2759 on _GLIBCXX_ASSERTIONS.
2760 * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
2761 Include <unistd.h> for sleep.
2762 * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
2763 * include/parallel/merge.h: Likewise.
2764 * include/parallel/multiway_merge.h: Likewise.
2765 * include/parallel/partition.h: Likewise.
2766 * include/parallel/queue.h: Likewise.
2767 * include/parallel/sort.h: Likewise.
2768 * testsuite/25_algorithms/headers/algorithm/
2769 parallel_algorithm_assert.cc: New.
2771 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
2772 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
2773 Forward to different overload.
2775 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
2778 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
2780 Revert "Add non-const overload of std::string::data()".
2782 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
2784 Implement P0307R2, Making Optional Greater Equal Again.
2785 * include/experimental/optional (_Has_addressof): Fix the comment.
2786 * include/std/optional (_Has_addressof): Likewise.
2787 (operator=(_Up&&)): Constrain.
2788 (operator=(const optional<_Up>&)): Likewise.
2789 (operator=(optional<_Up>&&)): Likewise.
2790 (__optional_relop_t): New.
2791 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
2792 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
2793 Constrain and make transparent.
2794 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
2795 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
2796 Constrain and make transparent.
2797 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
2798 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
2799 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
2800 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
2801 (operator!=(const optional<_Tp>&, _Tp const&)):
2802 Constrain and make transparent.
2803 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
2804 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
2805 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
2806 (operator>(const optional<_Tp>&, const _Tp&)):
2807 Constrain and make transparent.
2808 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
2809 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
2810 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
2811 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
2812 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
2813 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
2814 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
2815 * testsuite/20_util/optional/relops/1.cc: Likewise.
2816 * testsuite/20_util/optional/relops/2.cc: Likewise.
2817 * testsuite/20_util/optional/relops/3.cc: Likewise.
2818 * testsuite/20_util/optional/relops/4.cc: Likewise.
2819 * testsuite/20_util/optional/requirements.cc: Add tests to verify
2820 that optional's relops are transparent and don't synthesize
2821 operators. Also test that assignment sfinaes.
2823 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
2825 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
2827 (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
2828 instead of _M_data().
2829 (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
2831 (append(const basic_string&)): Likewise.
2832 (append(const basic_string&, size_type, size_type)): Likewise.
2833 (assign(const basic_string&, size_type, size_type)): Likewise.
2834 (insert(size_type, const basic_string&)): Likewise.
2835 (insert(size_type, const basic_string&, size_type, size_type)):
2837 (replace(size_type, size_type, const basic_string&, size_type,
2838 size_type)): Likewise.
2839 (replace(__const_iterator, __const_iterator, const basic_string&)):
2841 (c_str(), data()): Use c_str() instead of _M_data().
2842 (data()): Add non-const overload as per LWG 2391 and P0272R1.
2843 (compare(const basic_string&)): Use data() instead of _M_data().
2844 [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
2845 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
2846 Pass raw pointers to _S_copy.
2847 (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
2849 (find(const _CharT*, size_type, size_type)): Use data instead of
2851 * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
2852 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
2853 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
2855 2016-07-12 Jonathan Wakely <jwakely@redhat.com>
2857 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
2858 * doc/xml/manual/intro.xml: Document DR 2458 status.
2859 * doc/html*: Regenerate.
2861 * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
2862 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
2863 Only include <array>.
2864 * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
2866 * doc/xml/manual/intro.xml: Document LWG 2212 support.
2867 * doc/html*: Regenerate.
2869 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
2870 Add testcase from LWG 2164.
2872 2016-07-11 François Dumont <fdumont@gcc.gnu.org>
2874 * include/bits/stl_vector.h (push_back(const value_type&)): Forward
2875 to _M_realloc_insert.
2876 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
2877 (_M_realloc_insert): Declare new function.
2878 (_M_emplace_back_aux): Remove definition.
2879 * include/bits/vector.tcc (emplace_back(_Args...)):
2880 Use _M_realloc_insert.
2881 (insert(const_iterator, const value_type&)): Likewise.
2882 (_M_insert_rval, _M_emplace_aux): Likewise.
2883 (_M_emplace_back_aux): Remove declaration.
2884 (_M_realloc_insert): Define.
2885 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
2886 Adjust expected results for emplacing an lvalue with reallocation.
2888 2016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
2890 Implement std::optional.
2891 * include/Makefile.am: Add optional to exported headers.
2892 * include/Makefile.in: Likewise.
2893 * include/std/optional: New.
2894 * testsuite/20_util/optional/typedefs.cc: Likewise.
2895 * testsuite/20_util/optional/relops/2.cc: Likewise.
2896 * testsuite/20_util/optional/relops/3.cc: Likewise.
2897 * testsuite/20_util/optional/relops/4.cc: Likewise.
2898 * testsuite/20_util/optional/relops/5.cc: Likewise.
2899 * testsuite/20_util/optional/relops/1.cc: Likewise.
2900 * testsuite/20_util/optional/relops/6.cc: Likewise.
2901 * testsuite/20_util/optional/nullopt.cc: Likewise.
2902 * testsuite/20_util/optional/in_place.cc: Likewise.
2903 * testsuite/20_util/optional/make_optional.cc: Likewise.
2904 * testsuite/20_util/optional/assignment/2.cc: Likewise.
2905 * testsuite/20_util/optional/assignment/3.cc: Likewise.
2906 * testsuite/20_util/optional/assignment/4.cc: Likewise.
2907 * testsuite/20_util/optional/assignment/5.cc: Likewise.
2908 * testsuite/20_util/optional/assignment/1.cc: Likewise.
2909 * testsuite/20_util/optional/assignment/6.cc: Likewise.
2910 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
2911 * testsuite/20_util/optional/cons/default.cc: Likewise.
2912 * testsuite/20_util/optional/cons/move.cc: Likewise.
2913 * testsuite/20_util/optional/cons/value.cc: Likewise.
2914 * testsuite/20_util/optional/cons/copy.cc: Likewise.
2915 * testsuite/20_util/optional/requirements.cc: Likewise.
2916 * testsuite/20_util/optional/observers/2.cc: Likewise.
2917 * testsuite/20_util/optional/observers/3.cc: Likewise.
2918 * testsuite/20_util/optional/observers/4.cc: Likewise.
2919 * testsuite/20_util/optional/observers/5.cc: Likewise.
2920 * testsuite/20_util/optional/observers/1.cc: Likewise.
2921 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
2922 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
2923 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
2924 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
2925 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
2926 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
2927 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
2928 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
2929 * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
2930 * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
2931 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
2932 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
2933 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
2934 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
2935 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
2936 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
2937 * testsuite/20_util/optional/swap/1.cc: Likewise.
2939 2016-07-08 Jonathan Wakely <jwakely@redhat.com>
2941 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
2943 2016-07-07 Jonathan Wakely <jwakely@redhat.com>
2945 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
2946 * doc/html/*: Regenerate.
2948 2016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
2951 * include/Makefile.am: Add any and c++17_warning.h to exported headers.
2952 * include/Makefile.in: Likewise.
2953 * include/std/any: New.
2954 * testsuite/20_util/any/assign/1.cc: Likewise.
2955 * testsuite/20_util/any/assign/2.cc: Likewise.
2956 * testsuite/20_util/any/assign/self.cc: Likewise.
2957 * testsuite/20_util/any/cons/1.cc: Likewise.
2958 * testsuite/20_util/any/cons/2.cc: Likewise.
2959 * testsuite/20_util/any/cons/aligned.cc: Likewise.
2960 * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
2961 * testsuite/20_util/any/misc/any_cast.cc: Likewise.
2962 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
2963 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
2964 * testsuite/20_util/any/misc/swap.cc: Likewise.
2965 * testsuite/20_util/any/modifiers/1.cc: Likewise.
2966 * testsuite/20_util/any/observers/type.cc: Likewise.
2967 * testsuite/20_util/any/typedefs.cc: Likewise.
2969 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
2971 Add a new header for diagnosing the use of C++17 facilities
2973 * include/bits/c++17_warning.h: New.
2975 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
2977 Implement LWG 2451, optional<T> should 'forward' T's
2978 implicit conversions.
2979 * include/experimental/optional (__is_optional_impl, __is_optional):
2981 (optional()): Make constexpr and default.
2982 (optional(_Up&&), optional(const optional<_Up>&),
2983 optional(optional<_Up>&& __t): New.
2984 (operator=(_Up&&)): Constrain.
2985 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
2986 * testsuite/experimental/optional/cons/value.cc:
2987 Add tests for the functionality added by LWG 2451.
2988 * testsuite/experimental/optional/cons/value_neg.cc: New.
2990 2016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
2993 any_cast doesn't work with rvalue reference targets and cannot
2994 move with a value target.
2995 * include/experimental/any (any(_ValueType&&)): Constrain and
2996 add an overload that doesn't forward.
2997 (any_cast(any&&)): Constrain and add an overload that moves.
2998 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
2999 the functionality added by LWG 2509.
3001 2016-07-04 François Dumont <fdumont@gcc.gnu.org>
3003 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
3005 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
3008 2016-07-04 Jonathan Wakely <jwakely@redhat.com>
3010 * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
3011 Define inline. Forward to _M_emplace_aux.
3012 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
3013 (_M_insert_rval, _M_emplace_aux): Declare new functions.
3014 (_Temporary_value): New RAII type using allocator to construct/destroy.
3015 (_S_insert_aux_assign): Remove.
3016 (_M_insert_aux): Make non-variadic.
3017 * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
3018 Use _Temporary_value.
3019 (emplace(const_iterator, _Args&&...)): Remove definition.
3020 (_M_insert_rval, _M_emplace_aux): Define.
3021 (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
3022 (_M_fill_insert): Use _Temporary_value.
3023 * testsuite/23_containers/vector/allocator/construction.cc: New test.
3024 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
3025 Adjust expected results for emplacing an lvalue with reallocation.
3026 * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
3027 expected results to account for construction/destruction of temporary
3029 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
3031 2016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
3034 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
3035 Call remove_all for children of a directory.
3036 * testsuite/experimental/filesystem/operations/create_directories.cc:
3039 2016-07-02 François Dumont <fdumont@gcc.gnu.org>
3041 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
3042 dg-error line numbers.
3043 * testsuite/23_containers/array/tuple_interface/
3044 tuple_element_debug_neg.cc: Likewise.
3045 * testsuite/25_algorithms/lexicographical_compare/debug/
3046 irreflexive_neg.cc: Remove.
3048 2016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
3050 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
3051 than specific target.
3053 2016-06-27 François Dumont <fdumont@gcc.gnu.org>
3056 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
3059 2016-06-23 François Dumont <fdumont@gcc.gnu.org>
3061 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
3064 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3066 * configure.host: Remove mep-* support.
3068 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3070 * configure: Regenerate.
3071 * configure.host: Remove support for knetbsd.
3072 * crossconfig.m4: Likewise.
3074 2016-06-20 François Dumont <fdumont@gcc.gnu.org>
3077 * include/tr1/hashtable_policy.h
3078 (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
3079 dereferenceable to avoid check on lower_bound result.
3080 (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
3081 (_Prime_rehash_policy::_M_need_rehash): Likewise.
3082 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
3083 Always return a value greater than input value. Set _M_next_resize to
3084 max value when reaching highest prime number.
3085 * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
3087 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
3088 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
3090 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
3091 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
3094 2016-06-17 Jonathan Wakely <jwakely@redhat.com>
3097 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
3098 Remove irreflexive checks.
3099 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
3100 binary_search): Likewise.
3101 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
3102 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
3103 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
3104 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
3105 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
3106 Add constructor from array.
3108 2016-06-16 François Dumont <fdumont@gcc.gnu.org>
3110 * include/debug/debug.h
3111 (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
3112 (__glibcxx_requires_subscript): Move...
3113 * include/debug/assertions.h: ...here and add __builtin_expect.
3114 (_GLIBCXX_DEBUG_ONLY): Remove ; value.
3115 * include/bits/stl_deque.h
3116 (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
3117 (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
3118 (std::deque<>::back()): Likewise.
3119 (std::deque<>::pop_front()): Likewise.
3120 (std::deque<>::pop_back()): Likewise.
3121 (std::deque<>::swap(deque&)): Add allocator check.
3122 * include/bits/stl_vector.h
3123 (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
3124 (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
3125 (std::vector<>::back()): Likewise.
3126 (std::vector<>::pop_back()): Likewise.
3127 (std::vector<>::swap(vector&)): Add allocator check.
3129 2016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
3131 Provide swappable traits (p0185r1)
3132 * include/std/type_traits (is_swappable, is_nothrow_swappable,
3133 is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
3134 is_nothrow_swappable_v, is_swappable_with_v,
3135 is_nothrow_swappable_with_v): New.
3136 * include/bits/stl_pair.h: Use it as per p0185r1.
3137 * include/bits/stl_queue.h: Likewise.
3138 * include/bits/stl_stack.h: Likewise.
3139 * include/bits/unique_ptr.h: Likewise.
3140 * include/std/tuple: Likewise.
3141 * include/std/array: Likewise. Fix zero-size member swap.
3142 * include/bits/hashtable.h: Use __and_.
3143 * testsuite/20_util/is_nothrow_swappable/requirements/
3144 explicit_instantiation.cc: Change test options to std=gnu++17.
3145 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
3147 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
3148 * testsuite/20_util/is_swappable/requirements/
3149 explicit_instantiation.cc: Likewise.
3150 * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
3151 * testsuite/20_util/is_swappable/value.cc: Likewise.
3152 * testsuite/20_util/is_nothrow_swappable/requirements/
3153 explicit_instantiation_ext.cc: New.
3154 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
3156 * testsuite/20_util/is_nothrow_swappable/value.h: New.
3157 * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
3158 * testsuite/20_util/is_nothrow_swappable_with/requirements/
3159 explicit_instantiation.cc: New.
3160 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
3162 * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
3163 * testsuite/20_util/is_swappable/requirements/
3164 explicit_instantiation_ext.cc: New.
3165 * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
3166 * testsuite/20_util/is_swappable/value.h: New.
3167 * testsuite/20_util/is_swappable/value_ext.cc: New.
3168 * testsuite/20_util/is_swappable_with/requirements/
3169 explicit_instantiation.cc: New.
3170 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
3171 * testsuite/20_util/is_swappable_with/value.cc: New.
3172 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
3173 dg-error line numbers.
3174 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
3177 2016-06-16 Jonathan Wakely <jwakely@redhat.com>
3179 * include/std/array: Remove trailing whitespace.
3180 * include/std/atomic: Likewise.
3181 * include/std/bitset: Likewise.
3182 * include/std/chrono: Likewise.
3183 * include/std/complex: Likewise.
3184 * include/std/condition_variable: Likewise.
3185 * include/std/fstream: Likewise.
3186 * include/std/functional: Likewise.
3187 * include/std/future: Likewise.
3188 * include/std/iomanip: Likewise.
3189 * include/std/iosfwd: Likewise.
3190 * include/std/istream: Likewise.
3191 * include/std/limits: Likewise.
3192 * include/std/ratio: Likewise.
3193 * include/std/scoped_allocator: Likewise.
3194 * include/std/sstream: Likewise.
3195 * include/std/stdexcept: Likewise.
3196 * include/std/string: Likewise.
3197 * include/std/system_error: Likewise.
3198 * include/std/thread: Likewise.
3199 * include/std/tuple: Likewise.
3200 * include/std/type_traits: Likewise.
3201 * include/std/utility: Likewise.
3202 * include/std/valarray: Likewise.
3203 * include/std/vector: Likewise.
3205 * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
3206 new overloaded functions.
3207 * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
3208 to avoid creating a redundant temporary.
3209 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
3212 2016-06-15 François Dumont <fdumont@gcc.gnu.org>
3214 * include/bits/stl_deque.h
3215 (std::deque<>::operator=): Call _M_assign_aux.
3216 (std::deque<>::assign(initializer_list<>)): Likewise.
3217 (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
3218 (std::deque<>::insert(const_iterator, initializer_list<>)):
3219 Call _M_range_insert_aux.
3220 (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
3222 (std::deque<>::_M_fill_assign): Call _M_fill_insert.
3223 (std::deque<>::_M_move_assign2): Call _M_assign_aux.
3224 * include/bits/deque.tcc
3225 (std::deque<>::operator=): Call _M_range_insert_aux.
3226 (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
3228 * include/bits/stl_vector.h
3229 (std::vector<>::operator=): Call _M_assign_aux.
3230 (std::vector<>::assign(initializer_list<>)): Likewise.
3231 (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
3232 (std::vector<>::insert(const_iterator, initializer_list<>)):
3233 Call _M_range_insert.
3234 * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
3236 2016-06-07 François Dumont <fdumont@gcc.gnu.org>
3238 * include/std/tuple (_Head_base<>): Default specialization condition at
3241 2016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
3243 Support allocators in tuples of zero size.
3244 * include/std/tuple (tuple<>::tuple(),
3245 tuple<>::tuple(allocator_arg_t, const _Alloc&),
3246 tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
3247 * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
3249 2016-06-06 Jonathan Wakely <jwakely@redhat.com>
3252 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
3253 Add or remove permissions according to perms argument.
3254 * testsuite/experimental/filesystem/operations/permissions.cc: New
3257 2016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
3259 Protect allocator-overloads of tuple-from-tuple constructors
3260 from cases that would create dangling references.
3261 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
3262 const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
3263 tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
3264 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
3266 2016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
3268 * doc/xml/manual/backwards_compatibility.xml: Adjust
3269 lists.debian.org link to https.
3270 * doc/html/manual/backwards.html: Regenerate.
3272 2016-05-27 Jonathan Wakely <jwakely@redhat.com>
3274 * doc/xml/manual/abi.xml: Adjust URL to use https.
3275 * doc/html/manual/*: Regenerate.
3277 2016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
3280 * include/std/tuple (_TMC): Add a check for _NotSameTuple.
3281 * include/std/tuple (tuple(_UElements&&...)): Remove the separate
3282 check for _NotSameTuple.
3283 * include/std/tuple (_TMCT): New.
3284 * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
3285 * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
3286 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
3287 const tuple<_UElements...>&)): Likewise.
3288 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
3289 tuple<_UElements...>&&)): Likewise.
3290 * testsuite/20_util/tuple/cons/66338.cc: New.
3292 2016-05-25 Jonathan Wakely <jwakely@redhat.com>
3294 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
3295 * configure: Regenerate.
3296 * config.h.in: Regenerate.
3298 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
3299 * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
3300 Remove const qualification on function. Replace
3301 _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
3302 (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
3303 (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
3305 2016-05-24 François Dumont <fdumont@gcc.gnu.org>
3307 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
3308 * include/bits/hashtable_policy.h
3309 (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
3310 having load factor management.
3311 (_Mask_range_hashing): New.
3313 (_Power2_rehash_policy): New.
3314 (_Inserts<>): Remove last template parameter, _Unique_keys, so that
3315 partial specializations only depend on whether iterators are constant
3317 * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
3318 test new hash policy.
3319 * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
3321 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
3323 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
3325 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
3327 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
3329 * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
3330 using the new hash policy.
3331 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
3333 2016-05-24 Jonathan Wakely <jwakely@redhat.com>
3335 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
3337 2016-05-23 François Dumont <fdumont@gcc.gnu.org>
3339 * include/debug/safe_iterator.h
3340 (_Safe_iterator<>::operator->()): Implement using underlying iterator
3342 * include/debug/safe_local_iterator.h
3343 (_Safe_local_iterator<>::operator->()): Likewise.
3345 2016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
3347 * testsuite/experimental/memory_resource/1.cc: Add required argument
3348 to dg-require-atomic-builtins.
3350 2016-05-13 Jonathan Wakely <jwakely@redhat.com>
3353 * include/debug/bitset: Add #pragma GCC system_header.
3354 * include/debug/deque: Likewise.
3355 * include/debug/list: Likewise.
3356 * include/debug/map: Likewise.
3357 * include/debug/set: Likewise.
3358 * include/debug/string: Likewise.
3359 * include/debug/unordered_map: Likewise.
3360 * include/debug/unordered_set: Likewise.
3361 * include/debug/vector: Likewise.
3362 * include/debug/functions.h: Adjust whitespace.
3364 2016-05-12 Jonathan Wakely <jwakely@redhat.com>
3367 * testsuite/experimental/memory_resource/1.cc: Require atomics.
3369 2016-05-11 Jonathan Wakely <jwakely@redhat.com>
3372 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
3373 exception constructors with __sso_string parameters.
3375 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
3377 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
3378 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
3379 Test begin and end functions.
3380 * testsuite/experimental/filesystem/iterators/
3381 recursive_directory_iterator.cc: Likewise.
3384 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
3385 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
3387 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
3388 Overload operator* to move from rvalues.
3391 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
3392 * testsuite/experimental/filesystem/operations/create_directory.cc:
3396 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
3397 base path to exception.
3398 * testsuite/experimental/filesystem/operations/canonical.cc: Test
3399 paths contained in exception.
3401 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
3405 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
3407 (directory_iterator::operator++(int)): Return proxy.
3408 (recursive_directory_iterator::operator++(int)): Likewise.
3409 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
3410 Test post-increment.
3411 * testsuite/experimental/filesystem/iterators/
3412 recursive_directory_iterator.cc: Likewise.
3414 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
3417 * testsuite/experimental/filesystem/iterators/
3418 recursive_directory_iterator.cc: Fix test02 to not call member
3419 functions on invalid iterator, and use VERIFY not assert.
3421 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
3423 Avoid endless run-time recursion for copying single-element
3424 tuples where the element type is by-value constructible
3426 * include/std/tuple (_NotSameTuple): New.
3427 * include/std/tuple (tuple(_UElements&&...): Use it.
3428 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
3430 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
3433 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
3434 Initialize scalar member variables in default constructor.
3435 * testsuite/experimental/filesystem/iterators/
3436 recursive_directory_iterator.cc: Test default construction.
3438 2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3440 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
3442 2016-05-05 Jonathan Wakely <jwakely@redhat.com>
3444 * testsuite/experimental/filesystem/path/native/string.cc: Add
3445 dg-require-filesystem-ts directive.
3447 2016-05-04 Jonathan Wakely <jwakely@redhat.com>
3450 * include/experimental/memory_resource
3451 (__resource_adaptor_imp::do_allocate): Do not default-construct
3453 (__resource_adaptor_imp::do_deallocate): Likewise. Use
3454 allocator_traits to get pointer type.
3455 (__null_memory_resource::do_allocate): Remove unused parameters.
3456 (__null_memory_resource::do_deallocate): Likewise.
3457 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
3458 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
3459 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
3461 * testsuite/experimental/memory_resource/1.cc: Here.
3462 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
3463 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
3465 2016-04-29 Chris Gregory <czipperz@gmail.com>
3467 * config/*: Remove trailing whitespace.
3469 * testsuite/tr1/*: Likewise.
3470 * testsuite/util/*: Likewise.
3472 2016-04-28 Jonathan Wakely <jwakely@redhat.com>
3475 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
3477 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
3479 * include/std/atomic (atomic<_Tp>): Likewise.
3480 * include/std/shared_mutex (shared_lock): Likewise.
3481 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
3482 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
3483 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
3484 * testsuite/29_atomics/atomic/70766.cc: New test.
3485 * testsuite/30_threads/shared_lock/70766.cc: New test.
3487 * include/bits/hashtable_policy.h (__detail::_Insert_base,
3488 __detail::_Insert): Improve comments.
3490 2016-04-27 Jonathan Wakely <jwakely@redhat.com>
3493 * include/std/limits: Update comments about DRs.
3494 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
3495 numeric_limits<const volatile _Tp>): Define unconditionally.
3497 2016-04-24 Jonathan Wakely <jwakely@redhat.com>
3500 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
3501 static counter to return a different path on every call.
3503 2016-04-22 Tim Shen <timshen@google.com>
3506 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
3507 Fix the match_not_bow and match_not_eow behavior.
3508 * testsuite/28_regex/regression.cc: Add testcase.
3510 2016-04-20 Jonathan Wakely <jwakely@redhat.com>
3513 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
3514 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
3516 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
3519 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
3520 Override endianness bit in mode.
3521 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
3522 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
3523 that little_endian mode is ignored.
3524 * testsuite/experimental/filesystem/path/native/string.cc: New test.
3527 * src/filesystem/ops.cc (close_fd): New function.
3528 (do_copy_file): Set permissions before copying file contents. Check
3529 result of closing file descriptors. Don't copy streambuf when file
3531 (copy(const path&, const path&, copy_options, error_code&)): Use
3532 lstat for source file when copy_symlinks is set.
3533 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
3535 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
3536 operator~ operator&=, operator|=, operator^=): Add noexcept to
3537 overloaded operators for copy_options, perms and directory_options.
3538 * src/filesystem/ops.cc (make_file_type, make_file_status,
3539 is_not_found_errno, file_time): Add noexcept.
3541 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
3543 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
3545 2016-04-18 Jonathan Wakely <jwakely@redhat.com>
3548 * include/bits/random.h: Reword static assertion messages to state
3549 positive conditions.
3550 * include/bits/random.tcc: Likewise.
3551 * include/bits/uniform_int_dist.h: Likewise.
3552 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
3555 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
3557 * config/cpu/sh/atomicity.h: Fix typo in comment.
3560 * include/std/thread (operator<, operator==): Move definitions to
3562 * testsuite/30_threads/thread/id/70294.cc: New test.
3564 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
3565 -Wno-pedantic to dg-options.
3566 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
3567 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
3569 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
3570 Remove extra semi-colon.
3571 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
3572 Always supply second argument to static_assert.
3573 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
3575 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
3577 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
3578 * testsuite/29_atomics/atomic/60695.cc: Likewise.
3579 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
3580 alignof when operand is an object not a type.
3581 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
3582 * testsuite/decimal/make-decimal.cc: Likewise.
3583 * testsuite/experimental/type_traits/value.cc: Always supply second
3584 argument to static_assert.
3585 * testsuite/util/testsuite_common_types.h: Use __extension__ for
3588 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
3590 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
3591 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
3592 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
3593 Likewise. Add licence and change to compile-only test.
3595 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
3597 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
3599 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
3602 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
3604 * include/bits/specfun.h: Trivial comment misspelling.
3606 2016-04-14 Jason Merrill <jason@redhat.com>
3608 Revert Jonathan's empty ABI change from yesterday.
3610 2016-04-13 Martin Sebor <msebor@redhat.com>
3613 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
3614 upper bound is positive.
3616 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
3618 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
3619 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
3620 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
3621 of functions taking empty structs by value. Add a template parameter
3622 to overloads without hints. Rename overloads with hints to
3624 (_Hashtable::_M_erase(true_type, const_iterator),
3625 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
3626 by reordering parameters.
3627 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
3628 _M_emplace_hint instead of _M_emplace.
3629 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
3630 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
3631 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
3632 __shared_ptr): Likewise.
3633 * include/bits/stl_algo.h (replace_if): Likewise.
3634 * include/bits/stl_pair.h (piecewise_construct_t,
3635 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
3636 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
3637 __uses_alloc0): Likewise.
3638 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
3639 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
3640 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
3641 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
3642 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
3643 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
3644 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
3646 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
3648 Document C++17/TR29124 C++ Special Math Functions.
3649 * include/bits/specfun.h: Add Doxygen markup.
3651 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
3653 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
3655 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
3657 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
3658 * src/Makefile.in: Regenerate.
3660 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
3663 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
3664 __atomic_fetch_add for bool.
3665 * configure: Regenerate.
3667 * testsuite/30_threads/thread/70503.cc: Require -static to work.
3670 * src/c++11/thread.cc (execute_native_thread_routine,
3671 execute_native_thread_routine_compat): Give internal linkage.
3672 * testsuite/30_threads/thread/70503.cc: New test.
3674 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
3677 * include/bits/stl_pair.h (_ConstructiblePair,
3678 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
3679 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
3680 for same-type cases.
3681 * testsuite/20_util/pair/70437.cc: New.
3683 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
3686 * config/abi/pre/gnu.ver: Add new symbol.
3687 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
3688 * testsuite/18_support/free_eh_pool.cc: New test.
3690 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
3692 * include/Makefile.am (install-freestanding-headers): Add
3693 concept_check.h and move.h to the installed headers.
3694 * include/Makefile.in: Regenerated.
3695 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
3696 freestanding implementations.
3697 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
3698 that this macro has no effect for freestanding implementations.
3699 * doc/html/manual/using_macros.html: Likewise.
3701 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
3704 * include/experimental/tuple (__apply_impl): Qualify get and forward.
3706 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
3708 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
3709 * doc/html/*: Regenerate.
3712 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
3713 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
3714 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
3715 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
3716 trunc) [__cplusplus >= 201103L]: Import from namespace std.
3717 (fabs) [__cplusplus < 201103L]: Import from namespace std.
3718 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
3720 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
3721 namespace before including TR1 headers.
3722 * testsuite/tr1/headers/c++200x/math.cc: New test.
3724 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
3727 * include/c_global/cstdarg: Undefine __need___va_list.
3728 * include/c_global/cstddef: Undefine all kinds of __need_*.
3730 2016-02-16 Tim Shen <timshen@google.com>
3733 * include/bits/regex_scanner.h: Add different special character
3734 sets for grep and egrep regex.
3735 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
3736 * testsuite/28_regex/regression.cc: Add new testcase.
3738 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
3740 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
3741 added 'constexpr' in previous commit.
3742 * configure: Regenerate.
3745 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
3746 checks for all targets except *-*-solaris2.* and ensure we find the
3747 libc math.h header not our own.
3748 * configure: Regenerate.
3750 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
3752 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
3753 New file. Copied over from s390-linux-gnu.
3755 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
3758 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
3759 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
3760 * config.h.in: Regenerate.
3761 * configure: Regenerate.
3762 * testsuite/21_strings/c_strings/char/69626.cc: New.
3764 * doc/html/index.html: Regenerate.
3766 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
3767 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
3768 * doc/html/*: Regenerate.
3770 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
3773 * include/c_compatibility/math.h: Move header guards.
3774 * include/c_compatibility/stdlib.h: Likewise.
3776 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
3779 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
3781 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
3784 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
3785 isinf and isnan functions into two independent checks. Check on hpux.
3786 * config.h.in: Regenerate.
3787 * configure: Regenerate.
3788 * include/c_global/cmath (isinf(double), isnan(double)): Use
3789 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
3792 2016-01-27 Jakub Jelinek <jakub@redhat.com>
3794 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
3796 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
3799 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
3800 -ffp-contract=off, and -ffloat-store to disable excess precision.
3801 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
3804 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
3807 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
3808 random_access_iterator_tag>): Check is_move_assignable when moving.
3809 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
3811 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
3812 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
3813 * testsuite/25_algorithms/move/69478.cc: New.
3814 * testsuite/25_algorithms/move_backward/69478.cc: new.
3816 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
3818 * include/c_compatibility/stdlib.h: Include wide character related
3819 definitions only when they are available in cstdlib.
3821 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
3824 * include/Makefile.am: Add new header.
3825 * include/Makefile.in: Regenerate.
3826 * include/bits/random.h (uniform_int_distribution): Move to
3827 bits/uniform_int_dist.h.
3828 * include/bits/random.tcc (uniform_int_distribution::operator(),
3829 uniform_int_distribution::__generate_impl): Likewise.
3830 * include/bits/uniform_int_dist.h: New header.
3831 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
3832 <bits/uniform_int_dist.h> instead of <random>.
3833 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
3834 move_iterators/1.cc: Include correct header for uninitialized_copy.
3835 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
3836 move_iterators/1.cc: Likewise.
3837 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
3839 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
3841 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
3844 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
3846 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
3848 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
3849 * include/c_compatibility/math.h: Import the TR29124 functions
3850 into the global namespace.
3851 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
3852 xfail and make compile-only.
3853 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
3854 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
3855 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
3856 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
3857 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
3858 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
3859 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
3860 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
3861 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
3862 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
3863 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
3864 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
3865 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
3866 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
3867 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
3868 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
3869 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
3870 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
3871 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
3872 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
3874 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
3877 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
3878 define result_type for types which can be safely used with valarrays.
3879 * testsuite/26_numerics/valarray/69116.cc: New.
3882 * config/os/gnu-linux/os_defines.h: Define
3883 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
3884 * include/c_global/cmath (isinf, isnan): Check it.
3885 * doc/xml/manual/internals.xml: Document it.
3886 * doc/html/*: Regenerate.
3888 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
3891 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
3892 * include/ext/type_traits.h: Likewise.
3893 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
3894 for presence of C headers.
3895 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
3896 dg-error line number.
3897 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
3898 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
3899 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
3901 2016-01-20 Torvald Riegel <triegel@redhat.com>
3904 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
3906 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
3909 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
3910 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
3911 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
3912 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
3913 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
3914 Add using declarations.
3915 * testsuite/26_numerics/headers/cmath/60401.cc: New.
3918 * include/c_global/ccomplex: Ensure C++ language linkage.
3919 * include/c_global/cmath: Likewise.
3920 * include/c_global/cstdlib: Likewise.
3921 * include/c_global/ctgmath: Likewise.
3922 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
3924 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
3928 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
3929 --enable-cheaders=c_global configs.
3930 * include/Makefile.in: Regenerate.
3931 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
3932 test and allow inclusion from C files.
3933 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
3934 (at_quick_exit, quick_exit): Add using directives.
3935 * include/c_global/cmath: Use #include_next for math.h.
3936 * include/c_global/cstdlib: Use #include_next for stdlib.h.
3937 * testsuite/26_numerics/headers/cmath/14608.cc: New.
3938 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
3939 Remove xfail for most targets.
3940 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
3942 2016-01-18 Torvald Riegel <triegel@redhat.com>
3944 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
3945 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
3946 and move after its definition.
3947 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
3948 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
3949 __GXX_WEAK__, and only provide transactional clones if
3950 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
3953 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
3956 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
3959 * include/std/functional (_Function_base::_M_not_empty_function):
3960 Change overloads for pointers to take arguments by value.
3961 * testsuite/20_util/function/cons/57465.cc: Add tests for
3962 pointer-to-member cases.
3965 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
3966 Use macros for exception handling and fix unused parameter warning.
3968 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
3971 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
3973 2016-01-17 Torvald Riegel <triegel@redhat.com>
3975 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
3977 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
3979 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
3982 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
3985 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
3986 static assertion that type is constructible from the arguments.
3987 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
3988 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
3989 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
3992 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
3993 and isnan on AIX. Quote variables.
3994 * configure: Regenerate.
3996 2016-01-15 Torvald Riegel <triegel@redhat.com>
3998 * include/bits/basic_string.h (basic_string): Declare friends.
3999 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
4000 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
4001 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
4002 length_error, out_of_range, runtime_error, range_error,
4003 underflow_error, overflow_error): Declare members as transaction-safe.
4004 (logic_error, runtime_error): Declare friend functions.
4005 * libsupc++/exception (exception, bad_exception): Declare members as
4007 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
4008 transaction-safe members of exceptions and helper functions.
4009 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
4010 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
4011 (CXXABI_1.3.10): New.
4012 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
4013 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
4014 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
4015 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
4016 * include/Makefile.in: Regenerate.
4017 * config.h.in: Regenerate.
4018 * configure: Regenerate.
4019 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
4021 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
4023 * include/ext/random.tcc: Use __builtin_isfinite instead of
4026 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
4028 * include/bits/std_mutex.h: Fix Doxygen @file name.
4030 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
4031 Jonathan Wakely <jwakely@redhat.com>
4032 Florian Goth <CaptainSifff@gmx.de>
4034 Implement TR29124 C++ special Math Functions.
4035 * include/Makefile.am: Add new headers.
4036 * include/Makefile.in: Regenerate.
4037 * include/bits/specfun.h: New.
4038 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
4039 * include/tr1/bessel_function.tcc: Ditto.
4040 * include/tr1/beta_function.tcc: Ditto.
4041 * include/tr1/cmath: Ditto.
4042 * include/tr1/ell_integral.tcc: Ditto.
4043 * include/tr1/exp_integral.tcc: Ditto.
4044 * include/tr1/gamma.tcc: Ditto.
4045 * include/tr1/hypergeometric.tcc: Ditto.
4046 * include/tr1/legendre_function.tcc: Ditto.
4047 * include/tr1/modified_bessel_func.tcc: Ditto.
4048 * include/tr1/poly_hermite.tcc: Ditto.
4049 * include/tr1/poly_laguerre.tcc: Ditto.
4050 * include/tr1/riemann_zeta.tcc: Ditto.
4051 * include/tr1/special_function_util.h: Ditto.
4052 * testsuite/ext/special_functions/conf_hyperg: New.
4053 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
4054 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
4055 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
4056 * testsuite/ext/special_functions/hyperg: New.
4057 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
4058 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
4059 * testsuite/ext/special_functions/hyperg/compile.cc: New.
4060 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
4061 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
4062 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
4063 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
4064 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
4065 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
4066 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
4067 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
4068 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
4069 * testsuite/special_functions/03_beta/check_nan.cc: New.
4070 * testsuite/special_functions/03_beta/check_value.cc: New.
4071 * testsuite/special_functions/03_beta/compile.cc: New.
4072 * testsuite/special_functions/03_beta/compile_2.cc: New.
4073 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
4074 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
4075 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
4076 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
4077 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
4078 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
4079 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
4080 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
4081 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
4082 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
4083 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
4084 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
4085 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
4086 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
4087 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
4088 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
4089 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
4090 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
4091 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
4092 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
4093 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
4094 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
4095 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
4096 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
4097 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
4098 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
4099 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
4100 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
4101 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
4102 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
4103 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
4104 * testsuite/special_functions/11_ellint_1/compile.cc: New.
4105 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
4106 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
4107 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
4108 * testsuite/special_functions/12_ellint_2/compile.cc: New.
4109 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
4110 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
4111 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
4112 * testsuite/special_functions/13_ellint_3/compile.cc: New.
4113 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
4114 * testsuite/special_functions/14_expint/check_nan.cc: New.
4115 * testsuite/special_functions/14_expint/check_value.cc: New.
4116 * testsuite/special_functions/14_expint/compile.cc: New.
4117 * testsuite/special_functions/14_expint/compile_2.cc: New.
4118 * testsuite/special_functions/15_hermite/check_nan.cc: New.
4119 * testsuite/special_functions/15_hermite/check_value.cc: New.
4120 * testsuite/special_functions/15_hermite/compile.cc: New.
4121 * testsuite/special_functions/15_hermite/compile_2.cc: New.
4122 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
4123 * testsuite/special_functions/16_laguerre/check_value.cc: New.
4124 * testsuite/special_functions/16_laguerre/compile.cc: New.
4125 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
4126 * testsuite/special_functions/17_legendre/check_nan.cc: New.
4127 * testsuite/special_functions/17_legendre/check_value.cc: New.
4128 * testsuite/special_functions/17_legendre/compile.cc: New.
4129 * testsuite/special_functions/17_legendre/compile_2.cc: New.
4130 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
4131 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
4132 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
4133 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
4134 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
4135 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
4136 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
4137 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
4138 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
4139 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
4140 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
4141 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
4142 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
4143 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
4144 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
4145 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
4146 * testsuite/util/specfun_testcase.h: New.
4147 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
4148 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
4149 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
4150 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
4151 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
4152 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
4153 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
4155 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
4158 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
4159 and isnan functions.
4160 * config.h.in: Regenerate.
4161 * configure: Regenerate.
4162 * include/c_global/cmath (isinf(double), isnan(double))
4163 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
4164 * testsuite/26_numerics/headers/cmath/48891.cc: New.
4166 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4169 * configure.host (abi_baseline_pair): Use separate baseline for
4170 Solaris 11+ and Solaris 10 with gld.
4171 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
4172 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
4173 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
4175 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
4178 * include/std/type_traits: Following N4511, reimplement __is_swappable
4179 and __is_nothrow_swappable. Move __is_swappable to namespace std,
4180 adjust callers. Use __is_nothrow_swappable in swap.
4181 * include/bits/move.h: Use __is_nothrow_swappable in swap.
4182 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
4183 __is_swappable related tests.
4184 * testsuite/20_util/is_swappable/value.cc: New.
4185 * testsuite/20_util/is_swappable/requirements/
4186 explicit_instantiation.cc: New.
4187 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
4188 * testsuite/25_algorithms/swap/68877.cc: New.
4190 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
4192 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
4196 * include/std/functional (function::_Invoke): Remove, use result_of.
4197 (function::_Callable): Replace alias template with class template
4198 and use partial specialization instead of _NotSelf alias template.
4199 (function(_Functor)): Add "not self" constraint so that _Callable is
4200 not used while type is incomplete.
4201 * testsuite/20_util/function/69222.cc: New.
4203 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
4206 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
4207 Define partial specialization.
4208 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
4209 destroy members to std::allocator explicit specialization.
4211 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
4213 * testsuite/26_numerics/headers/cmath/
4214 c99_classification_macros_c++.cc: Rename to ...
4215 * testsuite/26_numerics/headers/cmath/
4216 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
4217 * testsuite/26_numerics/headers/cmath/
4218 c99_classification_macros_c++0x.cc: Rename to ...
4219 * testsuite/26_numerics/headers/cmath/
4220 c99_classification_macros_c++11.cc: Here.
4223 * include/bits/uses_allocator.h: Add missing include.
4225 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
4230 * include/bits/stl_iterator.h (back_insert_iterator,
4231 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
4232 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
4233 * include/std/future (__future::base::_State_baseV2::__setter):
4235 * include/std/scoped_allocator (__outermost): Likewise.
4236 * testsuite/20_util/scoped_allocator/69114.cc: New.
4237 * testsuite/20_util/uses_allocator/69114.cc: New.
4238 * testsuite/30_threads/promise/69106.cc: New.
4240 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
4243 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
4244 Remove _GLIBCXX_NOEXCEPT.
4245 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
4247 * include/Makefile.am: Adjust.
4248 * include/Makefile.in: Regenerate.
4249 * include/bits/mutex.h: Rename to bits/std_mutex.h.
4250 * include/std/condition_variable: Adjust include.
4251 * include/std/mutex: Likewise.
4253 2016-01-04 Jakub Jelinek <jakub@redhat.com>
4255 Update copyright years.
4257 Copyright (C) 2016 Free Software Foundation, Inc.
4259 Copying and distribution of this file, with or without modification,
4260 are permitted in any medium without royalty provided the copyright
4261 notice and this notice are preserved.