Retro68/gcc/libstdc++-v3/ChangeLog

1992 lines
80 KiB
Plaintext
Raw Normal View History

2017-08-14 Release Manager
2012-03-27 23:13:14 +00:00
* GCC 7.2.0 released.
2012-03-27 23:13:14 +00:00
2017-07-26 Richard Biener <rguenther@suse.de>
2012-03-27 23:13:14 +00:00
2017-04-10 11:32:00 +00:00
Backport from mainline
2017-06-02 Richard Biener <rguenther@suse.de>
Markus Eisenmann <meisenmann.lba@fh-salzburg.ac.at>
2017-04-10 11:32:00 +00:00
PR libstdc++/80721
* libsupc++/eh_alloc.cc (pool::free): Keep list properly
sorted and add missing freelist item merging cases.
2015-08-28 15:33:40 +00:00
2017-07-25 Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
2017-04-10 11:32:00 +00:00
Backport from mainline
2017-06-09 Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
* doc/xml/manual/intro.xml: Document LWG 2802, 2873 and 2942 changes.
* include/bits/shared_ptr.h (shared_ptr): Use rvalues for deleters
(LWG 2802).
* include/bits/shared_ptr_base.h (_Sp_ebo_helper, _Sp_counted_deleter
(_Sp_counted_deleter::_Impl, __shared_count, __shared_ptr): Likewise.
* testsuite/20_util/shared_ptr/cons/lwg2802.cc: New.
2012-03-27 23:13:14 +00:00
2014-09-21 17:33:12 +00:00
Backport from mainline
2017-06-05 Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
* include/bits/shared_ptr_base.h (__shared_ptr::owner_before)
(__weak_ptr::owner_before, _Sp_owner_less::operator()): Add noexcept
specifiers as per LWG 2873 and LWG 2942.
* testsuite/20_util/owner_less/noexcept.cc: New.
* testsuite/20_util/shared_ptr/observers/owner_before.cc: Test
noexcept guarantees.
* testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
2015-08-28 15:33:40 +00:00
Backport from mainline
2017-04-28 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/80553
* include/bits/stl_construct.h (_Destroy, _Destroy_n): Add static
assertions to ensure type is destructible.
(destroy_at, destroy, destroy_n): Move from stl_uninitialized.h.
* include/bits/stl_uninitialized.h (destroy_at, destroy, destroy_n):
Move to stl_construct.h.
* testsuite/20_util/specialized_algorithms/memory_management_tools/
destroy_neg.cc: New test.
* testsuite/23_containers/vector/cons/destructible_neg.cc: New test.
2015-08-28 15:33:40 +00:00
2017-04-10 11:32:00 +00:00
Backport from mainline
2017-05-16 Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
* configure: Regenerate.
* doc/xml/manual/status_cxx2017.xml: Update status table.
* doc/html/*: Regenerate.
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/experimental/source_location: New header implementing N4519.
* testsuite/experimental/source_location/1.cc: New test.
2012-03-27 23:13:14 +00:00
2014-09-21 17:33:12 +00:00
Backport from mainline
2017-07-06 Jonathan Wakely <jwakely@redhat.com>
2017-04-10 11:32:00 +00:00
* include/bits/uses_allocator.h (__use_alloc(const _Alloc&&)): Add
deleted overload to prevent dangling references to rvalues.
* include/experimental/memory_resource
(polymorphic_allocator::construct): Do not call __use_alloc with
rvalue arguments.
2017-04-10 11:32:00 +00:00
Backport from mainline
2017-06-08 Jonathan Wakely <jwakely@redhat.com>
2017-04-10 11:32:00 +00:00
PR libstdc++/81017
* include/bits/std_function.h (function::function(function&&))
(function::operator=(funtion&&)): Add noexcept.
* testsuite/20_util/function/assign/move.cc: Check for noexcept.
* testsuite/20_util/function/cons/move.cc: Likewise.
2012-03-27 23:13:14 +00:00
2017-04-10 11:32:00 +00:00
Backport from mainline
2017-07-15 Jonathan Wakely <jwakely@redhat.com>
2017-04-10 11:32:00 +00:00
* include/std/mutex (scoped_lock): Reorder std::adopt_lock_t parameter
as per P0739R0.
* testsuite/30_threads/scoped_lock/cons/1.cc: Reorder arguments.
* testsuite/30_threads/scoped_lock/cons/deduction.cc: Test deduction
with std::adopt_lock_t.
* testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Check
feature-test macro.
2017-04-10 11:32:00 +00:00
Backport from mainline
2017-07-14 Jason Merrill <jason@redhat.com>
Jonathan Wakely <jwakely@redhat.com>
2012-03-27 23:13:14 +00:00
* include/std/variant (variant::variant(_Tp&&)): Constrain to remove
the constructor for empty variants from the candidate functions
during class template argument deduction.
* testsuite/20_util/variant/deduction.cc: New.
2012-03-27 23:13:14 +00:00
2014-09-21 17:33:12 +00:00
Backport from mainline
2017-06-02 Jonathan Wakely <jwakely@redhat.com>
2012-03-27 23:13:14 +00:00
PR libstdc++/80939
* include/std/variant (__erased_ctor, __erased_assign, __erased_swap)
(__erased_hash): Remove constexpr specifier and qualify calls to
__ref_cast.
(__erased_dtor): Remove constexpr specifier and use _Destroy.
2012-03-27 23:13:14 +00:00
2017-04-10 11:32:00 +00:00
Backport from mainline
2017-05-20 Tim Shen <timshen@google.com>
2012-03-27 23:13:14 +00:00
PR libstdc++/80737
* include/std/variant(variant::variant): SFINAE on is_same first.
* testsuite/20_util/variant/any.cc: test case.
2012-03-27 23:13:14 +00:00
2017-07-11 Jonathan Wakely <jwakely@redhat.com>
2012-03-27 23:13:14 +00:00
2017-04-10 11:32:00 +00:00
Backport from mainline
2017-04-21 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/80316
* include/std/future (_State_baseV2::_Setter::operator()): Remove
_S_check calls that are done after the pointer to the shared state is
already dereferenced.
(_State_baseV2::_Setter<_Res, void>): Define specialization for void
as partial specialization so it can be defined within the definition
of _State_baseV2.
(_State_baseV2::__setter): Call _S_check.
(_State_baseV2::__setter(promise<void>*)): Add overload for use by
promise<void>::set_value and promise<void>::set_value_at_thread_exit.
(promise<T>, promise<T&>, promise<void>): Make _State a friend.
(_State_baseV2::_Setter<void, void>): Remove explicit specialization.
(promise<void>::set_value, promise<void>::set_value_at_thread_exit):
Use new __setter overload.
* testsuite/30_threads/promise/members/at_thread_exit2.cc: New test.
* testsuite/30_threads/promise/members/set_exception.cc: Test
promise<T&> and promise<void> specializations.
* testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
Test for no_state error condition.
* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
2017-06-27 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/81221
* include/bits/stl_algo.h (sample): Qualify with _GLIBCXX_STD_A not
std.
* testsuite/25_algorithms/sample/81221.cc: New.
2017-06-21 Ville Voutilainen <ville.voutilainen@gmail.com>
2012-03-27 23:13:14 +00:00
2017-04-10 11:32:00 +00:00
Backport from mainline
2017-06-21 Ville Voutilainen <ville.voutilainen@gmail.com>
PR libstdc++/80675
PR libstdc++/80940
* include/std/istream:
(__is_convertible_to_basic_istream_test(basic_istream<_Ch, _Up>*)): New.
(__do_is_convertible_to_basic_istream_impl): Likewise.
(__is_convertible_to_basic_istream_impl): Likewise.
(__is_convertible_to_basic_istream): Use the new base.
(__rvalue_istream_type): New.
(operator>>(_Istream&&, _Tp&&)): Use the new helper alias
for the SFINAE check, convert to the helper alias type before
doing the actual extraction.
* include/std/ostream:
(__is_convertible_to_basic_ostream_test(basic_ostream<_Ch, _Up>*)): New.
(__do_is_convertible_to_basic_ostream_impl): Likewise.
(__is_convertible_to_basic_ostream_impl): Likewise.
(__is_convertible_to_basic_ostream): Use the new base.
(__rvalue_ostream_type): New.
(operator<<(_Ostream&&, const _Tp&)): Use the new helper alias
for the SFINAE check, convert to the helper alias type before
doing the actual insertion.
* testsuite/27_io/rvalue_streams-2.cc: Add new tests.
2017-06-21 Uros Bizjak <ubizjak@gmail.com>
* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
2017-06-21 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/81092
* configure: Regenerate.
2012-03-27 23:13:14 +00:00
2017-06-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2012-03-27 23:13:14 +00:00
* config/abi/post/i386-solaris2.10/baseline_symbols.txt: Regenerate.
* config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: Likewise.
* config/abi/post/i386-solaris2.11/baseline_symbols.txt: Likewise.
* config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: Likewise.
* config/abi/post/sparc-solaris2.10/baseline_symbols.txt: Likewise.
* config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt:
Likewise.
* config/abi/post/sparc-solaris2.11/baseline_symbols.txt: Likewise.
* config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt:
Likewise.
2012-03-27 23:13:14 +00:00
2017-06-18 H.J. Lu <hongjiu.lu@intel.com>
2012-03-27 23:13:14 +00:00
PR libstdc++/81092
* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
2012-03-27 23:13:14 +00:00
2017-06-16 Jakub Jelinek <jakub@redhat.com>
2017-04-10 11:32:00 +00:00
PR libstdc++/81092
* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
2017-04-10 11:32:00 +00:00
2017-06-16 Jonathan Wakely <jwakely@redhat.com>
2017-04-10 11:32:00 +00:00
* include/bits/locale_conv.h (wbuffer_convert::sync): Fix condition.
* testsuite/22_locale/conversions/buffer/2.cc: New.
2017-04-10 11:32:00 +00:00
* doc/xml/manual/appendix_contributing.xml: Link to the list of bad
names, and link to the test docs and note higher DejaGnu version
requirement.
* doc/xml/manual/allocator.xml: Fix ViewCVS URLs.
* doc/xml/manual/mt_allocator.xml: Likewise.
* doc/xml/manual/test.xml: Correct instructions on running tests.
* doc/html/*: Regenerate.
2017-04-10 11:32:00 +00:00
PR libstdc++/81092
* acinclude.m4: Bump libtool_VERSION.
* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
* config/abi/pre/gnu.ver: Add wstring constructor symbols to new
GLIBCXX_3.4.24 version.
* doc/xml/manual/abi.xml: Document new versions.
* doc/html/*: Regenerate.
* testsuite/21_strings/basic_string/cons/char/8.cc: Use base object
constructors to ensure required symbols are exported.
* testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
* testsuite/util/testsuite_abi.cc: Add new version.
* include/bits/locale_conv.h (wbuffer_convert::_M_put): Add missing
return statement.
* testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
Return void.
* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
Likewise.
* testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: Add
missing return statements.
* testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
Return void.
* testsuite/special_functions/14_expint/pr68397.cc: Likewise.
2017-04-10 11:32:00 +00:00
2017-06-07 Jonathan Wakely <jwakely@redhat.com>
2017-04-10 11:32:00 +00:00
PR libstdc++/81002
* include/bits/regex_compiler.h (__compile_nfa): Add template argument
list to specify traits type.
* testsuite/28_regex/basic_regex/ctors/basic/iter.cc: New.
2017-04-10 11:32:00 +00:00
2017-05-19 Jonathan Wakely <jwakely@redhat.com>
2017-04-10 11:32:00 +00:00
PR libstdc++/80796
* include/bits/stl_algo.h (search): Add new overload for C++17.
* testsuite/25_algorithms/search/searcher.cc: New.
2012-03-27 23:13:14 +00:00
2017-05-18 Jonathan Wakely <jwakely@redhat.com>
2017-04-10 11:32:00 +00:00
PR libstdc++/80478
* include/std/functional (_Mem_fn_traits_base): Add specializations
for noexcept member function types.
* testsuite/20_util/function_objects/mem_fn/80478.cc: New test.
2012-03-27 23:13:14 +00:00
2017-05-18 Jonathan Wakely <jwakely@redhat.com>
2017-04-10 11:32:00 +00:00
* doc/xml/manual/policy_data_structures.xml: Fix typo.
* doc/xml/manual/test_policy_data_structures.xml: Likewise.
2015-08-28 15:33:40 +00:00
* doc/html/*: Regenerate.
2012-03-27 23:13:14 +00:00
* doc/xml/manual/abi.xml: Document latest library versions.
* doc/xml/manual/build_hacking.xml: Document requirement to update
abi.xml when bumping library versions.
* doc/html/*: Regenerate.
2015-08-28 15:33:40 +00:00
2017-05-15 Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
PR libstdc++/80761
* include/bits/node_handle.h (_Node_insert_return): Reorder members.
(tuple_size, tuple_element): Remove partial specializations.
* include/bits/stl_tree.h (_Rb_tree::insert_return_type): Use
const_iterator for std::set.
* testsuite/23_containers/map/modifiers/extract.cc: New.
* testsuite/23_containers/set/modifiers/extract.cc: New.
* testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
* testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
2015-08-28 15:33:40 +00:00
2017-05-12 Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
PR libstdc++/78939
* include/std/utility (tuple_size<cv T>) [__cplusplus > 201402L]:
Only define partial specializations when tuple_size<T>::value is
valid.
* testsuite/20_util/tuple/78939.cc: New.
2015-08-28 15:33:40 +00:00
2017-05-02 Release Manager
2015-08-28 15:33:40 +00:00
* GCC 7.1.0 released.
2015-08-28 15:33:40 +00:00
2017-04-19 Jonathan Wakely <jwakely@redhat.com>
2017-04-10 11:32:00 +00:00
* doc/xml/manual/abi.xml: Rephrase one of the references to the
Itanium C++ ABI.
* doc/xml/manual/test.xml: Document DejaGnu 1.5.3 requirement.
* doc/html/*: Regenerate.
2017-04-10 11:32:00 +00:00
* libsupc++/new: Update comment on #endif directive.
2012-03-27 23:13:14 +00:00
PR libstdc++/80448
* include/experimental/bits/fs_dir.h (directory_iterator)
(recursive_directory_iterator): Remove noexcept from defaulted
constructors.
2012-03-27 23:13:14 +00:00
PR libstdc++/80446
* include/std/type_traits (is_aggregate): Change __has_builtin checks.
* libsupc++/new (launder): Likewise.
2012-03-27 23:13:14 +00:00
2017-04-18 Jonathan Wakely <jwakely@redhat.com>
2012-03-27 23:13:14 +00:00
* include/std/functional (default_searcher, __boyer_moore_array_base)
(__is_std_equal_to, __boyer_moore_base_t, boyer_moore_searcher)
(boyer_moore_horspool_searcher): Remove redundant namespace
qualification.
(default_searcher::operator()): Construct return value early and
advance second member in-place.
(boyer_moore_horspool_searcher::operator()): Increment random access
iterator directly instead of using std::next.
(boyer_moore_searcher::operator()): Fix return value.
* testsuite/20_util/function_objects/searchers.cc: Check both parts
of return values.
2012-03-27 23:13:14 +00:00
2017-04-12 Gerald Pfeifer <gerald@pfeifer.com>
2012-03-27 23:13:14 +00:00
* doc/xml/faq.xml: Update reference link to C++ ABI for Itanium.
* doc/xml/manual/abi.xml. Ditto (thrice).
2012-03-27 23:13:14 +00:00
2017-04-03 Jonathan Wakely <jwakely@redhat.com>
2012-03-27 23:13:14 +00:00
* doc/xml/manual/status_cxx2017.xml: Remove duplicate table entry.
* doc/html/*: Regenerate.
2012-03-27 23:13:14 +00:00
* testsuite/20_util/reference_wrapper/invoke.cc: Uncomment tests
that no longer fail.
2017-04-10 11:32:00 +00:00
* include/bits/ios_base.h: Correct comment.
* testsuite/util/testsuite_hooks.h: Likewise.
2017-04-10 11:32:00 +00:00
* doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
* doc/xml/manual/appendix_contributing.xml (contrib.organization): Add
directories for debug, parallel and profile headers.
* doc/html/*: Regenerate.
2017-04-10 11:32:00 +00:00
* include/bits/char_traits.h (__gnu_cxx::char_traits): Add
_GLIBCXX14_CONSTEXPR on assign, compare, find, and length.
(std::char_traits<char>, std::char_traits<wchar_t>): Add
_GLIBCXX17_CONSTEXPR on assign.
(std::char_traits<char16_t>, std::char_traits<char32_t>): Add
_GLIBCXX17_CONSTEXPR on assign, compare, find, and length.
* testsuite/21_strings/char_traits/requirements/
constexpr_functions_c++17.cc: New test.
2017-04-03 Ville Voutilainen <ville.voutilainen@gmail.com>
PR libstdc++/79141
* include/bits/stl_pair.h (__nonesuch_no_braces): New.
(operator=(typename conditional<
__and_<is_copy_assignable<_T1>,
is_copy_assignable<_T2>>::value,
const pair&, const __nonesuch&>::type)): Change __nonesuch
to __nonesuch_no_braces.
(operator=(typename conditional<
__not_<__and_<is_copy_assignable<_T1>,
is_copy_assignable<_T2>>>::value,
const pair&, const __nonesuch&>::type)): Likewise.
(operator=(typename conditional<
__and_<is_move_assignable<_T1>,
is_move_assignable<_T2>>::value,
pair&&, __nonesuch&&>::type)): Likewise.
* testsuite/20_util/pair/79141.cc: New.
2017-04-03 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement std::is_aggregate.
* include/std/type_traits (is_aggregate, is_aggregate_v): New.
* testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc:
New.
* testsuite/20_util/is_aggregate/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_aggregate/value.cc: Likewise.
2017-03-29 Ville Voutilainen <ville.voutilainen@gmail.com>
Adjust optional's pretty printer for LWG 2900.
* python/libstdcxx/v6/printers.py (StdExpOptionalPrinter.__init__):
Look at the nested payload in case of non-experimental optional.
2017-03-29 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement LWG 2900, The copy and move constructors
of optional are not constexpr.
* include/std/optional (_Optional_payload): New.
(_Optional_base): Remove the bool parameter.
(_Optional_base<_Tp, false>): Remove.
(_Optional_base()): Adjust.
(_Optional_base(nullopt_t)): Likewise.
(_Optional_base(in_place_t, _Args&&...)): Likewise.
(_Optional_base(in_place_t, initializer_list<_Up>, _Args&&...)):
Likewise.
(_Optional_base(const _Optional_base&)): Likewise.
(_Optional_base(_Optional_base&&)): Likewise.
(operator=(const _Optional_base&)): Likewise.
(operator=(_Optional_base&&)): Likewise.
(~_Optional_base()): Remove.
(_M_is_engaged()): Adjust.
(_M_get()): Likewise.
(_M_construct(_Args&&...)): Likewise.
(_M_destruct()): Likewise.
(_M_reset()): Likewise.
(_Optional_base::_Empty_byte): Remove.
(_Optional_base::_M_empty): Remove.
(_Optional_base::_M_payload): Adjust.
* testsuite/20_util/optional/cons/value_neg.cc: Adjust.
* testsuite/20_util/optional/constexpr/cons/value.cc: Add tests.
2017-03-28 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/80137
* include/bits/random.tcc (generate_canonical): Use std::nextafter
or numeric_limits::epsilon() to reduce out-of-range values.
* testsuite/26_numerics/random/uniform_real_distribution/operators/
64351.cc: Verify complexity requirement is met.
* doc/xml/manual/abi.xml: Add xml:id anchor.
* doc/xml/manual/using.xml (manual.intro.using.macros): Document
_GLIBCXX_RELEASE. Link to new anchor for __GLIBCXX__ notes.
(concurrency.io.structure): Add markup.
* doc/html/*: Regenerate.
2017-04-10 11:32:00 +00:00
PR libstdc++/80229
* include/bits/shared_ptr_base.h
(__shared_ptr::_M_enable_shared_from_this_with): Change parameters to
non-const and then use remove_cv to get unqualified type.
* testsuite/20_util/enable_shared_from_this/members/const.cc: Don't
cast away constness on object created const.
* testsuite/20_util/shared_ptr/cons/80229.cc: New test.
2017-03-26 Markus Trippelsdorf <markus@trippelsdorf.de>
PR libstdc++/80183
* include/bits/stl_tree.h:
(_Rb_tree_header::_M_move_data(_Rb_tree_header&)): Also save _M_color.
2017-03-23 Jonathan Wakely <jwakely@redhat.com>
* testsuite/23_containers/array/tuple_interface/
tuple_element_debug_neg.cc: Adjust dg-error.
* testsuite/23_containers/list/operations/78389.cc: Fix less-than to
define a valid strict weak ordering.
* testsuite/23_containers/priority_queue/67085.cc: Disable test for
Debug Mode, due to debug checks making extra copies of predicate.
* testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc:
Likewise.
2017-04-10 11:32:00 +00:00
* doc/xml/faq.xml: Add link.
* doc/xml/manual/backwards_compatibility.xml: Remove outdated
information on pre-ISO headers. Replace broken link to C++ FAQ Lite.
* doc/xml/manual/io.xml: Update broken link.
* doc/html/*: Regenerate.
2017-04-10 11:32:00 +00:00
2017-03-23 Daniel Kruegler <daniel.kruegler@gmail.com>
2017-04-10 11:32:00 +00:00
Implement LWG 2686, Why is std::hash specialized for error_code,
but not error_condition?
* include/std/system_error (hash<error_condition>): Define for C++17.
* testsuite/20_util/hash/operators/size_t.cc (hash<error_condition>):
Instantiate test for error_condition.
* testsuite/20_util/hash/requirements/explicit_instantiation.cc
(hash<error_condition>): Instantiate hash<error_condition>.
2017-04-10 11:32:00 +00:00
* include/bits/c++config (_GLIBCXX17_INLINE): Define.
* include/bits/regex_constants.h (All std::regex_constants constants):
Add _GLIBCXX17_INLINE as per P0607R0.
* include/bits/std_mutex.h (defer_lock, try_to_lock, adopt_lock):
2017-04-10 11:32:00 +00:00
Likewise.
* include/bits/stl_pair.h (piecewise_construct): Likewise.
* include/bits/uses_allocator.h (allocator_arg, uses_allocator_v)
(__is_uses_allocator_constructible_v)
(__is_nothrow_uses_allocator_constructible_v): Likewise.
* include/std/chrono (treat_as_floating_point_v): Likewise.
* include/std/functional (is_bind_expression_v, is_placeholder_v):
2017-04-10 11:32:00 +00:00
Likewise.
* include/std/optional (nullopt): Likewise.
* include/std/ratio (ratio_equal_v, ratio_not_equal_v, ratio_less_v)
ratio_less_equal_v, ratio_greater_v, ratio_greater_equal_v): Likewise.
* include/std/system_error (is_error_code_enum_v)
(is_error_condition_enum_v): Likewise.
* include/std/tuple (tuple_size_v, ignore): Likewise.
(ignore): Declare ignore constexpr as per LWG 2773, declare assignment
constexpr as per LWG 2933.
* include/std/type_traits (All variable templates): Add
_GLIBCXX17_INLINE as per P0607R0.
* include/std/variant (variant_size_v, variant_npos, __index_of_v)
(__tuple_count_v, __exactly_once): Likewise.
* testsuite/18_support/headers/new/synopsis.cc
(hardware_destructive_interference_size)
(hardware_constructive_interference_size): Likewise for commented-out
variables.
* testsuite/20_util/tuple/creation_functions/constexpr.cc: Add new
test function for constexpr std::ignore (LWG 2773).
* testsuite/20_util/tuple/creation_functions/constexpr_cpp14.cc: New
test for LWG 2933.
2017-03-22 Jonathan Wakely <jwakely@redhat.com>
* include/bits/shared_ptr.h (shared_ptr, weak_ptr): Add deduction
guides for C++17.
* include/bits/std_function.h (function): Likewise.
* include/bits/stl_pair.h (pair): Likewise.
* include/debug/array (__gnu_debug::array): Likewise.
* include/std/array (array): Likewise.
* include/std/functional (make_default_searcher)
(make_boyer_moore_searcher, make_boyer_moore_horspool_searcher):
Remove generator functions.
* include/std/tuple (tuple): Add deduction guides.
* include/std/valarray (valarray): Likewise.
* testsuite/20_util/function_objects/searchers.cc: Adjust to use
class template argument deduction instead of generator functions.
* testsuite/20_util/function/cons/deduction.cc: New test.
* testsuite/20_util/optional/cons/deduction_guide.cc: Rename to ...
* testsuite/20_util/optional/cons/deduction.cc: ... here.
* testsuite/20_util/pair/cons/deduction.cc: New test.
* testsuite/20_util/shared_ptr/cons/deduction.cc: New test.
* testsuite/20_util/tuple/cons/deduction.cc: New test.
* testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error.
* testsuite/20_util/unique_ptr/cons/deduction_neg.cc: New test.
* testsuite/20_util/weak_ptr/cons/deduction.cc: New test.
* testsuite/23_containers/array/cons/deduction.cc: New test.
* testsuite/23_containers/array/cons/deduction_neg.cc: New test.
* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
Adjust dg-error.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
2014-09-21 17:33:12 +00:00
Likewise.
* testsuite/26_numerics/valarray/deduction.cc: New test.
* testsuite/30_threads/lock_guard/cons/deduction.cc: New test.
* testsuite/30_threads/scoped_lock/cons/deduction.cc: New test.
* testsuite/30_threads/unique_lock/cons/deduction.cc: New test.
2017-03-20 François Dumont <fdumont@gcc.gnu.org>
* include/bits/stl_deque.h (deque): Access allocator value_type only if
concept checks are enabled.
* include/bits/stl_stack.h (stack): Likewise.
* include/bits/stl_vector.h (vector): Likewise.
* include/bits/stl_list.h (list): Likewise and check
_SGIAssignableConcept only in C++03.
* include/bits/stl_map.h (map): Likewise.
* include/bits/stl_set.h (set): Likewise.
* include/bits/stl_multimap.h (multimap): Likewise.
* include/bits/stl_multiset.h (multiset): Likewise.
* include/bits/stl_queue.h (queue, priority_queue): Likewise.
2017-03-18 Gerald Pfeifer <gerald@pfeifer.com>
* doc/xml/manual/appendix_contributing.xml: Convert link to
ansi.org to https.
Update link to the C++ standard at ansi.org.
* doc/xml/faq.xml: Remove information redundant with the above;
instead add a reference.
2017-03-17 Jonathan Wakely <jwakely@redhat.com>
* src/c++11/codecvt.cc (range): Add non-type template parameter and
define oerloaded operators for reading and writing code units.
(range<Elem, false>): Define partial specialization for accessing
wide characters in potentially unaligned byte ranges.
(ucs2_span(const char16_t*, const char16_t*, ...))
(ucs4_span(const char16_t*, const char16_t*, ...)): Change parameters
to range<const char16_t, false> in order to avoid unaligned reads.
(__codecvt_utf16_base<char16_t>::do_out)
(__codecvt_utf16_base<char32_t>::do_out)
(__codecvt_utf16_base<wchar_t>::do_out): Use range specialization for
unaligned data to avoid unaligned writes.
(__codecvt_utf16_base<char16_t>::do_in)
(__codecvt_utf16_base<char32_t>::do_in)
(__codecvt_utf16_base<wchar_t>::do_in): Likewise for writes. Return
error if there are unprocessable trailing bytes.
(__codecvt_utf16_base<char16_t>::do_length)
(__codecvt_utf16_base<char32_t>::do_length)
(__codecvt_utf16_base<wchar_t>::do_length): Pass arguments of type
range<const char16_t, false> to span functions.
* testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: New test.
2017-03-16 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/79980
* src/c++11/codecvt.cc (to_integer(codecvt_mode)): Fix target type.
PR libstdc++/80041
* src/c++11/codecvt.cc (__codecvt_utf16_base<wchar_t>::do_out)
(__codecvt_utf16_base<wchar_t>::do_in): Convert char arguments to
char16_t to work with UTF-16 instead of UTF-8.
* testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: New test.
* src/c++11/codecvt.cc (codecvt<char16_t, char, mbstate_t>)
(codecvt<char32_t, char, mbstate_t>, __codecvt_utf8_base<char16_t>)
(__codecvt_utf8_base<char32_t>, __codecvt_utf8_base<wchar_t>)
(__codecvt_utf16_base<char16_t>, __codecvt_utf16_base<char32_t>)
(__codecvt_utf16_base<wchar_t>, __codecvt_utf8_utf16_base<char16_t>)
(__codecvt_utf8_utf16_base<char32_t>)
(__codecvt_utf8_utf16_base<wchar_t>): Fix do_encoding() and
do_max_length() return values.
* testsuite/22_locale/codecvt/codecvt_utf16/members.cc: New test.
* testsuite/22_locale/codecvt/codecvt_utf8/members.cc: New test.
* testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc: New test.
PR libstdc++/79980
* include/bits/locale_conv.h (__do_str_codecvt): Set __count on
error path.
* src/c++11/codecvt.cc (operator&=, operator|=, operator~): Overloads
for manipulating codecvt_mode values.
(read_utf16_bom): Compare input to BOM constants instead of integral
constants that depend on endianness. Take mode parameter by
reference and adjust it, to distinguish between no BOM present and
UTF-16BE BOM present.
(ucs4_in, ucs2_span, ucs4_span): Adjust calls to read_utf16_bom.
(surrogates): New enumeration type.
(utf16_in, utf16_out): Add surrogates parameter to choose between
UTF-16 and UCS2 behaviour.
(utf16_span, ucs2_span): Use std::min not std::max.
(ucs2_out): Use std::min not std::max. Disallow surrogate pairs.
(ucs2_in): Likewise. Adjust calls to read_utf16_bom.
* testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: New test.
* testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: New test.
PR libstdc++/79511
* src/c++11/codecvt.cc (write_utf16_code_point): Don't write 0xffff
as a surrogate pair.
(__codecvt_utf8_utf16_base<char32_t>::do_in): Use native endianness
for internal representation.
(__codecvt_utf8_utf16_base<wchar_t>::do_in): Likewise.
* testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: New test.
PR libstdc++/80064
* include/bits/stl_heap.h (__is_heap, push_heap, __adjust_heap)
(pop_heap, make_heap, sort_heap, is_heap_until, is_heap): Cope with
invalid instantiations using function types for _Compare argument.
* testsuite/25_algorithms/make_heap/80064.cc: New test.
PR libstdc++/67440
* python/libstdcxx/v6/printers.py (find_type): Avoid gdb.Type.name
for GDB 7.6 compatibility, use gdb.Type.unqualified instead.
2017-03-15 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement LWG 2857, {variant,optional,any}::emplace should
return the constructed value.
* include/std/any (emplace(_Args&&...)): Change the return type and
return a reference to the constructed value.
(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
* include/std/optional (emplace(_Args&&...)): Likewise.
(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
* include/std/variant (emplace<_Tp>(_Args&&...)): Likewise.
(emplace<_Tp>(initializer_list<_Up>, _Args&&...)): Likewise.
(emplace<_Np>(_Args&&...)): Likewise.
(emplace<_Np>(initializer_list<_Up>, _Args&&...)): Likewise.
* testsuite/20_util/any/assign/emplace.cc: Add tests for
checking the return value of emplace.
* testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
* testsuite/20_util/optional/assignment/6.cc: Add tests for
checking the return value of emplace.
* testsuite/20_util/variant/run.cc: Likewise.
2017-03-15 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
PR libstdc++/62045
* include/ext/pb_ds/qdetail/binary_heap_/binary_heap_.hpp
(is_heap): Remove.
(push_heap): Remove the wrong checking using is_heap.
(make_heap): Remove the assertion using is_heap.
* include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp
(modify): Ditto.
(resize_for_insert_if_needed): Add PB_DS_ASSERT_VALID after
calling make_heap.
2017-03-15 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/62045
* testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc:
New test.
* testsuite/ext/pb_ds/regression/priority_queues.cc: Fix copy&paste
error in comment.
2012-03-27 23:13:14 +00:00
2017-03-15 Jonathan Wakely <jwakely@redhat.com>
2017-04-10 11:32:00 +00:00
* acinclude.m4 (GLIBCXX_CHECK_S_ISREG_OR_S_IFREG): Fix typo in
comment.
2017-04-10 11:32:00 +00:00
* config.h.in: Regenerate.
* configure: Regenerate.
* doc/Makefile.in: Regenerate.
2017-03-14 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/79162
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
(basic_string<C,T,A>::operator=(basic_string_view<C,T>)): Replace
with a constrained template.
[!_GLIBCXX_USE_CXX11_ABI]
(basic_string<C,T,A>::operator=(basic_string_view<C,T>)): Likewise.
* testsuite/21_strings/basic_string/cons/char/79162.cc: New test.
* testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: New test.
2017-03-13 Ville Voutilainen <ville.voutilainen@gmail.com>
PR libstdc++/80034
* include/bits/list.tcc (merge(list&&)): Use const for the size_t
in the catch-block.
(merge(list&&, _StrictWeakOrdering)): Likewise.
* testsuite/23_containers/list/operations/80034.cc: New.
2017-03-13 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement LWG 2806, Base class of bad_optional_access.
* include/std/optional (bad_optional_access):
Derive from std::exception.
(bad_optional_access::bad_optional_access): Adjust.
(bad_optional_access::what): New.
(__throw_bad_optional_access(const char*)):
Remove the parameter and adjust calls.
* testsuite/20_util/optional/cons/value_neg.cc: Adjust.
* testsuite/20_util/optional/typedefs.cc: Likewise.
2017-03-12 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement LWG 2934, optional<const T> doesn't compare with T.
* include/std/optional
(operator==(const optional<_Tp>&, const optional<_Tp>&)):
Turn into operator==(const optional<_Tp>&, const optional<_Up>&).
(operator!=(const optional<_Tp>&, const optional<_Tp>&)):
Turn into operator!=(const optional<_Tp>&, const optional<_Up>&).
(operator<(const optional<_Tp>&, const optional<_Tp>&)):
Turn into operator<(const optional<_Tp>&, const optional<_Up>&.
(operator>(const optional<_Tp>&, const optional<_Tp>&)):
Turn into operator>(const optional<_Tp>&, const optional<_Up>&.
(operator<=(const optional<_Tp>&, const optional<_Tp>&)):
Turn into operator<=(const optional<_Tp>&, const optional<_Up>&).
(operator>=(const optional<_Tp>&, const optional<_Tp>&)):
Turn into operator>=(const optional<_Tp>&, const optional<_Up>&).
(operator==(const optional<_Tp>&, const _Tp&)):
Turn into operator==(const optional<_Tp>&, const _Up&).
(operator==(const _Tp&, const optional<_Tp>&)):
Turn into operator==(const _Up&, const optional<_Tp>&).
(operator!=(const optional<_Tp>&, const _Tp&)):
Turn into operator!=(const optional<_Tp>&, const _Up&).
(operator!=(const _Tp&, const optional<_Tp>&)):
Turn into operator!=(const _Up&, const optional<_Tp>&).
(operator<(const optional<_Tp>&, const _Tp&)):
Turn into operator<(const optional<_Tp>&, const _Up&).
(operator<(const _Tp&, const optional<_Tp>&)):
Turn into operator<(const _Up&, const optional<_Tp>&).
(operator>(const optional<_Tp>&, const _Tp&)):
Turn into operator>(const optional<_Tp>&, const _Up&).
(operator>(const _Tp&, const optional<_Tp>&)):
Turn into operator>(const _Up&, const optional<_Tp>&).
(operator<=(const optional<_Tp>&, const _Tp&)):
Turn into operator<=(const optional<_Tp>&, const _Up&).
(operator<=(const _Tp&, const optional<_Tp>&)):
Turn into operator<=(const _Up&, const optional<_Tp>&).
(operator>=(const optional<_Tp>&, const _Tp&)):
Turn into operator>=(const optional<_Tp>&, const _Up&).
(operator>=(const _Tp&, const optional<_Tp>&)):
Turn into operator>=(const _Up&, const optional<_Tp>&).
* testsuite/20_util/optional/relops/7.cc: New.
2017-03-10 Jonathan Wakely <jwakely@redhat.com>
* testsuite/17_intro/names.cc: Undefine macros that clash with
identifiers in AIX system headers.
* include/bits/invoke.h (__invoke): Use __invoke_result instead of
result_of, and __is_nothrow_invocable instead of
__is_nothrow_callable.
* include/bits/shared_ptr_base.h (__shared_ptr): Use __is_invocable
instead of __is_callable.
* include/std/functional (invoke): use invoke_result_t instead of
result_of_t and is_nothrow_invocable instead of is_nothrow_callable.
(_Not_fn): Use __invoke_result instead of result_of.
* include/std/type_traits (__result_of_memobj, __result_of_memfun):
Remove partial specializations for reference_wrapper types.
(__result_of_impl): Use __inv_unwrap to strip reference_wrapper.
(__invoke_result): Define replacement for result_of and then use it to
define result_of.
(__is_callable_impl, __is_callable, __is_nothrow_callable): Replace
with __is_invocable_impl, __is_invocable, and __is_nothrow_invocable
respectively.
(invoke_result, invoke_result_t): Define for C++17.
(is_callable, is_nothrow_callable): Replace with is_invocable,
is_invocable_r, is_nothrow_invocable, and is_nothrow_invocable_r.
(is_callable_v, is_nothrow_callable_v): Replace with is_invocable_v,
is_invocable_r_v, is_nothrow_invocable_v, and is_nothrow_invocable_r_v.
* include/std/variant (hash<variant<T...>>): Use is_nothrow_invocable_v
instead of is_nothrow_callable_v.
* testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
main function.
* testsuite/20_util/function_objects/not_fn/1.cc: Use is_invocable
instead of is_callable.
* testsuite/20_util/is_callable/*: Rename directory and adjust tests
to use new traits.
* testsuite/20_util/is_nothrow_callable/*: Likewise.
* testsuite/20_util/optional/hash.cc: Use is_invocable_v instead of
is_callable.
* testsuite/20_util/variant/hash.cc: Likewise.
2017-03-10 George Lander <george.lander@arm.com>
* acinclude.m4 (glibcxx_cv_obsolete_isnan): Define
_GLIBCXX_INCLUDE_NEXT_C_HEADERS before including math.h.
2012-03-27 23:13:14 +00:00
* configure: Regenerate.
2017-03-09 Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
* include/std/functional (_Not_fn): Define macro to simplify
repetitive function definitions.
2015-08-28 15:33:40 +00:00
* doc/xml/manual/status_cxx2017.xml: Document std::byte support.
* include/c_global/cstddef (std::byte): Define for C++17.
* testsuite/18_support/byte/global_neg.cc: New test.
* testsuite/18_support/byte/ops.cc: New test.
* testsuite/18_support/byte/requirements.cc: New test.
2015-08-28 15:33:40 +00:00
2017-03-05 Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
* doc/xml/manual/status_cxx2017.xml: Document P0156R2 status.
2017-04-10 11:32:00 +00:00
* doc/html/*: Regenerate.
* include/std/mutex (scoped_lock): Implement new C++17 template.
* testsuite/30_threads/scoped_lock/cons/1.cc: New test.
* testsuite/30_threads/scoped_lock/requirements/
explicit_instantiation.cc: New test.
* testsuite/30_threads/scoped_lock/requirements/typedefs.cc: New test.
2017-03-02 Gerald Pfeifer <gerald@pfeifer.com>
François Dumont <frs.dumont@gmail.com>
Jonathan Wakely <jwakely@redhat.com>
2012-03-27 23:13:14 +00:00
* doc/xml/manual/debug_mode.xml: Update and simplify note
on link- and run-time coexistence.
2017-04-10 11:32:00 +00:00
2017-03-02 Jonathan Wakely <jwakely@redhat.com>
2017-04-10 11:32:00 +00:00
* testsuite/17_intro/headers/names.cc: Rename to ...
* testsuite/17_intro/names.cc: ... here.
2017-04-10 11:32:00 +00:00
PR libstdc++/79789
* include/bits/hashtable_policy.h (__clp2): Use reserved names for
parameters and local variables.
* include/bits/ios_base.h (make_error_code, make_error_condition):
2017-04-10 11:32:00 +00:00
Likewise.
* include/bits/list.tcc (list::sort): Likewise.
* include/bits/mask_array.h (mask_array): Likewise.
* include/bits/regex.h (regex_token_iterator): Likewise.
* include/bits/slice_array.h (slice_array): Likewise.
* include/bits/stl_algo.h (__sample): Likewise.
* include/std/memory (undeclare_no_pointers): Likewise.
* include/std/type_traits (is_callable_v, is_nothrow_callable_v):
2017-04-10 11:32:00 +00:00
Likewise.
* libsupc++/exception_ptr.h (__dest_thunk): Likewise.
* testsuite/17_intro/headers/names.cc: New test.
2017-04-10 11:32:00 +00:00
PR libstdc++/79798
* include/std/functional (bind::_Res_type_impl): Fix incorrect use of
result_of that loses top-level cv-qualifiers.
* testsuite/20_util/bind/79798.cc: New test.
2017-04-10 11:32:00 +00:00
2017-03-01 Gerald Pfeifer <gerald@pfeifer.com>
2017-04-10 11:32:00 +00:00
* doc/xml/manual/documentation_hacking.xml: Tweak link to
doxygen.org.
2017-04-10 11:32:00 +00:00
2017-02-23 Jonathan Wakely <jwakely@redhat.com>
2017-04-10 11:32:00 +00:00
* include/experimental/iterator: Include <iterator>.
* testsuite/experimental/iterator/requirements.cc: Check for contents
of <iterator>.
2017-04-10 11:32:00 +00:00
2017-02-19 Dinka Ranns <dinka.ranns@googlemail.com>
2017-04-10 11:32:00 +00:00
C++17 GB50 resolution
* include/std/chrono (duration::operator++()): Add
_GLIBCXX17_CONSTEXPR.
(duration::operator++(int)): Likewise.
(duration::operator--()): Likewise.
(duration::operator--(int)): Likewise.
(duration::operator+=(const duration&)): Likewise.
(duration::operator-=(const duration&)): Likewise.
(duration::operator*=(const rep&)): Likewise.
(duration::operator/=(const rep&)): Likewise.
(duration::operator%=(const rep&)): Likewise.
(duration::operator%=(const duration&)): Likewise.
(time_point::operator+=(const duration&)): Likewise.
(time_point::operator-=(const duration&)): Likewise.
* testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: New test.
* testsuite/20_util/duration/literals/range.cc: Adjust dg-error.
* testsuite/20_util/time_point/arithmetic/constexpr.cc: New test.
2017-04-10 11:32:00 +00:00
2017-02-19 Gerald Pfeifer <gerald@pfeifer.com>
2015-08-28 15:33:40 +00:00
* doc/xml/manual/debug.xml: Adjust link to ThreadSanitizer.
2015-08-28 15:33:40 +00:00
2017-02-18 Gerald Pfeifer <gerald@pfeifer.com>
2015-08-28 15:33:40 +00:00
* doc/xml/manual/io.xml: Update link to groups.google.com.
Tweak link description.
2015-08-28 15:33:40 +00:00
2017-02-18 Gerald Pfeifer <gerald@pfeifer.com>
2015-08-28 15:33:40 +00:00
* doc/xml/manual/profile_mode.xml: Fix link.
2015-08-28 15:33:40 +00:00
2017-02-16 Gerald Pfeifer <gerald@pfeifer.com>
2015-08-28 15:33:40 +00:00
* doc/xml/manual/policy_data_structures.xml: Simplify and
standardize references to boost.org.
* doc/xml/manual/policy_data_structures_biblio.xml: Ditto.
* doc/xml/manual/shared_ptr.xml: Ditto.
2015-08-28 15:33:40 +00:00
2017-02-16 Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
PR libstdc++/60936
* src/c++11/snprintf_lite.cc (__concat_size_t): Calculate length
written to buffer, not length remaining in buffer.
2015-08-28 15:33:40 +00:00
2017-02-15 Tim Shen <timshen@google.com>
2015-08-28 15:33:40 +00:00
PR libstdc++/78723
* include/std/variant (operator<(), operator>(), operator<=(),
operator>=(), operator==(), operator!=()): Implement P0393R3.
* testsuite/20_util/variant/compile.cc: Adjust tests.
* testsuite/20_util/variant/run.cc: Adjust tests.
2015-08-28 15:33:40 +00:00
2017-02-15 Tim Shen <timshen@google.com>
2015-08-28 15:33:40 +00:00
PR libstdc++/79513
* include/std/variant (visit()): Forward variant types to the return
type detection code.
* testsuite/20_util/variant/compile.cc: Add test cases.
2014-09-21 17:33:12 +00:00
2017-02-13 H.J. Lu <hongjiu.lu@intel.com>
2014-09-21 17:33:12 +00:00
PR libstdc++/79348
* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
2014-09-21 17:33:12 +00:00
2017-02-13 Jakub Jelinek <jakub@redhat.com>
2015-08-28 15:33:40 +00:00
PR libstdc++/79348
* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Likewise.
* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
* config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Likewise.
* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
2015-08-28 15:33:40 +00:00
2017-02-13 Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
PR libstdc++/79486
* include/std/future (__future_base::_Task_state::_M_run)
(__future_base::_Task_state::_M_run_delayed): Use lvalue types in
result_of expressions.
* testsuite/30_threads/packaged_task/79486.cc: New.
2015-08-28 15:33:40 +00:00
2017-02-11 Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
PR libstdc++/79467
* include/bits/shared_ptr_base.h (__shared_ptr(_Yp*, _Deleter))
(__shared_ptr(_Yp*, _Deleter, _Alloc)): Use lvalue types in
__is_callable check.
* testsuite/20_util/shared_ptr/cons/79467.cc: New.
2015-08-28 15:33:40 +00:00
* include/bits/atomic_base.h: Re-indent.
2015-08-28 15:33:40 +00:00
2017-02-10 Gerald Pfeifer <gerald@pfeifer.com>
2015-08-28 15:33:40 +00:00
* doc/xml/manual/profile_mode.xml: Update a paper reference.
2015-08-28 15:33:40 +00:00
2017-02-08 Gerald Pfeifer <gerald@pfeifer.com>
2015-08-28 15:33:40 +00:00
* src/c++11/snprintf_lite.cc (__err): Use https for bug reporting.
2015-08-28 15:33:40 +00:00
2017-02-08 Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
* doc/xml/manual/policy_data_structures.xml: Fix spelling of author's
name.
* doc/xml/manual/policy_data_structures_biblio.xml: Likewise. Remove
broken links to texts that are no longer online.
* doc/xml/manual/profile_mode.xml: Update links to CGO 2009 paper and
LCPC 2006 paper.
* doc/xml/manual/using.xml: Update links to memory model information.
* doc/xml/manual/using_exceptions.xml: Update link to "Appendix E:
Standard-Library Exception Safety".
* doc/html/*: Regenerate.
2015-08-28 15:33:40 +00:00
2017-02-08 Gerald Pfeifer <gerald@pfeifer.com>
* doc/xml/manual/profile_mode.xml: Unbreak link to
"Optimizing Sorting with Machine Learning Algorithms".
2017-02-08 Gerald Pfeifer <gerald@pfeifer.com>
* src/c++11/snprintf_lite.cc (__err): Update bug reporting URL.
2017-02-08 Gerald Pfeifer <gerald@pfeifer.com>
* doc/xml/manual/abi.xml: Update link to "Sun Studio 11: C++
Migration Guide".
2017-02-07 Gerald Pfeifer <gerald@pfeifer.com>
* doc/html/ext/lwg-active.html: Remove.
* doc/html/ext/lwg-closed.html: Ditto.
* doc/html/ext/lwg-defects.html: Ditto.
* doc/Makefile.am (xml_extradir): Remove.
(xml_extra): Ditto.
(stamp-html-docbook-lwg): Remove recipe...
(stamp-html-docbook-data): ...and its use here.
* doc/Makefile.in: Regenerate.
* doc/xml/manual/intro.xml: Shorten two paragraphs explaining
the relationship to the upstream working group.
Replace a local link to ../ext/lwg-active.html by the upstream one.
Replace all reference to ../ext/lwg-defects.html by a new entity
&DR; which refers to the upstream address.
2017-02-07 Gerald Pfeifer <gerald@pfeifer.com>
* doc/xml/manual/status_cxx2017.xml: Fix link to N4284.
2017-02-06 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/79323
* testsuite/20_util/duration/literals/range.cc: Prune extra output
at -O0.
2017-02-06 Gerald Pfeifer <gerald@pfeifer.com>
* doc/xml/manual/documentation_hacking.xml: Update URL of the
DocBook Element Reference. Use that term as link description
instead of "online".
epubcheck has moved to GitHub.
Remove obsolete link to DocBook Publishing Tools.
2017-02-03 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/66145
* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Restore ABI override
so new ios::failure can be caught even when old ABI is the default.
* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/
exceptions_failbit.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
exceptions_failbit.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
exceptions_null.cc: Likewise.
* testsuite/27_io/ios_base/storage/2.cc: Likewise.
PR libstdc++/60936
* src/c++11/Makefile.am: Add new files.
* src/c++11/Makefile.in: Regenerate.
* src/c++11/cow-string-inst.cc [!_GLIBCXX_USE_CXX11_ABI]
(operator<<, operator>>, getline): Move explicit instantiations to ...
* src/c++11/cow-string-io-inst.cc: ... new file.
* src/c++11/cow-wstring-inst.cc [!_GLIBCXX_USE_CXX11_ABI]
(operator<<, operator>>, getline): Move explicit instantiations to ...
* src/c++11/cow-wstring-io-inst.cc: ... new file.
* src/c++11/functexcept.cc (__throw_ios_failure, __throw_system_error)
(__throw_future_error, __throw_bad_function_call):
(__throw_regex_error): Move functions for C++11 exceptions to the
files that define the exception types.
* src/c++11/functional.cc (__throw_bad_function_call): Move here.
* src/c++11/future.cc (__throw_future_error): Likewise.
* src/c++11/ios.cc (__throw_ios_failure): Likewise.
* src/c++11/regex.cc (__throw_regex_error): Likewise.
* src/c++11/snprintf_lite.cc (__concat_size_t): Print decimal
representation directly instead of calling __int_to_char.
* src/c++11/sso_string.cc (__sso_string): New file for definition
of __sso_string type.
* src/c++11/string-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for
explicit instantiations of narrow string I/O functions.
* src/c++11/system_error.cc (__throw_system_error): Move here.
(__sso_string): Move to new file.
* src/c++11/wstring-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for
explicit instantiations of wide string I/O functions.
* src/c++98/misc-inst.cc [_GLIBCXX_USE_CXX11_ABI] (operator<<)
(operator>>, getline): Remove explicit instantiations from here.
2017-02-02 H.J. Lu <hongjiu.lu@intel.com>
* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
2017-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.host: Separate Solaris/SPARC and x86 baselines.
* config/abi/post/solaris2.10/baseline_symbols.txt: Move ...
* config/abi/post/sparc-solaris2.10/baseline_symbols.txt: ... here.
* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Move ...
* config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt:
... here.
* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Move ...
* config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: ... here.
* config/abi/post/i386-solaris2.10/baseline_symbols.txt: New file.
* config/abi/post/solaris2.11/baseline_symbols.txt: Move ...
* config/abi/post/sparc-solaris2.11/baseline_symbols.txt: ... here.
* config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Move ...
* config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt:
... here.
* config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Move ...
* config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: ... here.
* config/abi/post/i386-solaris2.11/baseline_symbols.txt: New file.
* config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
* config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
* config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
* config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
2017-02-01 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/78346
* include/bits/predefined_ops.h (_Iter_equals_iter): Store iterator
not its referent.
(_Iter_comp_to_iter): Likewise.
* testsuite/25_algorithms/search/78346.cc: New test.
PR libstdc++/79254
* config/abi/pre/gnu.ver: Remove recently added symbols.
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
(basic_string::_M_copy_assign): Remove.
(basic_string::operator=(const basic_string&)): Don't dispatch to
_M_copy_assign. If source object is small just deallocate, otherwise
perform new allocation before making any changes.
* include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
(basic_string::_M_copy_assign(const basic_string&, true_type)):
Remove.
* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
Test cases where the allocators are equal or the string is small.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
Likewise.
2015-08-28 15:33:40 +00:00
2017-01-30 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement LWG 2825, LWG 2756 breaks class template argument
deduction for optional.
* include/std/optional: Add a deduction guide.
* testsuite/20_util/optional/cons/deduction_guide.cc: New.
2017-01-27 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/79254
* config/abi/pre/gnu.ver: Add new symbols.
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
(basic_string::_M_copy_assign): New overloaded functions to perform
copy assignment.
(basic_string::operator=(const basic_string&)): Dispatch to
_M_copy_assign.
* include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
(basic_string::_M_copy_assign(const basic_string&, true_type)):
Define, performing rollback on exception.
* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
Test exception-safety guarantee.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
Likewise.
* testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make
std::swap visible.
2015-08-28 15:33:40 +00:00
2017-01-26 Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
PR libstdc++/70607
* include/tr1/complex (conj): Remove using-declaration and restore
overloads, reverting previous change.
2015-08-28 15:33:40 +00:00
* testsuite/23_containers/list/operations/78389.cc: Fix for C++11
mode.
* testsuite/23_containers/priority_queue/requirements/constructible.cc:
Mark as unsupported in C++98 mode.
* testsuite/23_containers/queue/requirements/constructible.cc:
Likewise.
* testsuite/23_containers/stack/requirements/constructible.cc:
Likewise.
* testsuite/25_algorithms/make_heap/movable.cc: Fix for C++11 mode.
PR libstdc++/79243
* include/bits/c++config (literals::string_view_literals::__7): Add.
Only declare versioned namespaces for the relevant C++ dialects.
* include/experimental/bits/erase_if.h (fundamentals_v2::__detail):
Add versioning macros.
* include/experimental/bits/lfts_config.h:
(fundamentals_v1::__detail::__7, fundamentals_v2::__detail::__7): Add.
* include/experimental/string_view (fundamentals_v2::__detail):
Add versioning macros.
(fundamentals_v2::__detail::__identity): Remove.
(fundamentals_v2::__detail::__idt): Use common_type instead of
__detail::__identity.
* include/std/string_view (__detail::__identity, __detail::__idt):
Likewise.
(literals::string_view_literals): Fix nesting of versioning macros.
2015-08-28 15:33:40 +00:00
PR libstdc++/79190
* libsupc++/del_opa.cc (operator delete(void*, std::align_val_t))
[!_GLIBCXX_HAVE_ALIGNED_ALLOC && !_GLIBCXX_HAVE_POSIX_MEMALIGN
&& !_GLIBCXX_HAVE_MEMALIGN && !_GLIBCXX_HAVE__ALIGNED_MALLOC]:
Retrieve original pointer value allocated by malloc.
* libsupc++/new_opa.cc [!_GLIBCXX_HAVE_ALIGNED_ALLOC
&& !_GLIBCXX_HAVE_POSIX_MEMALIGN && !_GLIBCXX_HAVE_MEMALIGN
&& !_GLIBCXX_HAVE__ALIGNED_MALLOC] (aligned_alloc(size_t, size_t)):
Define, adjusting pointer value allocated by malloc and storing for
retrieval by operator delete.
2015-08-28 15:33:40 +00:00
2017-01-26 Jakub Jelinek <jakub@redhat.com>
2015-08-28 15:33:40 +00:00
* libsupc++/eh_atomics.h: Update copyright years.
* testsuite/20_util/unique_ptr/cons/default.cc: Update copyright years.
2015-08-28 15:33:40 +00:00
2017-01-25 Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
PR libstdc++/61791
PR libstdc++/70607
* include/std/complex (real(T), imag(T)): Add _GLIBCXX_CONSTEXPR.
(proj(T), conj(T)): Change return types per DR 1522.
* include/tr1/complex (conj): Remove overloads and use std::conj.
* testsuite/26_numerics/complex/dr781_dr1137.cc: Rename to...
* testsuite/26_numerics/complex/dr781.cc: ... this, and update.
* testsuite/26_numerics/complex/value_operations/constexpr2.cc: Test
real(T) and imag(T). Allow testing for C++11 too.
2015-08-28 15:33:40 +00:00
2017-01-24 Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
PR libstdc++/79206
* include/experimental/string_view (operator==): Check sizes first.
* include/std/string_view (operator==): Likewise.
2015-08-28 15:33:40 +00:00
2017-01-23 Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
* testsuite/experimental/array/make_array.cc: Restore <functional>
inclusion.
2015-08-28 15:33:40 +00:00
2017-01-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
2015-08-28 15:33:40 +00:00
* testsuite/29_atomics/atomic/69301.cc: Require atomic builtins.
2015-08-28 15:33:40 +00:00
2017-01-23 Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
PR libstdc++/79195
* include/experimental/array (__make_array_elem): New class template
and partial specialization.
(__is_reference_wrapper): Move into __make_array_elem specialization.
(make_array): Use __make_array_elem to determine element type and move
static assertion into specialization. Qualify std::forward call.
(to_array): Add exception specifiation.
* testsuite/experimental/array/make_array.cc: Test argument types
without a common type.
* testsuite/experimental/array/neg.cc: Adjust expected error message.
2015-08-28 15:33:40 +00:00
2017-01-22 Gerald Pfeifer <gerald@pfeifer.com>
2015-08-28 15:33:40 +00:00
* doc/xml/manual/debug.xml: code.google.com uses https now.
2015-08-28 15:33:40 +00:00
2017-01-22 Gerald Pfeifer <gerald@pfeifer.com>
2015-08-28 15:33:40 +00:00
* doc/xml/manual/test.xml: Fix link into gccint online manual.
2015-08-28 15:33:40 +00:00
2017-01-21 Ville Voutilainen <ville.voutilainen@gmail.com>
2015-08-28 15:33:40 +00:00
Make poisoned hashes SFINAE away the call operator of the hash.
* include/bits/functional_hash.h
(__poison_hash::__enable_hash_call): New.
* include/std/optional (__optional_hash_call_base): New.
(hash<optional<_Tp>>): Derive from the new base,
move the hash function into that base.
* include/std/variant (__variant_hash_call_base_impl): New.
(__variant_hash_call_base): Likewise.
(hash<variant<_Types...>>): Derive from the new base,
move the hash function into that base.
* testsuite/20_util/optional/hash.cc: Add tests for is_callable.
* testsuite/20_util/variant/hash.cc: Likewise.
2015-08-28 15:33:40 +00:00
2017-01-20 Joe Seymour <joe.s@somniumtech.com>
2015-08-28 15:33:40 +00:00
* acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): Support uint20_t.
2017-04-10 11:32:00 +00:00
* configure: Regenerate.
2015-08-28 15:33:40 +00:00
2017-01-20 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/69240
* include/bits/random.h (uniform_real_distribution::param_type)
(normal_distribution::param_type, lognormal_distribution::param_type)
(gamma_distribution::param_type, chi_squared_distribution::param_type)
(cauchy_distribution::param_type, fisher_f_distribution::param_type)
(student_t_distribution::param_type)
(bernoulli_distribution::param_type, binomial_distribution::param_type)
(geometric_distribution::param_type)
(negative_binomial_distribution::param_type)
(poisson_distribution::param_type)
(exponential_distribution::param_type)
(weibull_distribution::param_type)
(extreme_value_distribution::param_type)
(discrete_distribution::param_type)
(piecewise_constant_distribution::param_type)
(piecewise_linear_distribution::param_type): Define operator!=.
* include/bits/uniform_int_dist.h
(uniform_int_distribution::param_type): Likewise.
* include/ext/random (beta_distribution::param_type)
(rice_distribution::param_type, nakagami_distribution::param_type)
(pareto_distribution::param_type, k_distribution::param_type)
(arcsine_distribution::param_type, hoyt_distribution::param_type)
(triangular_distribution::param_type)
(von_mises_distribution::param_type)
(hypergeometric_distribution::param_type)
(logistic_distribution::param_type)
(uniform_on_sphere_distribution::param_type)
(uniform_inside_sphere_distribution::param_type): Likewise.
* testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
Test construction with param_type.
* testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/chi_squared_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/extreme_value_distribution/cons/
parms.cc: Likewise.
* testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/negative_binomial_distribution/cons/
parms.cc: Likewise.
* testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/uniform_int_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/uniform_real_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
Likewise.
* testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
Likewise.
* testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/triangular_distribution/cons/parms.cc:
Likewise.
* testsuite/ext/random/uniform_inside_sphere_distribution/cons/
parms.cc: Likewise.
* testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
PR libstdc++/72792
* include/bits/alloc_traits.h (__allocator_traits_base::__diff_type)
(__allocator_traits_base::__size_type): Remove.
(allocator_traits::_Ptr): New class template to detect const and void
pointer types without instantiating pointer_traits::rebind
unnecessarily.
(allocator_traits::_Diff): Likewise for detecting difference_type.
(allocator_traits::_Size): New class template to detect size_type
without instantiating make_unsigned unnecessarily.
* include/bits/ptr_traits.h (pointer_traits::element_type): Use
__detected_or_t instead of __detected_or_t_.
* include/std/type_traits (__detected_or_t_): Remove.
* testsuite/20_util/allocator_traits/members/pointers.cc: New test.
PR libstdc++/72792
PR libstdc++/72793
* include/bits/alloc_traits.h (__allocator_traits_base::__rebind):
Replace with class template using void_t.
(__alloc_rebind): Define in terms of
__allocator_traits_base::__rebind.
(allocator_traits): Remove unconditional static_assert for
rebind_alloc.
* include/bits/ptr_traits.h (__replace_first_arg): Remove type member.
(pointer_traits::__rebind): Replace with class template using void_t.
(pointer_traits::rebind): Define in terms of __rebind.
(pointer_traits): Remove unconditional static_assert for rebind.
* testsuite/20_util/allocator_traits/members/rebind_alloc.cc: New test.
* testsuite/20_util/pointer_traits/rebind.cc: New test.
PR libstdc++/69321
* include/experimental/any (__any_caster): Avoid instantiating
manager function for types that can't be stored in any.
* include/std/any (__any_caster): Likewise.
* testsuite/20_util/any/misc/any_cast.cc: Test non-copyable type.
* testsuite/experimental/any/misc/any_cast.cc: Likewise.
PR libstdc++/64903
* include/bits/stl_algo.h (is_partitioned): Use increment instead of
std::advance.
2017-01-19 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/79156
* include/bits/shared_ptr_base.h (__enable_shared_from_this_base):
Fix return type.
(__enable_shared_from_this): Declare __shared_ptr as a friend.
* testsuite/ext/shared_ptr/1.cc: New test.
PR libstdc++/64903
* include/bits/stl_algo.h (is_partitioned): Don't retest the partition
point.
* testsuite/25_algorithms/is_partitioned/2.cc: New test.
* doc/xml/manual/abi.xml: Fix typo.
* doc/html/manual/abi.html: Likewise.
PR libstdc++/67085
* include/bits/predefined_ops.h (_Iter_less_val, _Val_less_iter): Add
converting constructors from _Iter_less_iter.
(_Iter_comp_val, _Val_comp_iter): Add converting constructors from
_Iter_comp_iter.
(__iter_comp_val(_Iter_comp_iter<C>): Use converting constructor.
(__val_comp_iter(_Iter_comp_iter<C>): Likewise.
* include/bits/stl_heap.h (__is_heap_until, __push_heap, __pop_heap)
(__make_heap, __sort_heap): Change _Compare parameters to references.
(__is_heap, push_heap, __adjust_heap, __pop_heap, pop_heap)
(__make_heap, make_heap, sort_heap, is_heap_until): Pass comparison
functions as lvalues.
(is_heap): Call __is_heap_until directly to avoid copying __comp.
* testsuite/23_containers/priority_queue/67085.cc: Adjust test to
count copies during construction with empty sequence.
PR libstdc++/67085
* include/bits/stl_heap.h (__is_heap): Use _GLIBCXX_MOVE.
(__make_heap, __sort_heap): Don't use _GLIBCXX_MOVE inside loops.
* testsuite/23_containers/priority_queue/67085.cc: Adjust expected
number of copies.
* testsuite/25_algorithms/make_heap/movable.cc: New test.
PR libstdc++/67085
* include/bits/stl_heap.h (push_heap, __adjust_heap, __pop_heap)
(pop_heap, __make_heap, make_heap, __sort_heap, sort_heap): Use
_GLIBCXX_MOVE when passing comparison function to other functions.
(is_heap_until, is_heap): Use std::move when passing comparison
function.
* testsuite/23_containers/priority_queue/67085.cc: New test.
PR libstdc++/78905
* doc/xml/manual/abi.xml (abi.versioning.history): Add markup to
macro names, filenames, and literal values. Document _GLIBCXX_RELEASE.
Document that the deprecated _GLIBCXX_VERSION macro was removed for
the 4.0.0 release.
* doc/html/*: Regenerate.
* include/Makefile.am (_GLIBCXX_RELEASE): Set value.
* include/Makefile.in: Regenerate.
* include/bits/c++config (_GLIBCXX_RELEASE): Add #define.
* testsuite/ext/profile/mutex_extensions_neg.cc: Use lineno of 0 in
dg-error.
2015-08-28 15:33:40 +00:00
2017-01-18 Jonathan Wakely <jwakely@redhat.com>
2017-04-10 11:32:00 +00:00
PR libstdc++/69301
* include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use
aligned buffer instead of default-initialized variable.
* testsuite/29_atomics/atomic/69301.cc: New test.
* include/experimental/memory (observer_ptr::release): Use reserved
name.
* include/ext/pointer.h (_Pointer_adapter::operator++(int))
(_Pointer_adapter::operator--(int)): Likewise.
2015-08-28 15:33:40 +00:00
PR libstdc++/68925
* include/experimental/random (randint): Use temporary instead of
thread_local static.
2017-04-10 11:32:00 +00:00
2017-01-17 Joshua Conner <joshconner@google.com>
2017-04-10 11:32:00 +00:00
* crossconfig.m4: Add fuchsia OS.
* configure: Regenerate.
2017-04-10 11:32:00 +00:00
2017-01-17 Jonathan Wakely <jwakely@redhat.com>
2017-04-10 11:32:00 +00:00
PR libstdc++/69699
* doc/xml/manual/abi.xml (abi.versioning.history): Explain why the
__GLIBCXX__ macro is not useful. Remove redundant date information
and link to the GCC release timeline.
(abi.versioning.active): Move partial sentence into the previous
paragraph.
2015-08-28 15:33:40 +00:00
* doc/html/*: Regenerate.
PR libstdc++/79114
* libsupc++/nested_exception.h (throw_with_nested): Use decay instead
of remove_reference.
* testsuite/18_support/nested_exception/79114.cc: New test.
2017-01-17 Jakub Jelinek <jakub@redhat.com>
PR other/79046
* configure.ac: Add GCC_BASE_VER.
* fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* po/Makefile.in: Regenerated.
* libsupc++/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
* src/Makefile.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
* include/Makefile.in: Regenerated.
* doc/Makefile.in: Regenerated.
* python/Makefile.in: Regenerated.
* src/c++11/Makefile.in: Regenerated.
* src/c++98/Makefile.in: Regenerated.
* src/filesystem/Makefile.in: Regenerated.
2017-01-16 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/66145
* src/c++11/functexcept.cc: Use new ABI for std::ios_base::failure
exceptions.
* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Don't override ABI
for test, so new ios::failure can be caught.
* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/
exceptions_failbit.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
exceptions_failbit.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
exceptions_null.cc: Likewise.
* testsuite/27_io/ios_base/storage/2.cc: Likewise.
PR libstdc++/78702
* include/bits/locale_classes.h (locale::facet::__shim): Change from
private to protected.
* src/c++11/cxx11-shim_facets.cc (__shim_accessor): Define helper to
make locale::facet::__shim accessible.
2017-01-16 Ville Voutilainen <ville.voutilainen@gmail.com>
PR libstdc++/78389
* include/bits/list.tcc (merge(list&&)): Fix backwards size adjustments.
(merge(list&&, _StrictWeakOrdering)): Likewise.
* testsuite/23_containers/list/operations/78389.cc: Add
better test for the sizes.
2017-01-14 Jonathan Wakely <jwakely@redhat.com>
* testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
Skip test when -D_GLIBCXX_PROFILE mode is included in options.
* testsuite/23_containers/map/modifiers/extract.cc: Likewise.
* testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
2014-09-21 17:33:12 +00:00
Likewise.
* testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
* testsuite/23_containers/multimap/modifiers/extract.cc: Likewise.
* testsuite/23_containers/multiset/modifiers/extract.cc: Likewise.
* testsuite/23_containers/set/modifiers/extract.cc: Likewise.
* testsuite/23_containers/unordered_map/modifiers/extract.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/modifiers/extract.cc::
Likewise.
* testsuite/23_containers/unordered_multiset/modifiers/extract.cc::
Likewise.
* testsuite/23_containers/unordered_set/modifiers/extract.cc:
Likewise.
* testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
Likewise.
* testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
* testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
* testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise.
* testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
* testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
* testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise.
* testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
* testsuite/libstdc++-prettyprinters/debug.cc: Likewise.
* testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise.
* testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
* testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
* testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
2017-01-13 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/65411
* config/io/basic_file_stdio.cc (__basic_file<char>::close()): Don't
retry fclose on EINTR.
* include/profile/base.h: Remove unused header that leads to header
cycle in C++17 mode.
PR libstdc++/79075
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string):
Make _If_sv private.
[!_GLIBCXX_USE_CXX11_ABI] (basic_string): Add member functions taking
basic_string_view arguments.
PR libstdc++/79075
* testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Remove
redundant option from cxxflags.
(check_effective_target_cxx11-abi): Define.
* testsuite/21_strings/basic_string/allocator/71964.cc: Use cxx11-abi
effective target.
* testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/char/minimal.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
* testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/char/noexcept.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
Likewise.
* testsuite/23_containers/list/61347.cc: Likewise.
* testsuite/27_io/basic_fstream/cons/base.cc: Likewise.
* testsuite/27_io/ios_base/failure/cxx11.cc: Likewise.
2015-08-28 15:33:40 +00:00
2017-01-13 Ville Voutilainen <ville.voutilainen@gmail.com>
2015-08-28 15:33:40 +00:00
PR libstdc++/78389
* include/bits/list.tcc (merge(list&&)):
Adjust list sizes if the comparator throws.
(merge(list&&, _StrictWeakOrdering)): Likewise.
(sort()): Splice elements back from the scratch buffers
if the comparator throws.
(sort(_StrictWeakOrdering)): Likewise.
* testsuite/23_containers/list/operations/78389.cc: New.
2015-08-28 15:33:40 +00:00
2017-01-13 Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Mark
XFAIL for C++17 until node reinsertion supports fancy pointers.
2015-08-28 15:33:40 +00:00
PR libstdc++/78361
* testsuite/20_util/add_pointer/value.cc: Test forming function
pointers.
2015-08-28 15:33:40 +00:00
2017-01-13 Michael Brune <lucdanton@free.fr>
2015-08-28 15:33:40 +00:00
PR libstdc++/78361
* include/std/type_traits (__is_referenceable): Handle noexcept
function types.
2015-08-28 15:33:40 +00:00
2017-01-12 Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
PR libstdc++/77528
* include/bits/stl_queue.h (queue, priority_queue): Remove default
member-initializers and define default constructors as templates with
constraints.
* include/bits/stl_stack.h (stack): Likewise.
* testsuite/23_containers/priority_queue/requirements/constructible.cc:
New.
* testsuite/23_containers/priority_queue/requirements/
explicit_instantiation/1.cc: Test more instantiations.
* testsuite/23_containers/priority_queue/requirements/
explicit_instantiation/1_c++98.cc: Likewise.
* testsuite/23_containers/queue/requirements/constructible.cc: New.
* testsuite/23_containers/stack/requirements/constructible.cc: New.
PR libstdc++/66284
* doc/xml/manual/intro.xml: Document LWG 2781 change.
2017-04-10 11:32:00 +00:00
* doc/html/*: Regenerate.
* include/std/functional (_Function_base::_Ref_manager): Remove.
(_Function_handler): Remove partial specializations for
reference_wrapper.
(function::target): Remove special case for const qualification.
* testsuite/20_util/function/6.cc: Adjust tests for target type.
* testsuite/20_util/function/7.cc: Likewise.
* testsuite/20_util/function/8.cc: Likewise.
2017-01-11 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/78134
* include/bits/stl_map.h (map::lower_bound, map::upper_bound)
(map::equal_range): Fix return type of heterogeneous overloads.
* include/bits/stl_multimap.h (multimap::lower_bound)
(multimap::upper_bound, multimap::equal_range): Likewise.
* include/bits/stl_multiset.h (multiset::lower_bound)
(multiset::upper_bound, multiset::equal_range): Likewise.
* include/bits/stl_set.h (set::lower_bound, set::upper_bound)
(set::equal_range): Likewise.
* testsuite/23_containers/map/operations/2.cc
* testsuite/23_containers/multimap/operations/2.cc
* testsuite/23_containers/multiset/operations/2.cc
* testsuite/23_containers/set/operations/2.cc
PR libstdc++/78273
* include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume
the heterogeneous comparison can only find one match.
* include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise.
* testsuite/23_containers/map/operations/2.cc: Test count works with
comparison function that just partitions rather than sorting.
* testsuite/23_containers/set/operations/2.cc: Likewise.
2017-01-11 Ville Voutilainen <ville.voutilainen@gmail.com>
Reduce the size of variant, it doesn't need an index of
type size_t internally.
* include/std/variant (parse_numbers.h): New include.
(__select_index): New.
(_Variant_storage<false, _Types...>::_M_reset_impl): Use
_index_type for comparison with variant_npos.
(_Variant_storage<false, _Types...>::__index_type): New.
(_Variant_storage<false, _Types...>::_M_index): Change the
type from size_t to __index_type.
(_Variant_storage<true, _Types...>::__index_type): New.
(_Variant_storage<true, _Types...>::_M_index): Change the
type from size_t to __index_type.
(_Variant_base::_M_valid): Use _Storage::__index_type
for comparison with variant_npos.
(variant::index): Use _Base::_Storage::__index_type
for comparison with variant_npos.
* testsuite/20_util/variant/index_type.cc: New.
2017-01-10 Jonathan Wakely <jwakely@redhat.com>
* testsuite/18_support/exception_ptr/60612-unexpected.cc: Adjust
effective target selector to prevent running in C++17 mode.
PR libstdc++/77528
* include/bits/stl_queue.h (queue::c): Add default member initializer.
(queue::queue()): Add constructor and define as defaulted.
(queue::queue(_Sequence&&)): Remove default argument.
(priority_queue::c, priority_queue::comp): Add default member
initializers.
(priority_queue::priority_queue()): Add constructor and define as
defaulted.
(priority_queue::priority_queue(const _Compare&, _Sequence&&)):
Remove default argument for first parameter.
* include/bits/stl_stack.h (stack::c): Add default member initializer.
(stack::stack()): Add constructor and define as defaulted.
(stack::stack(const _Sequence&)): Remove default argument.
* testsuite/23_containers/priority_queue/requirements/
explicit_instantiation/1.cc: Test explicit instantiation with
non-DefaultConstructible sequence.
* testsuite/23_containers/priority_queue/77528.cc: New test.
* testsuite/23_containers/priority_queue/requirements/
explicit_instantiation/1_c++0x.cc: Replace with 1_c++98.cc.
* testsuite/23_containers/queue/77528.cc: New test.
* testsuite/23_containers/queue/requirements/explicit_instantiation/
1.cc: Test explicit instantiation with non-DefaultConstructible
sequence.
* testsuite/23_containers/queue/requirements/explicit_instantiation/
1_c++0x.cc: Replace with 1_c++98.cc.
* testsuite/23_containers/stack/77528.cc: New test.
* testsuite/23_containers/stack/requirements/explicit_instantiation/
1.cc: Test explicit instantiation with non-DefaultConstructible
sequence.
* testsuite/23_containers/stack/requirements/explicit_instantiation/
1_c++0x.cc: Replace with 1_c++98.cc.
2017-01-10 Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
* include/bits/locale_facets_nonio.tcc
(time_get::_M_extract_via_format): Avoid compilation errors with
non-standard struct tm.
2017-01-10 François Dumont <fdumont@gcc.gnu.org>
Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
* python/libstdcxx/v6/printers.py (_versioned_namespace): Define.
(is_specialization, strip_versioned_namespace): New helpers functions
to work with symbols in the versioned namespace.
(Printer.add_version): Add second name using versioned namespace.
(add_one_template_type_printer, add_one_type_printer): Add second
type printers using versioned namespace.
(register_type_printers): Add template type printer for basic_string.
(build_libstdcxx_dictionary): Remove dead code.
* python/libstdcxx/v6/xmethods.py: Make all matchers look for
versioned namespace.
* testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected
results.
* testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
2017-01-09 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/79017
* acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Check for llrint and llround
functions separately on darwin and if they're missing define
_GLIBCXX_NO_C99_ROUNDING_FUNCS.
2017-04-10 11:32:00 +00:00
* config.h.in: Regenerate.
* configure: Regenerate.
* include/c_global/cmath [_GLIBCXX_NO_C99_ROUNDING_FUNCS] (llrint)
(llrintf, llrintl, llround, llroundf, llroundl): Do not define.
2015-08-28 15:33:40 +00:00
* testsuite/30_threads/condition_variable/members/3.cc: Use new macro
to detect correct thread_local destructors.
* testsuite/util/testsuite_hooks.h (CORRECT_THREAD_LOCAL_DTORS):
Define.
2015-08-28 15:33:40 +00:00
2017-01-09 Jonathan Wakely <jwakely@redhat.com>
Aditya Kumar <hiraditya@msn.com>
2015-08-28 15:33:40 +00:00
PR libstdc++/66414
* include/bits/basic_string.tcc
(basic_string::find(const CharT*, size_type, size_type)): Optimize.
2015-08-28 15:33:40 +00:00
2017-01-06 Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
* testsuite/21_strings/basic_string/operations/find/char/6.cc: New.
* testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: New.
2017-04-10 11:32:00 +00:00
* testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp:
Include <cassert> header.
2015-08-28 15:33:40 +00:00
PR libstdc++/78968
* crossconfig.m4: Check for __cxa_thread_atexit on *-*-freebsd*.
* configure: Regenerate.
2015-08-28 15:33:40 +00:00
2017-01-06 Barrett Adair <barrettellisadair@gmail.com>
Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
* include/std/variant (variant, swap): Replace __and_ usage with fold
expressions.
2015-08-28 15:33:40 +00:00
2017-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2015-08-28 15:33:40 +00:00
PR go/78978
* acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove.
* configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of
GLIBCXX_CHECK_ASSEMBLER_HWCAP.
* fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of
HWCAP_FLAGS.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in, doc/Makefile.in, include/Makefile.in,
libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in,
src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.
2015-08-28 15:33:40 +00:00
2017-01-06 Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
* include/bits/c++config (_GLIBCXX_ASSERTIONS): Avoid redefinition.
2015-08-28 15:33:40 +00:00
PR libstdc++/78991
* include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val)
(_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val)
(_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and
move function objects.
(__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter)
(__iter_comp_val, __iter_comp_iter, __negate): Move function objects.
* testsuite/25_algorithms/sort/78991.cc: New test.
2015-08-28 15:33:40 +00:00
2017-01-05 Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
* include/bits/std_function.h (function::_Signature_type): Remove.
(function::function(_Functor)): Adjust.
2015-08-28 15:33:40 +00:00
2017-01-05 Tim Shen <timshen@google.com>
2015-08-28 15:33:40 +00:00
PR libstdc++/78996
* include/std/variant (__gen_vtable_impl): rename __unused to
__dimensions to avoid naming conflict.
2015-08-28 15:33:40 +00:00
2017-01-04 Jonathan Wakely <jwakely@redhat.com>
2015-08-28 15:33:40 +00:00
PR libstdc++/78968
2017-04-10 11:32:00 +00:00
* config.h.in: Regenerate.
* configure: Likewise.
* configure.ac: Check for __cxa_thread_atexit.
* libsupc++/atexit_thread.cc [_GLIBCXX_HAVE___CXA_THREAD_ATEXIT]:
Don't define __cxa_thread_atexit if libc provides it.
2017-01-04 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement 2801, Default-constructibility of unique_ptr.
* include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New.
(unique_ptr::_DeleterConstraint): Likewise.
(unique_ptr()): Constrain.
(unique_ptr(pointer)): Likewise.
(unique_ptr(nullptr_t)): Likewise.
(unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New.
(unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain.
(unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise.
(unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
* testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/default.cc: New.
* testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust.
2017-01-04 Pauli Nieminen <suokkos@gmail.com>
2017-04-10 11:32:00 +00:00
Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/64735
* acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define.
2017-04-10 11:32:00 +00:00
* config.h.in: Regenerate.
* config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46]
(GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make
exports for exception_ptr, nested_exception, and future conditional.
[HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add
exports for exception_ptr, nested_exception, and future conditional.
2017-04-10 11:32:00 +00:00
* configure: Regenerate.
* configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER.
* include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
* libsupc++/eh_atomics.h: New file for internal use only.
(__eh_atomic_inc, __eh_atomic_dec): New.
* libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
(exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
(rethrow_exception): Use eh_atomics.h reference counting helpers.
* libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
* libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
* libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
* libsupc++/exception_ptr.h: Likewise.
* libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
* libsupc++/nested_exception.cc: Remove check for
ATOMIC_INT_LOCK_FREE.
* libsupc++/nested_exception.h: Likewise.
* src/c++11/future.cc: Likewise.
* testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
* testsuite/18_support/nested_exception/*: Likewise.
* testsuite/30_threads/async/*: Likewise.
* testsuite/30_threads/future/*: Likewise.
* testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
* testsuite/30_threads/packaged_task/*: Likewise.
* testsuite/30_threads/promise/*: Likewise.
* testsuite/30_threads/shared_future/*: Likewise.
2017-01-03 Gerald Pfeifer <gerald@pfeifer.com>
* doc/xml/manual/documentation_hacking.xml: sourceforge.net now
defaults to https; adjust reference.
2017-01-03 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/78956
* include/std/thread (thread(const thread&&)): Add deleted
constructor.
* testsuite/30_threads/thread/cons/lwg2097.cc: New test.
* doc/xml/manual/spine.xml: Update copyright years.
* doc/xml/manual/build_hacking.xml: Fix spelling of libbuilddir.
* doc/xml/manual/test.xml: Likewise.
* doc/html/*: Regenerate.
2017-04-10 11:32:00 +00:00
2017-01-01 Gerald Pfeifer <gerald@pfeifer.com>
2017-04-10 11:32:00 +00:00
* doc/xml/faq.xml: Update address of C++ ABI link.
* doc/xml/manual/abi.xml: Ditto.
2017-04-10 11:32:00 +00:00
2017-01-01 Jakub Jelinek <jakub@redhat.com>
2017-04-10 11:32:00 +00:00
Update copyright years.
2014-09-21 17:33:12 +00:00
Copyright (C) 2017 Free Software Foundation, Inc.
2012-03-27 23:13:14 +00:00
2014-09-21 17:33:12 +00:00
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.