1 2017-05-24 Jonathan Wakely <jwakely@redhat.com>
3 * src/c++11/random.cc (random_device::_M_getentropy): Use __CHAR_BIT__
4 instead of fixed number of bits.
6 2017-05-24 Andreas Schwab <schwab@suse.de>
8 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
9 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
11 2017-05-23 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
12 Jonathan Wakely <jwakely@redhat.com>
15 * acinclude.m4: Bump libtool_VERSION.
16 * config/abi/pre/gnu.ver: Create GLIBCXX_3.4.24 with new symbol.
17 * config.h.in: Regenerate.
18 * configure: Regenerate.
19 * configure.ac: Add test for <linux/random.h>.
20 * doc/xml/manual/abi.xml: Document new library version.
21 * include/bits/random.h (random_device::entropy)
22 [_GLIBCXX_USE_RANDOM_TR1]: Add call to new _M_getentropy member.
23 (random_device::_M_getentropy): Declare.
24 * src/c++11/random.cc (random_device::_M_getentropy): Define.
25 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.24 to known
26 versions, and make it the latest version.
28 2017-05-23 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
31 * include/bits/locale_facets.tcc (num_get::_M_extract_int): Add
32 explicit conversion to avoid signed overflow.
34 2017-05-19 Jonathan Wakely <jwakely@redhat.com>
37 * include/bits/stl_algo.h (search): Add new overload for C++17.
38 * testsuite/25_algorithms/search/searcher.cc: New.
40 2017-05-18 Jonathan Wakely <jwakely@redhat.com>
43 * include/std/functional (_Mem_fn_traits_base): Add specializations
44 for noexcept member function types.
45 * testsuite/20_util/function_objects/mem_fn/80478.cc: New test.
47 2017-05-18 Jonathan Wakely <jwakely@redhat.com>
49 * doc/xml/manual/policy_data_structures.xml: Fix typo.
50 * doc/xml/manual/test_policy_data_structures.xml: Likewise.
51 * doc/html/*: Regenerate.
53 * doc/xml/manual/abi.xml: Document latest library versions.
54 * doc/xml/manual/build_hacking.xml: Document requirement to update
55 abi.xml when bumping library versions.
56 * doc/html/*: Regenerate.
58 2017-05-17 Jonathan Wakely <jwakely@redhat.com>
60 * include/bits/refwrap.h: Fix Doxygen warning.
61 * include/bits/specfun.h: Likewise.
62 * include/bits/std_function.h: Likewise.
63 * include/bits/stl_algo.h (set_union, set_intersection)
64 (set_difference, set_symmetric_difference): Add Doxygen @param tags
65 for output iterator parameters.
66 * include/bits/stl_iterator.h (inserter): Add Doxygen @param tag for
68 * include/std/mutex (try_lock, lock): Change Mutex to Lockable in
71 2017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
73 Implement new C++ intrinsics __is_assignable and __is_constructible.
74 * include/std/type_traits (__do_is_static_castable_impl): Remove.
75 (__is_static_castable_impl, __is_static_castable_safe): Likewise.
76 (__is_static_castable, __do_is_direct_constructible_impl): Likewise.
77 (__is_direct_constructible_impl): Likewise.
78 (__is_direct_constructible_new_safe): Likewise.
79 (__is_base_to_derived_ref, __is_lvalue_to_rvalue_ref): Likewise.
80 (__is_direct_constructible_ref_cast): Likewise.
81 (__is_direct_constructible_new, __is_direct_constructible): Likewise.
82 (__do_is_nary_constructible_impl): Likewise.
83 (__is_nary_constructible_impl, __is_nary_constructible): Likewise.
84 (__is_constructible_impl): Likewise.
85 (is_constructible): Call the intrinsic.
86 (__is_assignable_helper): Remove.
87 (is_assignable): Call the intrinsic.
88 (is_trivially_constructible): Likewise.
89 (__is_trivially_copy_constructible_impl): New.
90 (is_trivially_copy_constructible): Use it.
91 (__is_trivially_move_constructible_impl): New.
92 (is_trivially_move_constructible): Use it.
93 (is_trivially_assignable): Call the intrinsic.
94 (__is_trivially_copy_assignable_impl): New.
95 (is_trivially_copy_assignable): Use it.
96 (__is_trivially_move_assignable_impl): New.
97 (is_trivially_move_assignable): Use it.
98 (testsuite/20_util/declval/requirements/1_neg.cc): Adjust.
99 (testsuite/20_util/is_trivially_copy_assignable/value.cc):
101 (testsuite/20_util/is_trivially_copy_constructible/value.cc): Likewise.
102 (testsuite/20_util/is_trivially_move_assignable/value.cc): Likewise.
103 (testsuite/20_util/is_trivially_move_constructible/value.cc): Likewise.
104 (testsuite/20_util/make_signed/requirements/typedefs_neg.cc): Adjust.
105 (testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc):
108 2017-05-16 Jonathan Wakely <jwakely@redhat.com>
110 * testsuite/experimental/source_location/1.cc: Change expected result
111 for source_location::current() used in default member initializer.
113 * doc/xml/manual/status_cxx2017.xml: Update status table.
114 * doc/html/*: Regenerate.
115 * include/Makefile.am: Add new header.
116 * include/Makefile.in: Regenerate.
117 * include/experimental/source_location: New header implementing N4519.
118 * testsuite/experimental/source_location/1.cc: New test.
121 * include/bits/shared_ptr_base.h [!__cpp_rtti] (type_info): Declare
122 outside versioned namespace.
124 * configure: Regenerate.
126 2017-05-16 Marc Glisse <marc.glisse@inria.fr>
128 * include/std/optional (_Optional_base::_M_get): Check precondition.
129 * testsuite/20_util/optional/cons/value_neg.cc: Update line numbers.
131 2017-05-16 Jonathan Wakely <jwakely@redhat.com>
133 * doc/xml/manual/appendix_contributing.xml: Link to test docs and
134 note higher DejaGnu version requirement.
135 * doc/html/*: Regenerate.
137 * doc/xml/manual/appendix_contributing.xml: Link to the list of bad
139 * doc/html/*: Regenerate.
141 2017-05-15 Jonathan Wakely <jwakely@redhat.com>
144 * include/bits/node_handle.h (_Node_insert_return): Reorder members.
145 (tuple_size, tuple_element): Remove partial specializations.
146 * include/bits/stl_tree.h (_Rb_tree::insert_return_type): Use
147 const_iterator for std::set.
148 * testsuite/23_containers/map/modifiers/extract.cc: New.
149 * testsuite/23_containers/set/modifiers/extract.cc: New.
150 * testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
151 * testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
153 2017-05-12 Jonathan Wakely <jwakely@redhat.com>
156 * include/std/utility (tuple_size<cv T>): Only define partial
157 specializations when tuple_size<T>::value is valid.
158 * testsuite/20_util/tuple/78939.cc: New.
159 * testsuite/20_util/tuple/cv_tuple_size_neg.cc: New.
161 2017-05-11 François Dumont <fdumont@gcc.gnu.org>
163 * include/bits/stl_tree.h [_GLIBCXX_INLINE_VERSION]
164 (_Rb_tree_impl<>): Remove _Is_pod_comparator
167 * include/debug/formatter.h [_GLIBCXX_INLINE_VERSION]
168 (__gnu_debug::_Error_formatter::_Parameter::_M_print_field): Remove.
169 (__gnu_debug::_Error_formatter::_Parameter::_M_print_description):
171 (__gnu_debug::_Error_formatter::_M_format_word): Remove.
172 (__gnu_debug::_Error_formatter::_M_print_word): Remove.
173 (__gnu_debug::_Error_formatter::_M_print_string): Remove.
174 (__gnu_debug::_Error_formatter::_M_get_max_length): Remove.
175 * src/c++11/debug.cc: Adapt.
176 * config/abi/pre/gnu-versioned-namespace.ver: Adapt.
178 2017-05-11 Jonathan Wakely <jwakely@redhat.com>
180 * doc/xml/manual/allocator.xml: Fix ViewCVS URLs.
181 * doc/xml/manual/mt_allocator.xml: Likewise.
182 * doc/html/*: Regenerate.
185 * include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti): Define
186 function to get unique fake std::type_info reference.
187 (_Sp_counted_ptr_inplace::_M_get_deleter) [!__cpp_rtti]: Compare to
188 _S_ti() fake reference.
189 (__shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...)): Share
190 single implementation with or without RTTI enable.
191 [!__cpp_rtti]: Pass fake reference to _M_get_deleter.
192 * testsuite/20_util/shared_ptr/creation/alloc.cc: Change expected
193 allocation and deallocation counts.
194 * testsuite/20_util/shared_ptr/creation/single_allocation.cc: New.
195 * testsuite/20_util/shared_ptr/creation/single_allocation_no_rtti.cc:
198 2017-05-10 François Dumont <fdumont@gcc.gnu.org>
200 Bump version namespace.
201 * config/abi/pre/gnu-versioned-namespace.ver: Bump version namespace
202 from __7 to __8. Bump GLIBCXX_7.0 to GLIBCXX_8.0.
203 * acinclude.m4 (libtool_VERSION): Bump to 8:0:0.
204 * include/bits/c++config: Adapt.
205 * include/bits/regex.h: Adapt.
206 * include/experimental/bits/fs_fwd.h: Adapt.
207 * include/experimental/bits/lfts_config.h: Adapt.
208 * include/std/variant: Adapt.
209 * python/libstdcxx/v6/printers.py: Adapt.
210 * testsuite/libstdc++-prettyprinters/48362.cc: Adapt.
212 * include/bits/stl_algobase.h (std::__iter_swap<false>): Remove
215 2017-05-09 Jason Merrill <jason@redhat.com>
217 * testsuite/24_iterators/container_access.cc (test03): Make il3 static.
219 2017-05-08 Jonathan Wakely <jwakely@redhat.com>
221 * include/std/optional: Use a separate static_assert per condition.
222 * testsuite/20_util/optional/cons/value_neg.cc: Update dg-error line
225 * doc/xml/manual/mt_allocator.xml: Clarify deallocation behaviour.
226 * doc/html/*: Regenerate.
228 2017-05-02 Hugo Beauzée-Luyssen <hugo@beauzee.fr>
231 * config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
233 2017-04-29 François Dumont <fdumont@gcc.gnu.org>
235 * testsuite/libstdc++-prettyprinters/48362.cc: Replace a regexp-test
238 2017-04-28 Jonathan Wakely <jwakely@redhat.com>
241 * include/bits/stl_construct.h (_Destroy, _Destroy_n): Add static
242 assertions to ensure type is destructible.
243 (destroy_at, destroy, destroy_n): Move from stl_uninitialized.h.
244 * include/bits/stl_uninitialized.h (destroy_at, destroy, destroy_n):
245 Move to stl_construct.h.
246 * testsuite/20_util/specialized_algorithms/memory_management_tools/
247 destroy_neg.cc: New test.
248 * testsuite/23_containers/vector/cons/destructible_neg.cc: New test.
250 * testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Remove
251 superfluous "" in dg-error.
253 2017-04-28 Tom de Vries <tom@codesourcery.com>
255 * testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Remove
256 superfluous '{ target *-*-* }' in dg-(error|warning|message|bogus).
258 2017-04-27 Jonathan Wakely <jwakely@redhat.com>
260 * include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp
261 (PB_DS_CLASS_C_DEC::end()): Remove redundant const in cast type.
262 * testsuite/util/testsuite_rng.h (twister_rand_gen::get_prob()):
265 2017-04-26 Jonathan Wakely <jwakely@redhat.com>
267 * testsuite/23_containers/deque/allocator/move_assign-2.cc: Improve
268 comment. Ensure first test works because allocator type propagates and
269 not because is_always_equal is true.
270 * testsuite/23_containers/vector/52591.cc: Likewise. Restore original
271 testcase that instantiates the move-assignment operator.
273 2017-04-24 Jonathan Wakely <jwakely@redhat.com>
276 * include/bits/random.tcc (gamma_distribution::operator()): Fix magic
277 number used in loop condition.
280 * include/bits/refwrap.h (ref, cref): Qualify calls.
281 * testsuite/20_util/reference_wrapper/80504.cc: New test.
284 * include/experimental/optional (optional::swap): Fix exception
287 2017-04-21 Jonathan Wakely <jwakely@redhat.com>
290 * include/std/future (_State_baseV2::_Setter::operator()): Remove
291 _S_check calls that are done after the pointer to the shared state is
292 already dereferenced.
293 (_State_baseV2::_Setter<_Res, void>): Define specialization for void
294 as partial specialization so it can be defined within the definition
296 (_State_baseV2::__setter): Call _S_check.
297 (_State_baseV2::__setter(promise<void>*)): Add overload for use by
298 promise<void>::set_value and promise<void>::set_value_at_thread_exit.
299 (promise<T>, promise<T&>, promise<void>): Make _State a friend.
300 (_State_baseV2::_Setter<void, void>): Remove explicit specialization.
301 (promise<void>::set_value, promise<void>::set_value_at_thread_exit):
302 Use new __setter overload.
303 * testsuite/30_threads/promise/members/at_thread_exit2.cc: New test.
304 * testsuite/30_threads/promise/members/set_exception.cc: Test
305 promise<T&> and promise<void> specializations.
306 * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
307 Test for no_state error condition.
308 * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
310 * include/backward/auto_ptr.h: Ignore deprecated warnings from use
312 * include/bits/shared_ptr.h: Likewise.
313 * include/bits/shared_ptr_base.h: Likewise.
314 * include/bits/unique_ptr.h: Likewise.
315 * libstdc++-v3/testsuite/20_util/default_delete/48631_neg.cc: Adjust
317 * libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc: Likewise.
318 * libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc:
320 * libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc:
323 2017-04-20 Edward Smith-Rowland <3dw4rd@verizon.net>
325 PR libstdc++/68397 std::tr1::expint fails ... long double arguments.
326 * include/tr1/exp_integral.tcc: Increase iteration limits.
327 * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/
328 pr68397.cc: New test.
329 * testsuite/special_functions/14_expint/pr68397.cc: New test.
331 2017-04-20 Jonathan Wakely <jwakely@redhat.com>
334 * include/std/atomic [!_GLIBCXX_USE_C99_STDINT_TR1] (atomic_int8_t)
335 (atomic_uint8_t, atomic_int16_t, atomic_uint16_t, atomic_int32_t,
336 (atomic_uint32_t, atomic_int64_t, atomic_uint64_t)
337 (atomic_int_least8_t, atomic_uint_least8_t, atomic_int_least16_t)
338 (atomic_uint_least16_t, atomic_int_least32_t, atomic_uint_least32_t)
339 (atomic_int_least64_t, atomic_uint_least64_t, atomic_int_fast8_t)
340 (atomic_uint_fast8_t, atomic_int_fast16_t, atomic_uint_fast16_t)
341 (atomic_int_fast32_t, atomic_uint_fast32_t, atomic_int_fast64_t)
342 (atomic_uint_fast64_t, atomic_intmax_t, atomic_uintmax_t): Don't
345 2017-04-19 Jonathan Wakely <jwakely@redhat.com>
347 * doc/xml/manual/abi.xml: Rephrase one of the references to the
349 * doc/xml/manual/test.xml: Document DejaGnu 1.5.3 requirement.
350 * doc/html/*: Regenerate.
352 * libsupc++/new: Update comment on #endif directive.
355 * include/experimental/bits/fs_dir.h (directory_iterator)
356 (recursive_directory_iterator): Remove noexcept from defaulted
360 * include/std/type_traits (is_aggregate): Change __has_builtin checks.
361 * libsupc++/new (launder): Likewise.
363 2017-04-18 Jonathan Wakely <jwakely@redhat.com>
365 * include/std/functional (default_searcher, __boyer_moore_array_base)
366 (__is_std_equal_to, __boyer_moore_base_t, boyer_moore_searcher)
367 (boyer_moore_horspool_searcher): Remove redundant namespace
369 (default_searcher::operator()): Construct return value early and
370 advance second member in-place.
371 (boyer_moore_horspool_searcher::operator()): Increment random access
372 iterator directly instead of using std::next.
373 (boyer_moore_searcher::operator()): Fix return value.
374 * testsuite/20_util/function_objects/searchers.cc: Check both parts
377 2017-04-12 Gerald Pfeifer <gerald@pfeifer.com>
379 * doc/xml/faq.xml: Update reference link to C++ ABI for Itanium.
380 * doc/xml/manual/abi.xml. Ditto (thrice).
382 2017-04-03 Jonathan Wakely <jwakely@redhat.com>
384 * doc/xml/manual/status_cxx2017.xml: Remove duplicate table entry.
385 * doc/html/*: Regenerate.
387 * testsuite/20_util/reference_wrapper/invoke.cc: Uncomment tests
390 * include/bits/ios_base.h: Correct comment.
391 * testsuite/util/testsuite_hooks.h: Likewise.
393 * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
394 * doc/xml/manual/appendix_contributing.xml (contrib.organization): Add
395 directories for debug, parallel and profile headers.
396 * doc/html/*: Regenerate.
398 * include/bits/char_traits.h (__gnu_cxx::char_traits): Add
399 _GLIBCXX14_CONSTEXPR on assign, compare, find, and length.
400 (std::char_traits<char>, std::char_traits<wchar_t>): Add
401 _GLIBCXX17_CONSTEXPR on assign.
402 (std::char_traits<char16_t>, std::char_traits<char32_t>): Add
403 _GLIBCXX17_CONSTEXPR on assign, compare, find, and length.
404 * testsuite/21_strings/char_traits/requirements/
405 constexpr_functions_c++17.cc: New test.
407 2017-04-03 Ville Voutilainen <ville.voutilainen@gmail.com>
410 * include/bits/stl_pair.h (__nonesuch_no_braces): New.
411 (operator=(typename conditional<
412 __and_<is_copy_assignable<_T1>,
413 is_copy_assignable<_T2>>::value,
414 const pair&, const __nonesuch&>::type)): Change __nonesuch
415 to __nonesuch_no_braces.
416 (operator=(typename conditional<
417 __not_<__and_<is_copy_assignable<_T1>,
418 is_copy_assignable<_T2>>>::value,
419 const pair&, const __nonesuch&>::type)): Likewise.
420 (operator=(typename conditional<
421 __and_<is_move_assignable<_T1>,
422 is_move_assignable<_T2>>::value,
423 pair&&, __nonesuch&&>::type)): Likewise.
424 * testsuite/20_util/pair/79141.cc: New.
426 2017-04-03 Ville Voutilainen <ville.voutilainen@gmail.com>
428 Implement std::is_aggregate.
429 * include/std/type_traits (is_aggregate, is_aggregate_v): New.
430 * testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc:
432 * testsuite/20_util/is_aggregate/requirements/typedefs.cc: Likewise.
433 * testsuite/20_util/is_aggregate/value.cc: Likewise.
435 2017-03-29 Ville Voutilainen <ville.voutilainen@gmail.com>
437 Adjust optional's pretty printer for LWG 2900.
438 * python/libstdcxx/v6/printers.py (StdExpOptionalPrinter.__init__):
439 Look at the nested payload in case of non-experimental optional.
441 2017-03-29 Ville Voutilainen <ville.voutilainen@gmail.com>
443 Implement LWG 2900, The copy and move constructors
444 of optional are not constexpr.
445 * include/std/optional (_Optional_payload): New.
446 (_Optional_base): Remove the bool parameter.
447 (_Optional_base<_Tp, false>): Remove.
448 (_Optional_base()): Adjust.
449 (_Optional_base(nullopt_t)): Likewise.
450 (_Optional_base(in_place_t, _Args&&...)): Likewise.
451 (_Optional_base(in_place_t, initializer_list<_Up>, _Args&&...)):
453 (_Optional_base(const _Optional_base&)): Likewise.
454 (_Optional_base(_Optional_base&&)): Likewise.
455 (operator=(const _Optional_base&)): Likewise.
456 (operator=(_Optional_base&&)): Likewise.
457 (~_Optional_base()): Remove.
458 (_M_is_engaged()): Adjust.
459 (_M_get()): Likewise.
460 (_M_construct(_Args&&...)): Likewise.
461 (_M_destruct()): Likewise.
462 (_M_reset()): Likewise.
463 (_Optional_base::_Empty_byte): Remove.
464 (_Optional_base::_M_empty): Remove.
465 (_Optional_base::_M_payload): Adjust.
466 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
467 * testsuite/20_util/optional/constexpr/cons/value.cc: Add tests.
469 2017-03-28 Jonathan Wakely <jwakely@redhat.com>
472 * include/bits/random.tcc (generate_canonical): Use std::nextafter
473 or numeric_limits::epsilon() to reduce out-of-range values.
474 * testsuite/26_numerics/random/uniform_real_distribution/operators/
475 64351.cc: Verify complexity requirement is met.
477 * doc/xml/manual/abi.xml: Add xml:id anchor.
478 * doc/xml/manual/using.xml (manual.intro.using.macros): Document
479 _GLIBCXX_RELEASE. Link to new anchor for __GLIBCXX__ notes.
480 (concurrency.io.structure): Add markup.
481 * doc/html/*: Regenerate.
484 * include/bits/shared_ptr_base.h
485 (__shared_ptr::_M_enable_shared_from_this_with): Change parameters to
486 non-const and then use remove_cv to get unqualified type.
487 * testsuite/20_util/enable_shared_from_this/members/const.cc: Don't
488 cast away constness on object created const.
489 * testsuite/20_util/shared_ptr/cons/80229.cc: New test.
491 2017-03-26 Markus Trippelsdorf <markus@trippelsdorf.de>
494 * include/bits/stl_tree.h:
495 (_Rb_tree_header::_M_move_data(_Rb_tree_header&)): Also save _M_color.
497 2017-03-23 Jonathan Wakely <jwakely@redhat.com>
499 * testsuite/23_containers/array/tuple_interface/
500 tuple_element_debug_neg.cc: Adjust dg-error.
501 * testsuite/23_containers/list/operations/78389.cc: Fix less-than to
502 define a valid strict weak ordering.
503 * testsuite/23_containers/priority_queue/67085.cc: Disable test for
504 Debug Mode, due to debug checks making extra copies of predicate.
505 * testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc:
508 * doc/xml/faq.xml: Add link.
509 * doc/xml/manual/backwards_compatibility.xml: Remove outdated
510 information on pre-ISO headers. Replace broken link to C++ FAQ Lite.
511 * doc/xml/manual/io.xml: Update broken link.
512 * doc/html/*: Regenerate.
514 2017-03-23 Daniel Kruegler <daniel.kruegler@gmail.com>
516 Implement LWG 2686, Why is std::hash specialized for error_code,
517 but not error_condition?
518 * include/std/system_error (hash<error_condition>): Define for C++17.
519 * testsuite/20_util/hash/operators/size_t.cc (hash<error_condition>):
520 Instantiate test for error_condition.
521 * testsuite/20_util/hash/requirements/explicit_instantiation.cc
522 (hash<error_condition>): Instantiate hash<error_condition>.
524 * include/bits/c++config (_GLIBCXX17_INLINE): Define.
525 * include/bits/regex_constants.h (All std::regex_constants constants):
526 Add _GLIBCXX17_INLINE as per P0607R0.
527 * include/bits/std_mutex.h (defer_lock, try_to_lock, adopt_lock):
529 * include/bits/stl_pair.h (piecewise_construct): Likewise.
530 * include/bits/uses_allocator.h (allocator_arg, uses_allocator_v)
531 (__is_uses_allocator_constructible_v)
532 (__is_nothrow_uses_allocator_constructible_v): Likewise.
533 * include/std/chrono (treat_as_floating_point_v): Likewise.
534 * include/std/functional (is_bind_expression_v, is_placeholder_v):
536 * include/std/optional (nullopt): Likewise.
537 * include/std/ratio (ratio_equal_v, ratio_not_equal_v, ratio_less_v)
538 ratio_less_equal_v, ratio_greater_v, ratio_greater_equal_v): Likewise.
539 * include/std/system_error (is_error_code_enum_v)
540 (is_error_condition_enum_v): Likewise.
541 * include/std/tuple (tuple_size_v, ignore): Likewise.
542 (ignore): Declare ignore constexpr as per LWG 2773, declare assignment
543 constexpr as per LWG 2933.
544 * include/std/type_traits (All variable templates): Add
545 _GLIBCXX17_INLINE as per P0607R0.
546 * include/std/variant (variant_size_v, variant_npos, __index_of_v)
547 (__tuple_count_v, __exactly_once): Likewise.
548 * testsuite/18_support/headers/new/synopsis.cc
549 (hardware_destructive_interference_size)
550 (hardware_constructive_interference_size): Likewise for commented-out
552 * testsuite/20_util/tuple/creation_functions/constexpr.cc: Add new
553 test function for constexpr std::ignore (LWG 2773).
554 * testsuite/20_util/tuple/creation_functions/constexpr_cpp14.cc: New
557 2017-03-22 Jonathan Wakely <jwakely@redhat.com>
559 * include/bits/shared_ptr.h (shared_ptr, weak_ptr): Add deduction
561 * include/bits/std_function.h (function): Likewise.
562 * include/bits/stl_pair.h (pair): Likewise.
563 * include/debug/array (__gnu_debug::array): Likewise.
564 * include/std/array (array): Likewise.
565 * include/std/functional (make_default_searcher)
566 (make_boyer_moore_searcher, make_boyer_moore_horspool_searcher):
567 Remove generator functions.
568 * include/std/tuple (tuple): Add deduction guides.
569 * include/std/valarray (valarray): Likewise.
570 * testsuite/20_util/function_objects/searchers.cc: Adjust to use
571 class template argument deduction instead of generator functions.
572 * testsuite/20_util/function/cons/deduction.cc: New test.
573 * testsuite/20_util/optional/cons/deduction_guide.cc: Rename to ...
574 * testsuite/20_util/optional/cons/deduction.cc: ... here.
575 * testsuite/20_util/pair/cons/deduction.cc: New test.
576 * testsuite/20_util/shared_ptr/cons/deduction.cc: New test.
577 * testsuite/20_util/tuple/cons/deduction.cc: New test.
578 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error.
579 * testsuite/20_util/unique_ptr/cons/deduction_neg.cc: New test.
580 * testsuite/20_util/weak_ptr/cons/deduction.cc: New test.
581 * testsuite/23_containers/array/cons/deduction.cc: New test.
582 * testsuite/23_containers/array/cons/deduction_neg.cc: New test.
583 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
585 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
586 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
588 * testsuite/26_numerics/valarray/deduction.cc: New test.
589 * testsuite/30_threads/lock_guard/cons/deduction.cc: New test.
590 * testsuite/30_threads/scoped_lock/cons/deduction.cc: New test.
591 * testsuite/30_threads/unique_lock/cons/deduction.cc: New test.
593 2017-03-20 François Dumont <fdumont@gcc.gnu.org>
595 * include/bits/stl_deque.h (deque): Access allocator value_type only if
596 concept checks are enabled.
597 * include/bits/stl_stack.h (stack): Likewise.
598 * include/bits/stl_vector.h (vector): Likewise.
599 * include/bits/stl_list.h (list): Likewise and check
600 _SGIAssignableConcept only in C++03.
601 * include/bits/stl_map.h (map): Likewise.
602 * include/bits/stl_set.h (set): Likewise.
603 * include/bits/stl_multimap.h (multimap): Likewise.
604 * include/bits/stl_multiset.h (multiset): Likewise.
605 * include/bits/stl_queue.h (queue, priority_queue): Likewise.
607 2017-03-18 Gerald Pfeifer <gerald@pfeifer.com>
609 * doc/xml/manual/appendix_contributing.xml: Convert link to
611 Update link to the C++ standard at ansi.org.
613 * doc/xml/faq.xml: Remove information redundant with the above;
614 instead add a reference.
616 2017-03-17 Jonathan Wakely <jwakely@redhat.com>
618 * src/c++11/codecvt.cc (range): Add non-type template parameter and
619 define oerloaded operators for reading and writing code units.
620 (range<Elem, false>): Define partial specialization for accessing
621 wide characters in potentially unaligned byte ranges.
622 (ucs2_span(const char16_t*, const char16_t*, ...))
623 (ucs4_span(const char16_t*, const char16_t*, ...)): Change parameters
624 to range<const char16_t, false> in order to avoid unaligned reads.
625 (__codecvt_utf16_base<char16_t>::do_out)
626 (__codecvt_utf16_base<char32_t>::do_out)
627 (__codecvt_utf16_base<wchar_t>::do_out): Use range specialization for
628 unaligned data to avoid unaligned writes.
629 (__codecvt_utf16_base<char16_t>::do_in)
630 (__codecvt_utf16_base<char32_t>::do_in)
631 (__codecvt_utf16_base<wchar_t>::do_in): Likewise for writes. Return
632 error if there are unprocessable trailing bytes.
633 (__codecvt_utf16_base<char16_t>::do_length)
634 (__codecvt_utf16_base<char32_t>::do_length)
635 (__codecvt_utf16_base<wchar_t>::do_length): Pass arguments of type
636 range<const char16_t, false> to span functions.
637 * testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: New test.
639 2017-03-16 Jonathan Wakely <jwakely@redhat.com>
642 * src/c++11/codecvt.cc (to_integer(codecvt_mode)): Fix target type.
645 * src/c++11/codecvt.cc (__codecvt_utf16_base<wchar_t>::do_out)
646 (__codecvt_utf16_base<wchar_t>::do_in): Convert char arguments to
647 char16_t to work with UTF-16 instead of UTF-8.
648 * testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: New test.
650 * src/c++11/codecvt.cc (codecvt<char16_t, char, mbstate_t>)
651 (codecvt<char32_t, char, mbstate_t>, __codecvt_utf8_base<char16_t>)
652 (__codecvt_utf8_base<char32_t>, __codecvt_utf8_base<wchar_t>)
653 (__codecvt_utf16_base<char16_t>, __codecvt_utf16_base<char32_t>)
654 (__codecvt_utf16_base<wchar_t>, __codecvt_utf8_utf16_base<char16_t>)
655 (__codecvt_utf8_utf16_base<char32_t>)
656 (__codecvt_utf8_utf16_base<wchar_t>): Fix do_encoding() and
657 do_max_length() return values.
658 * testsuite/22_locale/codecvt/codecvt_utf16/members.cc: New test.
659 * testsuite/22_locale/codecvt/codecvt_utf8/members.cc: New test.
660 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc: New test.
663 * include/bits/locale_conv.h (__do_str_codecvt): Set __count on
665 * src/c++11/codecvt.cc (operator&=, operator|=, operator~): Overloads
666 for manipulating codecvt_mode values.
667 (read_utf16_bom): Compare input to BOM constants instead of integral
668 constants that depend on endianness. Take mode parameter by
669 reference and adjust it, to distinguish between no BOM present and
670 UTF-16BE BOM present.
671 (ucs4_in, ucs2_span, ucs4_span): Adjust calls to read_utf16_bom.
672 (surrogates): New enumeration type.
673 (utf16_in, utf16_out): Add surrogates parameter to choose between
674 UTF-16 and UCS2 behaviour.
675 (utf16_span, ucs2_span): Use std::min not std::max.
676 (ucs2_out): Use std::min not std::max. Disallow surrogate pairs.
677 (ucs2_in): Likewise. Adjust calls to read_utf16_bom.
678 * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: New test.
679 * testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: New test.
682 * src/c++11/codecvt.cc (write_utf16_code_point): Don't write 0xffff
684 (__codecvt_utf8_utf16_base<char32_t>::do_in): Use native endianness
685 for internal representation.
686 (__codecvt_utf8_utf16_base<wchar_t>::do_in): Likewise.
687 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: New test.
690 * include/bits/stl_heap.h (__is_heap, push_heap, __adjust_heap)
691 (pop_heap, make_heap, sort_heap, is_heap_until, is_heap): Cope with
692 invalid instantiations using function types for _Compare argument.
693 * testsuite/25_algorithms/make_heap/80064.cc: New test.
696 * python/libstdcxx/v6/printers.py (find_type): Avoid gdb.Type.name
697 for GDB 7.6 compatibility, use gdb.Type.unqualified instead.
699 2017-03-15 Ville Voutilainen <ville.voutilainen@gmail.com>
701 Implement LWG 2857, {variant,optional,any}::emplace should
702 return the constructed value.
703 * include/std/any (emplace(_Args&&...)): Change the return type and
704 return a reference to the constructed value.
705 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
706 * include/std/optional (emplace(_Args&&...)): Likewise.
707 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
708 * include/std/variant (emplace<_Tp>(_Args&&...)): Likewise.
709 (emplace<_Tp>(initializer_list<_Up>, _Args&&...)): Likewise.
710 (emplace<_Np>(_Args&&...)): Likewise.
711 (emplace<_Np>(initializer_list<_Up>, _Args&&...)): Likewise.
712 * testsuite/20_util/any/assign/emplace.cc: Add tests for
713 checking the return value of emplace.
714 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
715 * testsuite/20_util/optional/assignment/6.cc: Add tests for
716 checking the return value of emplace.
717 * testsuite/20_util/variant/run.cc: Likewise.
719 2017-03-15 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
722 * include/ext/pb_ds/qdetail/binary_heap_/binary_heap_.hpp
724 (push_heap): Remove the wrong checking using is_heap.
725 (make_heap): Remove the assertion using is_heap.
726 * include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp
728 (resize_for_insert_if_needed): Add PB_DS_ASSERT_VALID after
731 2017-03-15 Jonathan Wakely <jwakely@redhat.com>
734 * testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc:
736 * testsuite/ext/pb_ds/regression/priority_queues.cc: Fix copy&paste
739 2017-03-15 Jonathan Wakely <jwakely@redhat.com>
741 * acinclude.m4 (GLIBCXX_CHECK_S_ISREG_OR_S_IFREG): Fix typo in
743 * config.h.in: Regenerate.
744 * configure: Regenerate.
745 * doc/Makefile.in: Regenerate.
747 2017-03-14 Jonathan Wakely <jwakely@redhat.com>
750 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
751 (basic_string<C,T,A>::operator=(basic_string_view<C,T>)): Replace
752 with a constrained template.
753 [!_GLIBCXX_USE_CXX11_ABI]
754 (basic_string<C,T,A>::operator=(basic_string_view<C,T>)): Likewise.
755 * testsuite/21_strings/basic_string/cons/char/79162.cc: New test.
756 * testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: New test.
758 2017-03-13 Ville Voutilainen <ville.voutilainen@gmail.com>
761 * include/bits/list.tcc (merge(list&&)): Use const for the size_t
763 (merge(list&&, _StrictWeakOrdering)): Likewise.
764 * testsuite/23_containers/list/operations/80034.cc: New.
766 2017-03-13 Ville Voutilainen <ville.voutilainen@gmail.com>
768 Implement LWG 2806, Base class of bad_optional_access.
769 * include/std/optional (bad_optional_access):
770 Derive from std::exception.
771 (bad_optional_access::bad_optional_access): Adjust.
772 (bad_optional_access::what): New.
773 (__throw_bad_optional_access(const char*)):
774 Remove the parameter and adjust calls.
775 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
776 * testsuite/20_util/optional/typedefs.cc: Likewise.
778 2017-03-12 Ville Voutilainen <ville.voutilainen@gmail.com>
780 Implement LWG 2934, optional<const T> doesn't compare with T.
781 * include/std/optional
782 (operator==(const optional<_Tp>&, const optional<_Tp>&)):
783 Turn into operator==(const optional<_Tp>&, const optional<_Up>&).
784 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
785 Turn into operator!=(const optional<_Tp>&, const optional<_Up>&).
786 (operator<(const optional<_Tp>&, const optional<_Tp>&)):
787 Turn into operator<(const optional<_Tp>&, const optional<_Up>&.
788 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
789 Turn into operator>(const optional<_Tp>&, const optional<_Up>&.
790 (operator<=(const optional<_Tp>&, const optional<_Tp>&)):
791 Turn into operator<=(const optional<_Tp>&, const optional<_Up>&).
792 (operator>=(const optional<_Tp>&, const optional<_Tp>&)):
793 Turn into operator>=(const optional<_Tp>&, const optional<_Up>&).
794 (operator==(const optional<_Tp>&, const _Tp&)):
795 Turn into operator==(const optional<_Tp>&, const _Up&).
796 (operator==(const _Tp&, const optional<_Tp>&)):
797 Turn into operator==(const _Up&, const optional<_Tp>&).
798 (operator!=(const optional<_Tp>&, const _Tp&)):
799 Turn into operator!=(const optional<_Tp>&, const _Up&).
800 (operator!=(const _Tp&, const optional<_Tp>&)):
801 Turn into operator!=(const _Up&, const optional<_Tp>&).
802 (operator<(const optional<_Tp>&, const _Tp&)):
803 Turn into operator<(const optional<_Tp>&, const _Up&).
804 (operator<(const _Tp&, const optional<_Tp>&)):
805 Turn into operator<(const _Up&, const optional<_Tp>&).
806 (operator>(const optional<_Tp>&, const _Tp&)):
807 Turn into operator>(const optional<_Tp>&, const _Up&).
808 (operator>(const _Tp&, const optional<_Tp>&)):
809 Turn into operator>(const _Up&, const optional<_Tp>&).
810 (operator<=(const optional<_Tp>&, const _Tp&)):
811 Turn into operator<=(const optional<_Tp>&, const _Up&).
812 (operator<=(const _Tp&, const optional<_Tp>&)):
813 Turn into operator<=(const _Up&, const optional<_Tp>&).
814 (operator>=(const optional<_Tp>&, const _Tp&)):
815 Turn into operator>=(const optional<_Tp>&, const _Up&).
816 (operator>=(const _Tp&, const optional<_Tp>&)):
817 Turn into operator>=(const _Up&, const optional<_Tp>&).
818 * testsuite/20_util/optional/relops/7.cc: New.
820 2017-03-10 Jonathan Wakely <jwakely@redhat.com>
822 * testsuite/17_intro/names.cc: Undefine macros that clash with
823 identifiers in AIX system headers.
825 * include/bits/invoke.h (__invoke): Use __invoke_result instead of
826 result_of, and __is_nothrow_invocable instead of
827 __is_nothrow_callable.
828 * include/bits/shared_ptr_base.h (__shared_ptr): Use __is_invocable
829 instead of __is_callable.
830 * include/std/functional (invoke): use invoke_result_t instead of
831 result_of_t and is_nothrow_invocable instead of is_nothrow_callable.
832 (_Not_fn): Use __invoke_result instead of result_of.
833 * include/std/type_traits (__result_of_memobj, __result_of_memfun):
834 Remove partial specializations for reference_wrapper types.
835 (__result_of_impl): Use __inv_unwrap to strip reference_wrapper.
836 (__invoke_result): Define replacement for result_of and then use it to
838 (__is_callable_impl, __is_callable, __is_nothrow_callable): Replace
839 with __is_invocable_impl, __is_invocable, and __is_nothrow_invocable
841 (invoke_result, invoke_result_t): Define for C++17.
842 (is_callable, is_nothrow_callable): Replace with is_invocable,
843 is_invocable_r, is_nothrow_invocable, and is_nothrow_invocable_r.
844 (is_callable_v, is_nothrow_callable_v): Replace with is_invocable_v,
845 is_invocable_r_v, is_nothrow_invocable_v, and is_nothrow_invocable_r_v.
846 * include/std/variant (hash<variant<T...>>): Use is_nothrow_invocable_v
847 instead of is_nothrow_callable_v.
848 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
850 * testsuite/20_util/function_objects/not_fn/1.cc: Use is_invocable
851 instead of is_callable.
852 * testsuite/20_util/is_callable/*: Rename directory and adjust tests
854 * testsuite/20_util/is_nothrow_callable/*: Likewise.
855 * testsuite/20_util/optional/hash.cc: Use is_invocable_v instead of
857 * testsuite/20_util/variant/hash.cc: Likewise.
859 2017-03-10 George Lander <george.lander@arm.com>
861 * acinclude.m4 (glibcxx_cv_obsolete_isnan): Define
862 _GLIBCXX_INCLUDE_NEXT_C_HEADERS before including math.h.
863 * configure: Regenerate.
865 2017-03-09 Jonathan Wakely <jwakely@redhat.com>
867 * include/std/functional (_Not_fn): Define macro to simplify
868 repetitive function definitions.
870 * doc/xml/manual/status_cxx2017.xml: Document std::byte support.
871 * include/c_global/cstddef (std::byte): Define for C++17.
872 * testsuite/18_support/byte/global_neg.cc: New test.
873 * testsuite/18_support/byte/ops.cc: New test.
874 * testsuite/18_support/byte/requirements.cc: New test.
876 2017-03-05 Jonathan Wakely <jwakely@redhat.com>
878 * doc/xml/manual/status_cxx2017.xml: Document P0156R2 status.
879 * doc/html/*: Regenerate.
880 * include/std/mutex (scoped_lock): Implement new C++17 template.
881 * testsuite/30_threads/scoped_lock/cons/1.cc: New test.
882 * testsuite/30_threads/scoped_lock/requirements/
883 explicit_instantiation.cc: New test.
884 * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: New test.
886 2017-03-02 Gerald Pfeifer <gerald@pfeifer.com>
887 François Dumont <frs.dumont@gmail.com>
888 Jonathan Wakely <jwakely@redhat.com>
890 * doc/xml/manual/debug_mode.xml: Update and simplify note
891 on link- and run-time coexistence.
893 2017-03-02 Jonathan Wakely <jwakely@redhat.com>
895 * testsuite/17_intro/headers/names.cc: Rename to ...
896 * testsuite/17_intro/names.cc: ... here.
899 * include/bits/hashtable_policy.h (__clp2): Use reserved names for
900 parameters and local variables.
901 * include/bits/ios_base.h (make_error_code, make_error_condition):
903 * include/bits/list.tcc (list::sort): Likewise.
904 * include/bits/mask_array.h (mask_array): Likewise.
905 * include/bits/regex.h (regex_token_iterator): Likewise.
906 * include/bits/slice_array.h (slice_array): Likewise.
907 * include/bits/stl_algo.h (__sample): Likewise.
908 * include/std/memory (undeclare_no_pointers): Likewise.
909 * include/std/type_traits (is_callable_v, is_nothrow_callable_v):
911 * libsupc++/exception_ptr.h (__dest_thunk): Likewise.
912 * testsuite/17_intro/headers/names.cc: New test.
915 * include/std/functional (bind::_Res_type_impl): Fix incorrect use of
916 result_of that loses top-level cv-qualifiers.
917 * testsuite/20_util/bind/79798.cc: New test.
919 2017-03-01 Gerald Pfeifer <gerald@pfeifer.com>
921 * doc/xml/manual/documentation_hacking.xml: Tweak link to
924 2017-02-23 Jonathan Wakely <jwakely@redhat.com>
926 * include/experimental/iterator: Include <iterator>.
927 * testsuite/experimental/iterator/requirements.cc: Check for contents
930 2017-02-19 Dinka Ranns <dinka.ranns@googlemail.com>
932 C++17 GB50 resolution
933 * include/std/chrono (duration::operator++()): Add
934 _GLIBCXX17_CONSTEXPR.
935 (duration::operator++(int)): Likewise.
936 (duration::operator--()): Likewise.
937 (duration::operator--(int)): Likewise.
938 (duration::operator+=(const duration&)): Likewise.
939 (duration::operator-=(const duration&)): Likewise.
940 (duration::operator*=(const rep&)): Likewise.
941 (duration::operator/=(const rep&)): Likewise.
942 (duration::operator%=(const rep&)): Likewise.
943 (duration::operator%=(const duration&)): Likewise.
944 (time_point::operator+=(const duration&)): Likewise.
945 (time_point::operator-=(const duration&)): Likewise.
946 * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: New test.
947 * testsuite/20_util/duration/literals/range.cc: Adjust dg-error.
948 * testsuite/20_util/time_point/arithmetic/constexpr.cc: New test.
950 2017-02-19 Gerald Pfeifer <gerald@pfeifer.com>
952 * doc/xml/manual/debug.xml: Adjust link to ThreadSanitizer.
954 2017-02-18 Gerald Pfeifer <gerald@pfeifer.com>
956 * doc/xml/manual/io.xml: Update link to groups.google.com.
957 Tweak link description.
959 2017-02-18 Gerald Pfeifer <gerald@pfeifer.com>
961 * doc/xml/manual/profile_mode.xml: Fix link.
963 2017-02-16 Gerald Pfeifer <gerald@pfeifer.com>
965 * doc/xml/manual/policy_data_structures.xml: Simplify and
966 standardize references to boost.org.
967 * doc/xml/manual/policy_data_structures_biblio.xml: Ditto.
968 * doc/xml/manual/shared_ptr.xml: Ditto.
970 2017-02-16 Jonathan Wakely <jwakely@redhat.com>
973 * src/c++11/snprintf_lite.cc (__concat_size_t): Calculate length
974 written to buffer, not length remaining in buffer.
976 2017-02-15 Tim Shen <timshen@google.com>
979 * include/std/variant (operator<(), operator>(), operator<=(),
980 operator>=(), operator==(), operator!=()): Implement P0393R3.
981 * testsuite/20_util/variant/compile.cc: Adjust tests.
982 * testsuite/20_util/variant/run.cc: Adjust tests.
984 2017-02-15 Tim Shen <timshen@google.com>
987 * include/std/variant (visit()): Forward variant types to the return
989 * testsuite/20_util/variant/compile.cc: Add test cases.
991 2017-02-13 H.J. Lu <hongjiu.lu@intel.com>
994 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
996 2017-02-13 Jakub Jelinek <jakub@redhat.com>
999 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
1000 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1001 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
1002 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1003 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Likewise.
1004 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1005 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Likewise.
1006 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1007 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1009 2017-02-13 Jonathan Wakely <jwakely@redhat.com>
1012 * include/std/future (__future_base::_Task_state::_M_run)
1013 (__future_base::_Task_state::_M_run_delayed): Use lvalue types in
1014 result_of expressions.
1015 * testsuite/30_threads/packaged_task/79486.cc: New.
1017 2017-02-11 Jonathan Wakely <jwakely@redhat.com>
1020 * include/bits/shared_ptr_base.h (__shared_ptr(_Yp*, _Deleter))
1021 (__shared_ptr(_Yp*, _Deleter, _Alloc)): Use lvalue types in
1022 __is_callable check.
1023 * testsuite/20_util/shared_ptr/cons/79467.cc: New.
1025 * include/bits/atomic_base.h: Re-indent.
1027 2017-02-10 Gerald Pfeifer <gerald@pfeifer.com>
1029 * doc/xml/manual/profile_mode.xml: Update a paper reference.
1031 2017-02-08 Gerald Pfeifer <gerald@pfeifer.com>
1033 * src/c++11/snprintf_lite.cc (__err): Use https for bug reporting.
1035 2017-02-08 Jonathan Wakely <jwakely@redhat.com>
1037 * doc/xml/manual/policy_data_structures.xml: Fix spelling of author's
1039 * doc/xml/manual/policy_data_structures_biblio.xml: Likewise. Remove
1040 broken links to texts that are no longer online.
1041 * doc/xml/manual/profile_mode.xml: Update links to CGO 2009 paper and
1043 * doc/xml/manual/using.xml: Update links to memory model information.
1044 * doc/xml/manual/using_exceptions.xml: Update link to "Appendix E:
1045 Standard-Library Exception Safety".
1046 * doc/html/*: Regenerate.
1048 2017-02-08 Gerald Pfeifer <gerald@pfeifer.com>
1050 * doc/xml/manual/profile_mode.xml: Unbreak link to
1051 "Optimizing Sorting with Machine Learning Algorithms".
1053 2017-02-08 Gerald Pfeifer <gerald@pfeifer.com>
1055 * src/c++11/snprintf_lite.cc (__err): Update bug reporting URL.
1057 2017-02-08 Gerald Pfeifer <gerald@pfeifer.com>
1059 * doc/xml/manual/abi.xml: Update link to "Sun Studio 11: C++
1062 2017-02-07 Gerald Pfeifer <gerald@pfeifer.com>
1064 * doc/html/ext/lwg-active.html: Remove.
1065 * doc/html/ext/lwg-closed.html: Ditto.
1066 * doc/html/ext/lwg-defects.html: Ditto.
1068 * doc/Makefile.am (xml_extradir): Remove.
1070 (stamp-html-docbook-lwg): Remove recipe...
1071 (stamp-html-docbook-data): ...and its use here.
1072 * doc/Makefile.in: Regenerate.
1074 * doc/xml/manual/intro.xml: Shorten two paragraphs explaining
1075 the relationship to the upstream working group.
1076 Replace a local link to ../ext/lwg-active.html by the upstream one.
1077 Replace all reference to ../ext/lwg-defects.html by a new entity
1078 &DR; which refers to the upstream address.
1080 2017-02-07 Gerald Pfeifer <gerald@pfeifer.com>
1082 * doc/xml/manual/status_cxx2017.xml: Fix link to N4284.
1084 2017-02-06 Jonathan Wakely <jwakely@redhat.com>
1087 * testsuite/20_util/duration/literals/range.cc: Prune extra output
1090 2017-02-06 Gerald Pfeifer <gerald@pfeifer.com>
1092 * doc/xml/manual/documentation_hacking.xml: Update URL of the
1093 DocBook Element Reference. Use that term as link description
1094 instead of "online".
1095 epubcheck has moved to GitHub.
1096 Remove obsolete link to DocBook Publishing Tools.
1098 2017-02-03 Jonathan Wakely <jwakely@redhat.com>
1101 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Restore ABI override
1102 so new ios::failure can be caught even when old ABI is the default.
1103 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
1104 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1105 exceptions_failbit.cc: Likewise.
1106 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1107 exceptions_failbit.cc: Likewise.
1108 * testsuite/27_io/basic_istream/extractors_other/char/
1109 exceptions_null.cc: Likewise.
1110 * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1111 exceptions_null.cc: Likewise.
1112 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
1113 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
1114 * testsuite/27_io/basic_ostream/inserters_other/char/
1115 exceptions_null.cc: Likewise.
1116 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1117 exceptions_null.cc: Likewise.
1118 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
1121 * src/c++11/Makefile.am: Add new files.
1122 * src/c++11/Makefile.in: Regenerate.
1123 * src/c++11/cow-string-inst.cc [!_GLIBCXX_USE_CXX11_ABI]
1124 (operator<<, operator>>, getline): Move explicit instantiations to ...
1125 * src/c++11/cow-string-io-inst.cc: ... new file.
1126 * src/c++11/cow-wstring-inst.cc [!_GLIBCXX_USE_CXX11_ABI]
1127 (operator<<, operator>>, getline): Move explicit instantiations to ...
1128 * src/c++11/cow-wstring-io-inst.cc: ... new file.
1129 * src/c++11/functexcept.cc (__throw_ios_failure, __throw_system_error)
1130 (__throw_future_error, __throw_bad_function_call):
1131 (__throw_regex_error): Move functions for C++11 exceptions to the
1132 files that define the exception types.
1133 * src/c++11/functional.cc (__throw_bad_function_call): Move here.
1134 * src/c++11/future.cc (__throw_future_error): Likewise.
1135 * src/c++11/ios.cc (__throw_ios_failure): Likewise.
1136 * src/c++11/regex.cc (__throw_regex_error): Likewise.
1137 * src/c++11/snprintf_lite.cc (__concat_size_t): Print decimal
1138 representation directly instead of calling __int_to_char.
1139 * src/c++11/sso_string.cc (__sso_string): New file for definition
1140 of __sso_string type.
1141 * src/c++11/string-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for
1142 explicit instantiations of narrow string I/O functions.
1143 * src/c++11/system_error.cc (__throw_system_error): Move here.
1144 (__sso_string): Move to new file.
1145 * src/c++11/wstring-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for
1146 explicit instantiations of wide string I/O functions.
1147 * src/c++98/misc-inst.cc [_GLIBCXX_USE_CXX11_ABI] (operator<<)
1148 (operator>>, getline): Remove explicit instantiations from here.
1150 2017-02-02 H.J. Lu <hongjiu.lu@intel.com>
1152 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
1154 2017-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1156 * configure.host: Separate Solaris/SPARC and x86 baselines.
1157 * config/abi/post/solaris2.10/baseline_symbols.txt: Move ...
1158 * config/abi/post/sparc-solaris2.10/baseline_symbols.txt: ... here.
1159 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Move ...
1160 * config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt:
1162 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Move ...
1163 * config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: ... here.
1164 * config/abi/post/i386-solaris2.10/baseline_symbols.txt: New file.
1165 * config/abi/post/solaris2.11/baseline_symbols.txt: Move ...
1166 * config/abi/post/sparc-solaris2.11/baseline_symbols.txt: ... here.
1167 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Move ...
1168 * config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt:
1170 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Move ...
1171 * config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: ... here.
1172 * config/abi/post/i386-solaris2.11/baseline_symbols.txt: New file.
1174 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
1175 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1176 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1177 * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
1178 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
1179 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
1181 2017-02-01 Jonathan Wakely <jwakely@redhat.com>
1184 * include/bits/predefined_ops.h (_Iter_equals_iter): Store iterator
1186 (_Iter_comp_to_iter): Likewise.
1187 * testsuite/25_algorithms/search/78346.cc: New test.
1190 * config/abi/pre/gnu.ver: Remove recently added symbols.
1191 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
1192 (basic_string::_M_copy_assign): Remove.
1193 (basic_string::operator=(const basic_string&)): Don't dispatch to
1194 _M_copy_assign. If source object is small just deallocate, otherwise
1195 perform new allocation before making any changes.
1196 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
1197 (basic_string::_M_copy_assign(const basic_string&, true_type)):
1199 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
1200 Test cases where the allocators are equal or the string is small.
1201 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
1204 2017-01-30 Ville Voutilainen <ville.voutilainen@gmail.com>
1206 Implement LWG 2825, LWG 2756 breaks class template argument
1207 deduction for optional.
1208 * include/std/optional: Add a deduction guide.
1209 * testsuite/20_util/optional/cons/deduction_guide.cc: New.
1211 2017-01-27 Jonathan Wakely <jwakely@redhat.com>
1214 * config/abi/pre/gnu.ver: Add new symbols.
1215 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
1216 (basic_string::_M_copy_assign): New overloaded functions to perform
1218 (basic_string::operator=(const basic_string&)): Dispatch to
1220 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
1221 (basic_string::_M_copy_assign(const basic_string&, true_type)):
1222 Define, performing rollback on exception.
1223 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
1224 Test exception-safety guarantee.
1225 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
1227 * testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make
1230 2017-01-26 Jonathan Wakely <jwakely@redhat.com>
1233 * include/tr1/complex (conj): Remove using-declaration and restore
1234 overloads, reverting previous change.
1236 * testsuite/23_containers/list/operations/78389.cc: Fix for C++11
1238 * testsuite/23_containers/priority_queue/requirements/constructible.cc:
1239 Mark as unsupported in C++98 mode.
1240 * testsuite/23_containers/queue/requirements/constructible.cc:
1242 * testsuite/23_containers/stack/requirements/constructible.cc:
1244 * testsuite/25_algorithms/make_heap/movable.cc: Fix for C++11 mode.
1247 * include/bits/c++config (literals::string_view_literals::__7): Add.
1248 Only declare versioned namespaces for the relevant C++ dialects.
1249 * include/experimental/bits/erase_if.h (fundamentals_v2::__detail):
1250 Add versioning macros.
1251 * include/experimental/bits/lfts_config.h:
1252 (fundamentals_v1::__detail::__7, fundamentals_v2::__detail::__7): Add.
1253 * include/experimental/string_view (fundamentals_v2::__detail):
1254 Add versioning macros.
1255 (fundamentals_v2::__detail::__identity): Remove.
1256 (fundamentals_v2::__detail::__idt): Use common_type instead of
1257 __detail::__identity.
1258 * include/std/string_view (__detail::__identity, __detail::__idt):
1260 (literals::string_view_literals): Fix nesting of versioning macros.
1263 * libsupc++/del_opa.cc (operator delete(void*, std::align_val_t))
1264 [!_GLIBCXX_HAVE_ALIGNED_ALLOC && !_GLIBCXX_HAVE_POSIX_MEMALIGN
1265 && !_GLIBCXX_HAVE_MEMALIGN && !_GLIBCXX_HAVE__ALIGNED_MALLOC]:
1266 Retrieve original pointer value allocated by malloc.
1267 * libsupc++/new_opa.cc [!_GLIBCXX_HAVE_ALIGNED_ALLOC
1268 && !_GLIBCXX_HAVE_POSIX_MEMALIGN && !_GLIBCXX_HAVE_MEMALIGN
1269 && !_GLIBCXX_HAVE__ALIGNED_MALLOC] (aligned_alloc(size_t, size_t)):
1270 Define, adjusting pointer value allocated by malloc and storing for
1271 retrieval by operator delete.
1273 2017-01-26 Jakub Jelinek <jakub@redhat.com>
1275 * libsupc++/eh_atomics.h: Update copyright years.
1276 * testsuite/20_util/unique_ptr/cons/default.cc: Update copyright years.
1278 2017-01-25 Jonathan Wakely <jwakely@redhat.com>
1282 * include/std/complex (real(T), imag(T)): Add _GLIBCXX_CONSTEXPR.
1283 (proj(T), conj(T)): Change return types per DR 1522.
1284 * include/tr1/complex (conj): Remove overloads and use std::conj.
1285 * testsuite/26_numerics/complex/dr781_dr1137.cc: Rename to...
1286 * testsuite/26_numerics/complex/dr781.cc: ... this, and update.
1287 * testsuite/26_numerics/complex/value_operations/constexpr2.cc: Test
1288 real(T) and imag(T). Allow testing for C++11 too.
1290 2017-01-24 Jonathan Wakely <jwakely@redhat.com>
1293 * include/experimental/string_view (operator==): Check sizes first.
1294 * include/std/string_view (operator==): Likewise.
1296 2017-01-23 Jonathan Wakely <jwakely@redhat.com>
1298 * testsuite/experimental/array/make_array.cc: Restore <functional>
1301 2017-01-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
1303 * testsuite/29_atomics/atomic/69301.cc: Require atomic builtins.
1305 2017-01-23 Jonathan Wakely <jwakely@redhat.com>
1308 * include/experimental/array (__make_array_elem): New class template
1309 and partial specialization.
1310 (__is_reference_wrapper): Move into __make_array_elem specialization.
1311 (make_array): Use __make_array_elem to determine element type and move
1312 static assertion into specialization. Qualify std::forward call.
1313 (to_array): Add exception specifiation.
1314 * testsuite/experimental/array/make_array.cc: Test argument types
1315 without a common type.
1316 * testsuite/experimental/array/neg.cc: Adjust expected error message.
1318 2017-01-22 Gerald Pfeifer <gerald@pfeifer.com>
1320 * doc/xml/manual/debug.xml: code.google.com uses https now.
1322 2017-01-22 Gerald Pfeifer <gerald@pfeifer.com>
1324 * doc/xml/manual/test.xml: Fix link into gccint online manual.
1326 2017-01-21 Ville Voutilainen <ville.voutilainen@gmail.com>
1328 Make poisoned hashes SFINAE away the call operator of the hash.
1329 * include/bits/functional_hash.h
1330 (__poison_hash::__enable_hash_call): New.
1331 * include/std/optional (__optional_hash_call_base): New.
1332 (hash<optional<_Tp>>): Derive from the new base,
1333 move the hash function into that base.
1334 * include/std/variant (__variant_hash_call_base_impl): New.
1335 (__variant_hash_call_base): Likewise.
1336 (hash<variant<_Types...>>): Derive from the new base,
1337 move the hash function into that base.
1338 * testsuite/20_util/optional/hash.cc: Add tests for is_callable.
1339 * testsuite/20_util/variant/hash.cc: Likewise.
1341 2017-01-20 Joe Seymour <joe.s@somniumtech.com>
1343 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): Support uint20_t.
1344 * configure: Regenerate.
1346 2017-01-20 Jonathan Wakely <jwakely@redhat.com>
1349 * include/bits/random.h (uniform_real_distribution::param_type)
1350 (normal_distribution::param_type, lognormal_distribution::param_type)
1351 (gamma_distribution::param_type, chi_squared_distribution::param_type)
1352 (cauchy_distribution::param_type, fisher_f_distribution::param_type)
1353 (student_t_distribution::param_type)
1354 (bernoulli_distribution::param_type, binomial_distribution::param_type)
1355 (geometric_distribution::param_type)
1356 (negative_binomial_distribution::param_type)
1357 (poisson_distribution::param_type)
1358 (exponential_distribution::param_type)
1359 (weibull_distribution::param_type)
1360 (extreme_value_distribution::param_type)
1361 (discrete_distribution::param_type)
1362 (piecewise_constant_distribution::param_type)
1363 (piecewise_linear_distribution::param_type): Define operator!=.
1364 * include/bits/uniform_int_dist.h
1365 (uniform_int_distribution::param_type): Likewise.
1366 * include/ext/random (beta_distribution::param_type)
1367 (rice_distribution::param_type, nakagami_distribution::param_type)
1368 (pareto_distribution::param_type, k_distribution::param_type)
1369 (arcsine_distribution::param_type, hoyt_distribution::param_type)
1370 (triangular_distribution::param_type)
1371 (von_mises_distribution::param_type)
1372 (hypergeometric_distribution::param_type)
1373 (logistic_distribution::param_type)
1374 (uniform_on_sphere_distribution::param_type)
1375 (uniform_inside_sphere_distribution::param_type): Likewise.
1376 * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
1377 Test construction with param_type.
1378 * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
1380 * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
1382 * testsuite/26_numerics/random/chi_squared_distribution/cons/parms.cc:
1384 * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
1386 * testsuite/26_numerics/random/extreme_value_distribution/cons/
1388 * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
1390 * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
1392 * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
1394 * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
1396 * testsuite/26_numerics/random/negative_binomial_distribution/cons/
1398 * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
1400 * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
1402 * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
1404 * testsuite/26_numerics/random/uniform_int_distribution/cons/parms.cc:
1406 * testsuite/26_numerics/random/uniform_real_distribution/cons/parms.cc:
1408 * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
1410 * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
1411 * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
1412 * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
1413 * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
1415 * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
1416 * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
1417 * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
1418 * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
1419 * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
1420 * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
1421 * testsuite/ext/random/triangular_distribution/cons/parms.cc:
1423 * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
1425 * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
1428 * include/bits/alloc_traits.h (__allocator_traits_base::__diff_type)
1429 (__allocator_traits_base::__size_type): Remove.
1430 (allocator_traits::_Ptr): New class template to detect const and void
1431 pointer types without instantiating pointer_traits::rebind
1433 (allocator_traits::_Diff): Likewise for detecting difference_type.
1434 (allocator_traits::_Size): New class template to detect size_type
1435 without instantiating make_unsigned unnecessarily.
1436 * include/bits/ptr_traits.h (pointer_traits::element_type): Use
1437 __detected_or_t instead of __detected_or_t_.
1438 * include/std/type_traits (__detected_or_t_): Remove.
1439 * testsuite/20_util/allocator_traits/members/pointers.cc: New test.
1443 * include/bits/alloc_traits.h (__allocator_traits_base::__rebind):
1444 Replace with class template using void_t.
1445 (__alloc_rebind): Define in terms of
1446 __allocator_traits_base::__rebind.
1447 (allocator_traits): Remove unconditional static_assert for
1449 * include/bits/ptr_traits.h (__replace_first_arg): Remove type member.
1450 (pointer_traits::__rebind): Replace with class template using void_t.
1451 (pointer_traits::rebind): Define in terms of __rebind.
1452 (pointer_traits): Remove unconditional static_assert for rebind.
1453 * testsuite/20_util/allocator_traits/members/rebind_alloc.cc: New test.
1454 * testsuite/20_util/pointer_traits/rebind.cc: New test.
1457 * include/experimental/any (__any_caster): Avoid instantiating
1458 manager function for types that can't be stored in any.
1459 * include/std/any (__any_caster): Likewise.
1460 * testsuite/20_util/any/misc/any_cast.cc: Test non-copyable type.
1461 * testsuite/experimental/any/misc/any_cast.cc: Likewise.
1464 * include/bits/stl_algo.h (is_partitioned): Use increment instead of
1467 2017-01-19 Jonathan Wakely <jwakely@redhat.com>
1470 * include/bits/shared_ptr_base.h (__enable_shared_from_this_base):
1472 (__enable_shared_from_this): Declare __shared_ptr as a friend.
1473 * testsuite/ext/shared_ptr/1.cc: New test.
1476 * include/bits/stl_algo.h (is_partitioned): Don't retest the partition
1478 * testsuite/25_algorithms/is_partitioned/2.cc: New test.
1480 * doc/xml/manual/abi.xml: Fix typo.
1481 * doc/html/manual/abi.html: Likewise.
1484 * include/bits/predefined_ops.h (_Iter_less_val, _Val_less_iter): Add
1485 converting constructors from _Iter_less_iter.
1486 (_Iter_comp_val, _Val_comp_iter): Add converting constructors from
1488 (__iter_comp_val(_Iter_comp_iter<C>): Use converting constructor.
1489 (__val_comp_iter(_Iter_comp_iter<C>): Likewise.
1490 * include/bits/stl_heap.h (__is_heap_until, __push_heap, __pop_heap)
1491 (__make_heap, __sort_heap): Change _Compare parameters to references.
1492 (__is_heap, push_heap, __adjust_heap, __pop_heap, pop_heap)
1493 (__make_heap, make_heap, sort_heap, is_heap_until): Pass comparison
1494 functions as lvalues.
1495 (is_heap): Call __is_heap_until directly to avoid copying __comp.
1496 * testsuite/23_containers/priority_queue/67085.cc: Adjust test to
1497 count copies during construction with empty sequence.
1500 * include/bits/stl_heap.h (__is_heap): Use _GLIBCXX_MOVE.
1501 (__make_heap, __sort_heap): Don't use _GLIBCXX_MOVE inside loops.
1502 * testsuite/23_containers/priority_queue/67085.cc: Adjust expected
1504 * testsuite/25_algorithms/make_heap/movable.cc: New test.
1507 * include/bits/stl_heap.h (push_heap, __adjust_heap, __pop_heap)
1508 (pop_heap, __make_heap, make_heap, __sort_heap, sort_heap): Use
1509 _GLIBCXX_MOVE when passing comparison function to other functions.
1510 (is_heap_until, is_heap): Use std::move when passing comparison
1512 * testsuite/23_containers/priority_queue/67085.cc: New test.
1515 * doc/xml/manual/abi.xml (abi.versioning.history): Add markup to
1516 macro names, filenames, and literal values. Document _GLIBCXX_RELEASE.
1517 Document that the deprecated _GLIBCXX_VERSION macro was removed for
1519 * doc/html/*: Regenerate.
1520 * include/Makefile.am (_GLIBCXX_RELEASE): Set value.
1521 * include/Makefile.in: Regenerate.
1522 * include/bits/c++config (_GLIBCXX_RELEASE): Add #define.
1523 * testsuite/ext/profile/mutex_extensions_neg.cc: Use lineno of 0 in
1526 2017-01-18 Jonathan Wakely <jwakely@redhat.com>
1529 * include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use
1530 aligned buffer instead of default-initialized variable.
1531 * testsuite/29_atomics/atomic/69301.cc: New test.
1532 * include/experimental/memory (observer_ptr::release): Use reserved
1534 * include/ext/pointer.h (_Pointer_adapter::operator++(int))
1535 (_Pointer_adapter::operator--(int)): Likewise.
1538 * include/experimental/random (randint): Use temporary instead of
1539 thread_local static.
1541 2017-01-17 Joshua Conner <joshconner@google.com>
1543 * crossconfig.m4: Add fuchsia OS.
1544 * configure: Regenerate.
1546 2017-01-17 Jonathan Wakely <jwakely@redhat.com>
1549 * doc/xml/manual/abi.xml (abi.versioning.history): Explain why the
1550 __GLIBCXX__ macro is not useful. Remove redundant date information
1551 and link to the GCC release timeline.
1552 (abi.versioning.active): Move partial sentence into the previous
1554 * doc/html/*: Regenerate.
1557 * libsupc++/nested_exception.h (throw_with_nested): Use decay instead
1558 of remove_reference.
1559 * testsuite/18_support/nested_exception/79114.cc: New test.
1561 2017-01-17 Jakub Jelinek <jakub@redhat.com>
1564 * configure.ac: Add GCC_BASE_VER.
1565 * fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
1566 get version from BASE-VER file.
1567 * po/Makefile.in: Regenerated.
1568 * libsupc++/Makefile.in: Regenerated.
1569 * testsuite/Makefile.in: Regenerated.
1570 * src/Makefile.in: Regenerated.
1571 * configure: Regenerated.
1572 * Makefile.in: Regenerated.
1573 * include/Makefile.in: Regenerated.
1574 * doc/Makefile.in: Regenerated.
1575 * python/Makefile.in: Regenerated.
1576 * src/c++11/Makefile.in: Regenerated.
1577 * src/c++98/Makefile.in: Regenerated.
1578 * src/filesystem/Makefile.in: Regenerated.
1580 2017-01-16 Jonathan Wakely <jwakely@redhat.com>
1583 * src/c++11/functexcept.cc: Use new ABI for std::ios_base::failure
1585 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Don't override ABI
1586 for test, so new ios::failure can be caught.
1587 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
1588 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1589 exceptions_failbit.cc: Likewise.
1590 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1591 exceptions_failbit.cc: Likewise.
1592 * testsuite/27_io/basic_istream/extractors_other/char/
1593 exceptions_null.cc: Likewise.
1594 * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1595 exceptions_null.cc: Likewise.
1596 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
1597 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
1598 * testsuite/27_io/basic_ostream/inserters_other/char/
1599 exceptions_null.cc: Likewise.
1600 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1601 exceptions_null.cc: Likewise.
1602 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
1605 * include/bits/locale_classes.h (locale::facet::__shim): Change from
1606 private to protected.
1607 * src/c++11/cxx11-shim_facets.cc (__shim_accessor): Define helper to
1608 make locale::facet::__shim accessible.
1610 2017-01-16 Ville Voutilainen <ville.voutilainen@gmail.com>
1613 * include/bits/list.tcc (merge(list&&)): Fix backwards size adjustments.
1614 (merge(list&&, _StrictWeakOrdering)): Likewise.
1615 * testsuite/23_containers/list/operations/78389.cc: Add
1616 better test for the sizes.
1618 2017-01-14 Jonathan Wakely <jwakely@redhat.com>
1620 * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
1621 Skip test when -D_GLIBCXX_PROFILE mode is included in options.
1622 * testsuite/23_containers/map/modifiers/extract.cc: Likewise.
1623 * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
1625 * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
1626 * testsuite/23_containers/multimap/modifiers/extract.cc: Likewise.
1627 * testsuite/23_containers/multiset/modifiers/extract.cc: Likewise.
1628 * testsuite/23_containers/set/modifiers/extract.cc: Likewise.
1629 * testsuite/23_containers/unordered_map/modifiers/extract.cc:
1631 * testsuite/23_containers/unordered_multimap/modifiers/extract.cc::
1633 * testsuite/23_containers/unordered_multiset/modifiers/extract.cc::
1635 * testsuite/23_containers/unordered_set/modifiers/extract.cc:
1637 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
1639 * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
1640 * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
1641 * testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise.
1642 * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
1643 * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
1644 * testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise.
1645 * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
1646 * testsuite/libstdc++-prettyprinters/debug.cc: Likewise.
1647 * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise.
1648 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
1649 * testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
1650 * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
1651 * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
1653 2017-01-13 Jonathan Wakely <jwakely@redhat.com>
1656 * config/io/basic_file_stdio.cc (__basic_file<char>::close()): Don't
1657 retry fclose on EINTR.
1659 * include/profile/base.h: Remove unused header that leads to header
1660 cycle in C++17 mode.
1663 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string):
1664 Make _If_sv private.
1665 [!_GLIBCXX_USE_CXX11_ABI] (basic_string): Add member functions taking
1666 basic_string_view arguments.
1669 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Remove
1670 redundant option from cxxflags.
1671 (check_effective_target_cxx11-abi): Define.
1672 * testsuite/21_strings/basic_string/allocator/71964.cc: Use cxx11-abi
1674 * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
1675 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
1677 * testsuite/21_strings/basic_string/allocator/char/minimal.cc:
1679 * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
1680 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
1682 * testsuite/21_strings/basic_string/allocator/char/noexcept.cc:
1684 * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
1685 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
1687 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
1689 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
1691 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
1693 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
1695 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
1697 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
1699 * testsuite/23_containers/list/61347.cc: Likewise.
1700 * testsuite/27_io/basic_fstream/cons/base.cc: Likewise.
1701 * testsuite/27_io/ios_base/failure/cxx11.cc: Likewise.
1703 2017-01-13 Ville Voutilainen <ville.voutilainen@gmail.com>
1706 * include/bits/list.tcc (merge(list&&)):
1707 Adjust list sizes if the comparator throws.
1708 (merge(list&&, _StrictWeakOrdering)): Likewise.
1709 (sort()): Splice elements back from the scratch buffers
1710 if the comparator throws.
1711 (sort(_StrictWeakOrdering)): Likewise.
1712 * testsuite/23_containers/list/operations/78389.cc: New.
1714 2017-01-13 Jonathan Wakely <jwakely@redhat.com>
1716 * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Mark
1717 XFAIL for C++17 until node reinsertion supports fancy pointers.
1720 * testsuite/20_util/add_pointer/value.cc: Test forming function
1723 2017-01-13 Michael Brune <lucdanton@free.fr>
1726 * include/std/type_traits (__is_referenceable): Handle noexcept
1729 2017-01-12 Jonathan Wakely <jwakely@redhat.com>
1732 * include/bits/stl_queue.h (queue, priority_queue): Remove default
1733 member-initializers and define default constructors as templates with
1735 * include/bits/stl_stack.h (stack): Likewise.
1736 * testsuite/23_containers/priority_queue/requirements/constructible.cc:
1738 * testsuite/23_containers/priority_queue/requirements/
1739 explicit_instantiation/1.cc: Test more instantiations.
1740 * testsuite/23_containers/priority_queue/requirements/
1741 explicit_instantiation/1_c++98.cc: Likewise.
1742 * testsuite/23_containers/queue/requirements/constructible.cc: New.
1743 * testsuite/23_containers/stack/requirements/constructible.cc: New.
1746 * doc/xml/manual/intro.xml: Document LWG 2781 change.
1747 * doc/html/*: Regenerate.
1748 * include/std/functional (_Function_base::_Ref_manager): Remove.
1749 (_Function_handler): Remove partial specializations for
1751 (function::target): Remove special case for const qualification.
1752 * testsuite/20_util/function/6.cc: Adjust tests for target type.
1753 * testsuite/20_util/function/7.cc: Likewise.
1754 * testsuite/20_util/function/8.cc: Likewise.
1756 2017-01-11 Jonathan Wakely <jwakely@redhat.com>
1759 * include/bits/stl_map.h (map::lower_bound, map::upper_bound)
1760 (map::equal_range): Fix return type of heterogeneous overloads.
1761 * include/bits/stl_multimap.h (multimap::lower_bound)
1762 (multimap::upper_bound, multimap::equal_range): Likewise.
1763 * include/bits/stl_multiset.h (multiset::lower_bound)
1764 (multiset::upper_bound, multiset::equal_range): Likewise.
1765 * include/bits/stl_set.h (set::lower_bound, set::upper_bound)
1766 (set::equal_range): Likewise.
1767 * testsuite/23_containers/map/operations/2.cc
1768 * testsuite/23_containers/multimap/operations/2.cc
1769 * testsuite/23_containers/multiset/operations/2.cc
1770 * testsuite/23_containers/set/operations/2.cc
1773 * include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume
1774 the heterogeneous comparison can only find one match.
1775 * include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise.
1776 * testsuite/23_containers/map/operations/2.cc: Test count works with
1777 comparison function that just partitions rather than sorting.
1778 * testsuite/23_containers/set/operations/2.cc: Likewise.
1780 2017-01-11 Ville Voutilainen <ville.voutilainen@gmail.com>
1782 Reduce the size of variant, it doesn't need an index of
1783 type size_t internally.
1784 * include/std/variant (parse_numbers.h): New include.
1785 (__select_index): New.
1786 (_Variant_storage<false, _Types...>::_M_reset_impl): Use
1787 _index_type for comparison with variant_npos.
1788 (_Variant_storage<false, _Types...>::__index_type): New.
1789 (_Variant_storage<false, _Types...>::_M_index): Change the
1790 type from size_t to __index_type.
1791 (_Variant_storage<true, _Types...>::__index_type): New.
1792 (_Variant_storage<true, _Types...>::_M_index): Change the
1793 type from size_t to __index_type.
1794 (_Variant_base::_M_valid): Use _Storage::__index_type
1795 for comparison with variant_npos.
1796 (variant::index): Use _Base::_Storage::__index_type
1797 for comparison with variant_npos.
1798 * testsuite/20_util/variant/index_type.cc: New.
1800 2017-01-10 Jonathan Wakely <jwakely@redhat.com>
1802 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Adjust
1803 effective target selector to prevent running in C++17 mode.
1806 * include/bits/stl_queue.h (queue::c): Add default member initializer.
1807 (queue::queue()): Add constructor and define as defaulted.
1808 (queue::queue(_Sequence&&)): Remove default argument.
1809 (priority_queue::c, priority_queue::comp): Add default member
1811 (priority_queue::priority_queue()): Add constructor and define as
1813 (priority_queue::priority_queue(const _Compare&, _Sequence&&)):
1814 Remove default argument for first parameter.
1815 * include/bits/stl_stack.h (stack::c): Add default member initializer.
1816 (stack::stack()): Add constructor and define as defaulted.
1817 (stack::stack(const _Sequence&)): Remove default argument.
1818 * testsuite/23_containers/priority_queue/requirements/
1819 explicit_instantiation/1.cc: Test explicit instantiation with
1820 non-DefaultConstructible sequence.
1821 * testsuite/23_containers/priority_queue/77528.cc: New test.
1822 * testsuite/23_containers/priority_queue/requirements/
1823 explicit_instantiation/1_c++0x.cc: Replace with 1_c++98.cc.
1824 * testsuite/23_containers/queue/77528.cc: New test.
1825 * testsuite/23_containers/queue/requirements/explicit_instantiation/
1826 1.cc: Test explicit instantiation with non-DefaultConstructible
1828 * testsuite/23_containers/queue/requirements/explicit_instantiation/
1829 1_c++0x.cc: Replace with 1_c++98.cc.
1830 * testsuite/23_containers/stack/77528.cc: New test.
1831 * testsuite/23_containers/stack/requirements/explicit_instantiation/
1832 1.cc: Test explicit instantiation with non-DefaultConstructible
1834 * testsuite/23_containers/stack/requirements/explicit_instantiation/
1835 1_c++0x.cc: Replace with 1_c++98.cc.
1837 2017-01-10 Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
1839 * include/bits/locale_facets_nonio.tcc
1840 (time_get::_M_extract_via_format): Avoid compilation errors with
1841 non-standard struct tm.
1843 2017-01-10 François Dumont <fdumont@gcc.gnu.org>
1844 Jonathan Wakely <jwakely@redhat.com>
1846 * python/libstdcxx/v6/printers.py (_versioned_namespace): Define.
1847 (is_specialization, strip_versioned_namespace): New helpers functions
1848 to work with symbols in the versioned namespace.
1849 (Printer.add_version): Add second name using versioned namespace.
1850 (add_one_template_type_printer, add_one_type_printer): Add second
1851 type printers using versioned namespace.
1852 (register_type_printers): Add template type printer for basic_string.
1853 (build_libstdcxx_dictionary): Remove dead code.
1854 * python/libstdcxx/v6/xmethods.py: Make all matchers look for
1855 versioned namespace.
1856 * testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected
1858 * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
1860 2017-01-09 Jonathan Wakely <jwakely@redhat.com>
1863 * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Check for llrint and llround
1864 functions separately on darwin and if they're missing define
1865 _GLIBCXX_NO_C99_ROUNDING_FUNCS.
1866 * config.h.in: Regenerate.
1867 * configure: Regenerate.
1868 * include/c_global/cmath [_GLIBCXX_NO_C99_ROUNDING_FUNCS] (llrint)
1869 (llrintf, llrintl, llround, llroundf, llroundl): Do not define.
1871 * testsuite/30_threads/condition_variable/members/3.cc: Use new macro
1872 to detect correct thread_local destructors.
1873 * testsuite/util/testsuite_hooks.h (CORRECT_THREAD_LOCAL_DTORS):
1876 2017-01-09 Jonathan Wakely <jwakely@redhat.com>
1877 Aditya Kumar <hiraditya@msn.com>
1880 * include/bits/basic_string.tcc
1881 (basic_string::find(const CharT*, size_type, size_type)): Optimize.
1883 2017-01-06 Jonathan Wakely <jwakely@redhat.com>
1885 * testsuite/21_strings/basic_string/operations/find/char/6.cc: New.
1886 * testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: New.
1888 * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp:
1889 Include <cassert> header.
1892 * crossconfig.m4: Check for __cxa_thread_atexit on *-*-freebsd*.
1893 * configure: Regenerate.
1895 2017-01-06 Barrett Adair <barrettellisadair@gmail.com>
1896 Jonathan Wakely <jwakely@redhat.com>
1898 * include/std/variant (variant, swap): Replace __and_ usage with fold
1901 2017-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1904 * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove.
1905 * configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of
1906 GLIBCXX_CHECK_ASSEMBLER_HWCAP.
1907 * fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of
1909 * aclocal.m4: Regenerate.
1910 * configure: Regenerate.
1911 * Makefile.in, doc/Makefile.in, include/Makefile.in,
1912 libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
1913 src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in,
1914 src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.
1916 2017-01-06 Jonathan Wakely <jwakely@redhat.com>
1918 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Avoid redefinition.
1921 * include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val)
1922 (_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val)
1923 (_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and
1924 move function objects.
1925 (__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter)
1926 (__iter_comp_val, __iter_comp_iter, __negate): Move function objects.
1927 * testsuite/25_algorithms/sort/78991.cc: New test.
1929 2017-01-05 Jonathan Wakely <jwakely@redhat.com>
1931 * include/bits/std_function.h (function::_Signature_type): Remove.
1932 (function::function(_Functor)): Adjust.
1934 2017-01-05 Tim Shen <timshen@google.com>
1937 * include/std/variant (__gen_vtable_impl): rename __unused to
1938 __dimensions to avoid naming conflict.
1940 2017-01-04 Jonathan Wakely <jwakely@redhat.com>
1943 * config.h.in: Regenerate.
1944 * configure: Likewise.
1945 * configure.ac: Check for __cxa_thread_atexit.
1946 * libsupc++/atexit_thread.cc [_GLIBCXX_HAVE___CXA_THREAD_ATEXIT]:
1947 Don't define __cxa_thread_atexit if libc provides it.
1949 2017-01-04 Ville Voutilainen <ville.voutilainen@gmail.com>
1951 Implement 2801, Default-constructibility of unique_ptr.
1952 * include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New.
1953 (unique_ptr::_DeleterConstraint): Likewise.
1954 (unique_ptr()): Constrain.
1955 (unique_ptr(pointer)): Likewise.
1956 (unique_ptr(nullptr_t)): Likewise.
1957 (unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New.
1958 (unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain.
1959 (unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise.
1960 (unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise.
1961 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
1962 * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
1963 * testsuite/20_util/unique_ptr/cons/default.cc: New.
1964 * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust.
1966 2017-01-04 Pauli Nieminen <suokkos@gmail.com>
1967 Jonathan Wakely <jwakely@redhat.com>
1970 * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define.
1971 * config.h.in: Regenerate.
1972 * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46]
1973 (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make
1974 exports for exception_ptr, nested_exception, and future conditional.
1975 [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add
1976 exports for exception_ptr, nested_exception, and future conditional.
1977 * configure: Regenerate.
1978 * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER.
1979 * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
1980 * libsupc++/eh_atomics.h: New file for internal use only.
1981 (__eh_atomic_inc, __eh_atomic_dec): New.
1982 * libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
1983 (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
1984 (rethrow_exception): Use eh_atomics.h reference counting helpers.
1985 * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
1986 * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
1987 * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
1988 * libsupc++/exception_ptr.h: Likewise.
1989 * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
1990 * libsupc++/nested_exception.cc: Remove check for
1991 ATOMIC_INT_LOCK_FREE.
1992 * libsupc++/nested_exception.h: Likewise.
1993 * src/c++11/future.cc: Likewise.
1994 * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
1995 * testsuite/18_support/nested_exception/*: Likewise.
1996 * testsuite/30_threads/async/*: Likewise.
1997 * testsuite/30_threads/future/*: Likewise.
1998 * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
1999 * testsuite/30_threads/packaged_task/*: Likewise.
2000 * testsuite/30_threads/promise/*: Likewise.
2001 * testsuite/30_threads/shared_future/*: Likewise.
2003 2017-01-03 Gerald Pfeifer <gerald@pfeifer.com>
2005 * doc/xml/manual/documentation_hacking.xml: sourceforge.net now
2006 defaults to https; adjust reference.
2008 2017-01-03 Jonathan Wakely <jwakely@redhat.com>
2011 * include/std/thread (thread(const thread&&)): Add deleted
2013 * testsuite/30_threads/thread/cons/lwg2097.cc: New test.
2015 * doc/xml/manual/spine.xml: Update copyright years.
2016 * doc/xml/manual/build_hacking.xml: Fix spelling of libbuilddir.
2017 * doc/xml/manual/test.xml: Likewise.
2018 * doc/html/*: Regenerate.
2020 2017-01-01 Gerald Pfeifer <gerald@pfeifer.com>
2022 * doc/xml/faq.xml: Update address of C++ ABI link.
2023 * doc/xml/manual/abi.xml: Ditto.
2025 2017-01-01 Jakub Jelinek <jakub@redhat.com>
2027 Update copyright years.
2029 Copyright (C) 2017 Free Software Foundation, Inc.
2031 Copying and distribution of this file, with or without modification,
2032 are permitted in any medium without royalty provided the copyright
2033 notice and this notice are preserved.