2019-02-22  Release Manager

	* GCC 8.3.0 released.

2019-02-14  Jonathan Wakely  <jwakely@redhat.com>

	PR middle-end/89303
	* testsuite/20_util/enable_shared_from_this/89303.cc: New test.

2019-02-09  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2019-01-08  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/88066
	* include/bits/locale_conv.h: Use <> for includes not "".
	* include/ext/random: Likewise.
	* include/ext/vstring.h: Likewise.

2019-02-08  Jonathan Wakely  <jwakely@redhat.com>

	* doc/html/*: Regenerate.

	* src/c++17/fs_ops.cc (absolute(const path&, error_code&)): Do nothing
	if the path is already absolute.
	[!_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Pass error_code to current_path.

	Backport from mainline
	2019-01-11  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/chrono (duration_values::zero(), duration_values::min())
	(duration_values::max()): Add noexcept.
	(duration::zero(), duration::min(), duration::max()): Likewise.
	(time_point::zero(), time_point::min(), time_point::max()): Likewise.
	* testsuite/20_util/duration/requirements/noexcept.cc: New test.
	* testsuite/20_util/time_point/requirements/noexcept.cc: New test.

2019-02-08  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2019-01-07  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/87787
	* include/bits/char_traits.h (char_traits::move): Do not pass null
	pointers to memmove.
	* include/bits/locale_facets.h
	(ctype<char>::widen(const char*, const char*, char*)): Do not
	pass null pointers to memcpy.
	(ctype<char>::narrow(const char*, const char*, char, char*)):
	Likewise.
	(ctype<char>::do_widen(const char*, const char*, char*)):
	Likewise.
	(ctype<char>::do_narrow(const char*, const char*, char, char*)):
	Likewise.

2019-02-08  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2018-11-23  Martin Sebor  <msebor@redhat.com>
		    Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/65229
	* python/libstdcxx/v6/printers.py (StdBitsetPrinter): Handle
	exception thrown for std::bitset<0>.
	* testsuite/libstdc++-prettyprinters/simple.cc: Test std::bitset<0>.

2019-02-08  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2018-11-23  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/87308 (partial)
	* python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Adjust regex to
	work around PR 88166.

2019-02-08  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2019-02-05  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/89128
	* include/bits/stl_queue.h (queue, priority_queue): Add deduction
	guides.
	* include/bits/stl_stack.h (stack): Likewise.
	* testsuite/23_containers/priority_queue/deduction.cc: New test.
	* testsuite/23_containers/queue/deduction.cc: New test.
	* testsuite/23_containers/stack/deduction.cc: New test.

2019-02-08  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2018-11-29  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/88119
	* include/ext/aligned_buffer.h (__aligned_membuf): Add comment.
	(__aligned_buffer): Use __alignof__ instead of std::alignment_of.
	* include/std/type_traits (alignment_of): Use alignof instead of
	__alignof__.
	* testsuite/20_util/alignment_of/value.cc: Fix test to check values
	match alignof not __alignof__, as required by the standard.

2019-02-08  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2018-11-28  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/83511
	* include/std/string_view (basic_string_view::substr): Add default
	argument to first parameter.
	* include/experimental/string_view (basic_string_view::substr):
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/substr/char/
	83511.cc: New test.
	* testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
	83511.cc: New test.
	* testsuite/experimental/string_view/operations/substr/char/83511.cc:
	New test.
	* testsuite/experimental/string_view/operations/substr/wchar_t/83511.cc:
	New test.

	Backport from mainline
	2018-11-19  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/88084 - Implement LWG 2777
	* include/std/string_view (basic_string_view::copy): Use traits to
	copy.
	* testsuite/21_strings/basic_string_view/operations/copy/char/2.cc:
	New test.
	* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/2.cc:
	New test.

	Backport from mainline
	2018-11-29  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/86910
	PR libstdc++/87846
	* src/filesystem/ops.cc (experimental::create_directories): Report
	an error when the path resolves to an existing non-directory (P1164).
	* src/filesystem/std-ops.cc (create_directories): Likewise. Handle
	empty filenames due to trailing slashes.
	* testsuite/27_io/filesystem/operations/create_directories.cc: Test
	when some component of the path exists and is not a directory. Test
	trailing slashes.
	* testsuite/experimental/filesystem/operations/create_directories.cc:
	Likewise.

	Backport from mainline
	2018-11-28  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/intro.xml: Document LWG 3096 change.
	* src/filesystem/std-path.cc (path::lexically_relative(const path&)):
	Treat a final empty element equivalently to a final dot element.
	* testsuite/27_io/filesystem/path/generation/relative.cc: Add checks
	for the examples in the DR.

	Backport from mainline
	2018-07-20  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/86595
	* include/bits/fs_dir.h (directory_entry::refresh(error_code&)): Add
	noexcept.

	Backport from mainline
	2018-05-21  Jonathan Wakely  <jwakely@redhat.com>

	* src/filesystem/std-ops.cc (absolute): Report an error for empty
	paths.
	(weakly_canonical(const path&)): Do not call canonical on empty path.
	(weakly_canonical(const path&, error_code&)): Likewise.
	* testsuite/27_io/filesystem/operations/absolute.cc: Check for errors.

	Backport from mainline
	2019-01-30  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/89117
	* src/c++17/fs_path.cc (path::replace_extension): Erase extension from
	final component as well as from _M_pathname.
	* testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
	Add more test cases.

2019-01-21  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2019-01-18  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/87514
	PR libstdc++/87520
	PR libstdc++/88782
	* include/bits/shared_ptr.h
	(shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...))
	(allocate_shared): Change to use new tag type.
	(_Sp_alloc_shared_tag): Define new type.
	(_Sp_counted_ptr_inplace): Declare __shared_count<_Lp> as a friend.
	(__shared_count(Ptr, Deleter),__shared_count(Ptr, Deleter, Alloc)):
	Constrain to prevent being called with _Sp_alloc_shared_tag.
	(__shared_count(_Sp_make_shared_tag, const _Alloc&, Args&&...)):
	Replace constructor with ...
	(__shared_count(Tp*&, _Sp_alloc_shared_tag<_Alloc>, Args&&...)): Use
	reference parameter so address of the new object can be returned to
	the caller. Obtain the allocator from the tag type.
	(__shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...)): Replace
	constructor with ...
	(__shared_ptr(_Sp_alloc_shared_tag<Alloc>, Args&&...)): Pass _M_ptr
	to the __shared_count constructor.
	(__allocate_shared): Change to use new tag type.

2019-01-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/80762
	* testsuite/experimental/filesystem/path/construct/80762.cc: Add
	dg-require-filesystem-ts directive.

2019-01-10  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2019-01-04  Jonathan Wakely  <jwakely@redhat.com>

	(path::lexically_normal()): Use std::vector iterators instead of
	path::iterator. Use pop_back to remove components from the end. Clear
	trailing filename, instead of using erase(const_iterator) to remove
	a non-final component.
	* testsuite/27_io/filesystem/path/generation/normal.cc: Test
	additional cases.
	* testsuite/27_io/filesystem/path/generation/normal2.cc: New test.

2019-01-10  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2018-12-12  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/80762
	* include/bits/fs_path.h (path::_Path): Use remove_cv_t and is_void.
	* include/experimental/bits/fs_path.h (path::_Path): Likewise.
	* testsuite/27_io/filesystem/path/construct/80762.cc: New test.
	* testsuite/experimental/filesystem/path/construct/80762.cc: New test.

2019-01-10  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2018-05-23  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/fs_path.h (path::_M_type): Change default member
	initializer to _Filename.
	(path::begin): Create past-the-end iterator for empty path.
	(path::has_relative_path()): Return false for empty filenames.
	(path::_M_split_cmpts): Set _M_type to _Filename for empty paths.
	Fix offset of empty final component.
	* testsuite/27_io/filesystem/path/itr/components.cc: New.
	* testsuite/27_io/filesystem/path/itr/traversal.cc: Add new inputs.

2019-01-10  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2019-01-10  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/util/testsuite_fs.h (nonexistent_path): Include name
	of the source file containing the caller.
	* testsuite/27_io/filesystem/iterators/directory_iterator.cc: Remove
	directories created by test.
	* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
	Likewise.
	* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
	Likewise.
	* testsuite/experimental/filesystem/iterators/
	recursive_directory_iterator.cc: Likewise.

2019-01-10  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2018-11-27  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/27_io/filesystem/operations/canonical.cc: Remove
	directory created by test.
	* testsuite/27_io/filesystem/operations/symlink_status.cc: Remove
	symlink created by test.

2019-01-10  Jonathan Wakely  <jwakely@redhat.com>

	* src/filesystem/std-path.cc (path::remove_filename()): Remove debug
	check that prevents building with -fno-exceptions.

2019-01-09  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/optional/cons/value_neg.cc: Change dg-error to
	dg-prune-output. Remove unused header.

	Backport from mainline
	2019-01-08  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/87855
	* include/std/optional (_Optional_payload_base): New class template
	for common code hoisted from _Optional_payload specializations. Use
	a template for the union, to allow a partial specialization for
	types with non-trivial destructors. Add constructors for in-place
	initialization to the union.
	(_Optional_payload(bool, const _Optional_payload&)): Use _M_construct
	to perform non-trivial copy construction, instead of relying on
	non-standard copy elision in a delegating constructor.
	(_Optional_payload(bool, _Optional_payload&&)): Likewise for
	non-trivial move construction.
	(_Optional_payload): Derive from _Optional_payload_base and use it
	for everything except the non-trivial assignment operators, which are
	defined as needed.
	(_Optional_payload<false, C, M>): Derive from the specialization
	_Optional_payload<true, false, false> and add a destructor.
	(_Optional_base_impl::_M_destruct, _Optional_base_impl::_M_reset):
	Forward to corresponding members of _Optional_payload.
	(_Optional_base_impl::_M_is_engaged, _Optional_base_impl::_M_get):
	Hoist common members from _Optional_base.
	(_Optional_base): Make all members and base class public.
	(_Optional_base::_M_get, _Optional_base::_M_is_engaged): Move to
	_Optional_base_impl.
	* python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Add
	support for new std::optional layout.
	* testsuite/libstdc++-prettyprinters/compat.cc: New test.

	Backport from mainline
	2018-11-19  Ville Voutilainen  <ville.voutilainen@gmail.com>

	PR libstdc++/87855
	Also implement P0602R4 (variant and optional
	should propagate copy/move triviality) for std::optional.
	* include/std/optional (_Optional_payload): Change
	the main constraints to check constructibility in
	addition to assignability.
	(operator=): Make constexpr.
	(_M_reset): Likewise.
	(_M_construct): Likewise.
	(operator->): Likewise.
	* testsuite/20_util/optional/assignment/8.cc: Adjust.
	* testsuite/20_util/optional/assignment/9.cc: New.

2018-12-23  Iain Sandoe  <iain@sandoe.co.uk>

	Backport from mainline
	2018-12-06  Iain Sandoe  <iain@sandoe.co.uk>

	* scripts/make_exports.pl (check names): Don’t try to export
	construction vtable symbols.

2018-12-22  Iain Sandoe  <iain@sandoe.co.uk>

	Backport from mainline
	2018-12-06  Jonathan Wakely  <jwakely@redhat.com>
		    Iain Sandoe  <iain@sandoe.co.uk>

	PR libstdc++/64883
	* testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't test
	always_inline on Darwin.
	* testsuite/17_intro/headers/c++2011/all_attributes.cc: Likewise.
	* testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
	* testsuite/17_intro/headers/c++2017/all_attributes.cc: Likewise.
	* testsuite/17_intro/headers/c++2020/all_attributes.cc: Likewise.

2018-12-06  Iain Sandoe  <iain@sandoe.co.uk>

	Backport from mainline
	2018-08-25  Iain Sandoe  <iain@sandoe.co.uk>

	PR libstdc++/70694
	* configure.host (OPT_LDFLAGS): Don't append
	-fvisibility-inlines-hidden for newer Darwin.

2018-11-28  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/88199
	* include/bits/hashtable.h
	(_Hashtable<>::_M_move_assign(_Hashtable&&, false_type)): Deallocate
	former buckets after assignment.
	* testsuite/23_containers/unordered_set/allocator/move_assign.cc
	(test03): New.

2018-11-22  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2018-11-22  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/85930
	PR libstdc++/87520
	* include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti)
	[__cpp_rtti]: Define even when RTTI is enabled. Use array of
	sizeof(type_info) so that type-punned reference binds to an object
	of the correct size as well as correct alignment.
	(_Sp_counted_ptr_inplace::_M_get_deleter) [__cpp_rtti]: Check for
	_S_ti() reference even when RTTI is enabled.
	(__shared_ptr(_Sp_make_shared_tag, const _Alloc&, _Args&&...))
	[__cpp_rtti]: Pass _S_ti() instead of typeid(_Sp_make_shared_tag).

2018-10-31  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2018-10-31  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/87822
	* include/bits/stl_pair.h (__pair_base): Change to class template.
	(pair): Make base class type depend on template parameters.
	* testsuite/20_util/pair/87822.cc: New test.

2018-10-30  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2018-10-30  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/87809
	* include/bits/forward_list.h (_Fwd_list_impl::_Fwd_list_impl()): Use
	trait in exception-specification instead of possibly invalid
	expression.
	* include/bits/stl_bvector.h (_Bvector_impl::_Bvector_impl()):
	Likewise.
	* include/bits/stl_list.h (_List_impl::_List_impl()): Likewise.
	* testsuite/23_containers/forward_list/cons/87809.cc: New test.
	* testsuite/23_containers/list/cons/87809.cc: New test.
	* testsuite/23_containers/vector/bool/cons/87809.cc: New test.
	* testsuite/23_containers/vector/cons/87809.cc: New test.

2018-10-25  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/87749
	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
	(basic_string::operator=(basic_string&&)): For short strings copy the
	buffer inline. Only fall back to using assign(const basic_string&) to
	do a deep copy when reallocation is needed.
	* testsuite/21_strings/basic_string/modifiers/assign/char/87749.cc:
	New test.
	* testsuite/21_strings/basic_string/modifiers/assign/char/
	move_assign_optim.cc: New test.
	* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/87749.cc:
	New test.
	* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
	move_assign_optim.cc: New test.

2018-10-23  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/87704
	* include/bits/unique_ptr.h (unique_ptr::unique_ptr(nullptr_t)): Do
	not delegate to default constructor.
	(unique_ptr<T[], D>::unique_ptr(nullptr_t)): Likewise.
	* testsuite/20_util/unique_ptr/cons/incomplete.cc: New test.

2018-10-19  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/regex_executor.tcc (_Backref_matcher::_M_apply): Use
	_GLIBCXX_STD_A to refer to normal mode algorithms.
	* testsuite/28_regex/headers/regex/parallel_mode.cc: New test.
	* testsuite/28_regex/headers/regex/std_c++0x_neg.cc: Remove empty
	whitespace.

2018-10-18  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2018-10-18  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/87641
	* include/bits/valarray_array.h (__valarray_sum): Use first element
	to initialize accumulator instead of value-initializing it.
	* testsuite/26_numerics/valarray/87641.cc: New test.

2018-10-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/22_locale/numpunct/members/char/3.cc: Adjust test to
	account for change to glibc it_IT localedata (glibc bz#10797).

2018-10-12  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2018-07-31  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/86751
	* include/bits/stl_pair.h (__pair_base): New class with deleted copy
	assignment operator.
	(pair): Derive from __pair_base.
	(pair::operator=): Remove deleted overload.
	* python/libstdcxx/v6/printers.py (StdPairPrinter): New pretty printer
	so that new base class isn't shown in GDB.
	* testsuite/20_util/pair/86751.cc: New test.
	* testsuite/20_util/pair/ref_assign.cc: New test.

2018-10-12  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2018-09-03  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/78595
	* include/bits/stl_map.h (map::insert(_Pair&&))
	(map::insert(const_iterator, _Pair&&)): Do emplace instead of insert.
	* include/bits/stl_multimap.h (multimap::insert(_Pair&&))
	(multimap::insert(const_iterator, _Pair&&)): Likewise.
	* include/bits/unordered_map.h (unordered_map::insert(_Pair&&))
	(unordered_map::insert(const_iterator, _Pair&&))
	(unordered_multimap::insert(_Pair&&))
	(unordered_multimap::insert(const_iterator, _Pair&&)): Likewise.
	* include/std/type_traits (__enable_if_t): Define for C++11.
	* testsuite/23_containers/map/modifiers/insert/78595.cc: New test.
	* testsuite/23_containers/multimap/modifiers/insert/78595.cc: New test.
	* testsuite/23_containers/unordered_map/modifiers/78595.cc: New test.
	* testsuite/23_containers/unordered_multimap/modifiers/78595.cc: New
	test.

2018-10-12  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2018-08-30  Jonathan Wakely  <jwakely@redhat.com>

	* include/ext/pointer.h (_Pointer_adapter): Define operators for
	pointer arithmetic using long long offsets.
	* testsuite/ext/ext_pointer/1.cc: Test pointer arithmetic using
	long long values.

2018-10-12  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2018-08-23  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/21_strings/basic_string/init-list.cc:
	Require cxx11-abi.
	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_match.cc:
	Likewise.
	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
	Likewise.

	Backport from mainline
	2018-08-22  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/87061
	* include/experimental/regex [!_GLIBCXX_USE_CXX11_ABI]
	(experimental::pmr::match_results, experimental::pmr::cmatch)
	(experimental::pmr::smatch, experimental::pmr::wcmatch)
	(experimental::pmr::wsmatch): Do not declare for gcc4-compatible ABI,
	because COW strings don't support C++11 allocator model.
	* include/experimental/string [!_GLIBCXX_USE_CXX11_ABI]
	(experimental::pmr::basic_string, experimental::pmr::string)
	(experimental::pmr::u16string, experimental::pmr::u32string)
	(experimental::pmr::wstring): Likewise.

	Backport from mainline
	2018-08-15  Jonathan Wakely  <jwakely@redhat.com>

	* include/experimental/regex: Remove begin/end macros for namespace.
	* include/experimental/string: Likewise.
	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_deque.cc:
	New test.
	* testsuite/experimental/polymorphic_allocator/
	pmr_typedefs_forward_list.cc: New test.
	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_list.cc:
	New test.
	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_map.cc:
	New test.
	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_match.cc:
	New test.
	* testsuite/experimental/polymorphic_allocator/
	pmr_typedefs_multimap.cc: New test.
	* testsuite/experimental/polymorphic_allocator/
	pmr_typedefs_multiset.cc: New test.
	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_set.cc:
	New test.
	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
	New test.
	* testsuite/experimental/polymorphic_allocator/
	pmr_typedefs_unordered_map.cc: New test.
	* testsuite/experimental/polymorphic_allocator/
	pmr_typedefs_unordered_multimap.cc: New test.
	* testsuite/experimental/polymorphic_allocator/
	pmr_typedefs_unordered_multiset.cc: New test.
	* testsuite/experimental/polymorphic_allocator/
	pmr_typedefs_unordered_set.cc: New test.
	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_vector.cc:
	New test.

2018-10-12  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2018-07-24  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/70966
	* include/experimental/memory_resource (__get_default_resource): Use
	placement new to create an object with dynamic storage duration.

	Backport from mainline
	2018-06-20  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/70966
	* include/experimental/memory_resource (__resource_adaptor_imp): Add
	static assertions to enforce requirements on pointer types.
	(__resource_adaptor_imp::get_allocator()): Add noexcept.
	(new_delete_resource, null_memory_resource): Return address of an
	object with dynamic storage duration.
	(__null_memory_resource): Remove.
	* testsuite/experimental/memory_resource/70966.cc: New.

2018-10-12  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/77854
	* doc/xml/manual/status_cxx1998.xml: Document size_type and
	difference_type for containers.
	* doc/html/*: Regenerate.

2018-10-08  Joseph Myers  <joseph@codesourcery.com>

	Backport from mainline
	2018-10-02  Joseph Myers  <joseph@codesourcery.com>

	* testsuite/lib/libstdc++.exp (libstdc++_init): Use
	-fno-show-column in default cxxflags.

2018-10-08  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2018-10-08  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/87538
	* include/std/functional (_Not_fn::operator()): Check value of
	__is_nothrow_invocable as well.
	* testsuite/20_util/function_objects/not_fn/87538.cc: New test.
	* testsuite/experimental/functional/87538.cc: New test.

2018-09-11  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/87278
	* include/bits/shared_ptr.h (make_shared): Use remove_cv instead of
	remove_const.
	* testsuite/20_util/shared_ptr/creation/87278.cc: New test.

2018-08-28  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/87116
	* src/filesystem/std-path.cc (path::lexically_normal): When handling
	a dot-dot filename, preserve an empty final component in the iteration
	sequence.
	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use preferred-separator for
	root-directory.
	* testsuite/27_io/filesystem/path/generation/normal.cc: Add new tests
	for more than two adjacent dot-dot filenames.
	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Replace slashes with
	preferred-separator in expected normalized strings.

2018-08-13  Jonathan Wakely  <jwakely@redhat.com>

	Revert
	2018-08-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	PR target/85904
	* configure.ac: Define HAVE_ALIGNED_ALLOC if building for
	Newlib.
	* configure: Regenerate.

2018-08-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	Backport from mainline
	2018-08-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	PR target/85904
	* configure.ac: Define HAVE_ALIGNED_ALLOC if building for
	Newlib.
	* configure: Regenerate.

2018-08-08  Jonathan Wakely  <jwakely@redhat.com>

	* libsupc++/new_opa.cc (aligned_alloc): Declare inside namespace to
	avoid clashing with an ::aligned_alloc function that was not detected
	by configure.

	PR libstdc++/86597
	* include/bits/fs_dir.h (directory_entry::_M_file_type(error_code&)):
	Clear error_code when cached type is used.
	* testsuite/27_io/filesystem/directory_entry/86597.cc: New test.

	* doc/xml/manual/using.xml: Remove C++2a headers not on gcc-8-branch.
	* doc/html/*: Regenerate.

	* doc/xml/manual/using.xml: Add missing header to table and fix typo.
	Remove C++17 headers not present on gcc-8-branch.
	* doc/html/*: Regenerate.

2018-08-07  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2018-07-31  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/test.xml: Improve documentation on writing tests for
	newer standards.
	* doc/xml/manual/using.xml: Document all headers for C++11 and later.
	* doc/html/*: Regenerate.

	Backport from mainline
	2018-05-03  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/84535
	* include/std/thread (thread::__not_same): New SFINAE helper.
	(thread::thread(_Callable&&, _Args&&...)): Add SFINAE constraint that
	first argument is not a std::thread. Add static assertion to check
	INVOKE expression is valid.
	(thread::thread(thread&), thread::thread(const thread&&)): Remove.
	* testsuite/30_threads/thread/cons/84535.cc: New.

	Backport from mainline
	2018-08-03  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++11/system_error.cc
	(system_error_category::default_error_condition): Add workaround for
	ENOTEMPTY and EEXIST having the same value on AIX.
	* testsuite/19_diagnostics/error_category/system_category.cc: Add
	extra testcases for EDOM, EILSEQ, ERANGE, EEXIST and ENOTEMPTY.

	Backport from mainline
	2018-08-01  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/60555
	* src/c++11/system_error.cc
	(system_error_category::default_error_condition): New override to
	check for POSIX errno values.
	* testsuite/19_diagnostics/error_category/generic_category.cc: New
	* testsuite/19_diagnostics/error_category/system_category.cc: New
	test.

	Backport from mainline
	2018-08-07  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/86874
	* include/std/variant (_Copy_ctor_base::_M_destructive_move): Define
	here instead of in _Move_assign_base.
	(_Copy_ctor_base<true, _Types...>::_M_destructive_move): Define.
	(_Copy_assign_base::operator=): Use _M_destructive_move when changing
	the contained value to another alternative.
	(_Move_assign_base::operator=): Likewise.
	(_Move_assign_base::_M_destructive_move): Remove.
	* testsuite/20_util/variant/86874.cc: New test.

	Backport from mainline
	2018-08-07  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/86861
	* libsupc++/new_opa.cc [_GLIBCXX_HAVE_MEMALIGN] (aligned_alloc):
	Replace macro with inline function.
	[__sun]: Increase alignment to meet memalign precondition.
	[!HAVE__ALIGNED_MALLOC && !HAVE_POSIX_MEMALIGN && !HAVE_MEMALIGN]
	(aligned_alloc): Move check for valid alignment to operator new.
	Remove redundant check for non-zero size, it's enforced by the caller.
	(operator new): Move check for valid alignment here. Use
	__builtin_expect on check for zero size.

2018-07-31  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2018-07-30  Jonathan Wakely  <jwakely@redhat.com>

	* libsupc++/new_opa.cc (operator new(size_t, align_val_t)): Add
	workaround for aligned_alloc bug on AIX.
	* testsuite/18_support/new_aligned.cc: New test.

	Backport from mainline
	2018-07-20  Fangrui Song  <maskray@google.com>

	* include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti): Use
	_GLIBCXX_VISIBILITY(default).

	Backport from mainline
	2018-07-30  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/86734
	* include/bits/stl_iterator.h (reverse_iterator::operator->): Use
	addressof (LWG 2188).
	* testsuite/24_iterators/reverse_iterator/dr2188.cc: New test.

	Backport from mainline
	2018-05-08  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/85672
	* include/Makefile.am [!ENABLE_FLOAT128]: Change c++config.h entry
	to #undef _GLIBCXX_USE_FLOAT128 instead of defining it to zero.
	* include/Makefile.in: Regenerate.
	* include/bits/c++config (_GLIBCXX_USE_FLOAT128): Move definition
	within conditional block.

	Backport from mainline
	2018-05-01  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>

	PR libstdc++/84654
	* acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128.
	* config.h.in: Remove references to _GLIBCXX_USE_FLOAT128.
	* configure: Regenerate.
	* include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128
	based on ENABLE_FLOAT128.
	* include/Makefile.in: Regenerate.
	* include/bits/c++config: Define _GLIBCXX_USE_FLOAT128.
	[!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine
	_GLIBCXX_USE_FLOAT128.

2018-07-26  Marek Polacek  <polacek@redhat.com>

	* testsuite/30_threads/condition_variable_any/cond.cc: New.

2018-07-26  Release Manager

	* GCC 8.2.0 released.

2018-07-18  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2018-07-05  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/21_strings/basic_string/cons/char/deduction.cc: XFAIL for
	COW strings.
	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
	Likewise.

	Backport from mainline
	2018-07-04  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/25_algorithms/make_heap/complexity.cc: Require effective
	target for std::random_device.
	* testsuite/26_numerics/random/random_device/cons/default.cc:
	Likewise.
	* testsuite/experimental/algorithm/sample-2.cc: Likewise.
	* testsuite/experimental/algorithm/shuffle.cc: Likewise.
	* testsuite/experimental/random/randint.cc: Likewise.
	* testsuite/lib/libstdc++.exp
	(check_effective_target_random_device): New proc.

	Backport from mainline
	2018-06-26  David Edelsohn  <dje.gcc@gmail.com>

	* testsuite/experimental/algorithm/sample-2.cc: Add TLS DejaGNU
	directives.
	* testsuite/experimental/algorithm/shuffle.cc: Likewise.

	Backport from mainline
	2018-06-25  Jonathan Wakely  <jwakely@redhat.com>

	* include/experimental/algorithm (sample, shuffle): Add new overloads
	using per-thread random number engine.
	* testsuite/experimental/algorithm/sample.cc: Simpify and reduce
	dependencies by using __gnu_test::test_container.
	* testsuite/experimental/algorithm/sample-2.cc: New.
	* testsuite/experimental/algorithm/shuffle.cc: New.

2018-07-16  Andreas Krebbel  <krebbel@linux.ibm.com>

	* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Update.
	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.

2018-07-05  François Dumont  <fdumont@gcc.gnu.org>

	Backport from mainline
	2018-07-04  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/86272
	* include/debug/string
	(__gnu_debug::basic_string<>::insert<_Ite>(const_iterator, _Ite, _Ite)):
	Use __glibcxx_check_insert_range.

2018-07-04  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2018-05-19  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++11/codecvt.cc (__codecvt_utf8_base<wchar_t>::do_in)
	[__SIZEOF_WCHAR_T__==2 && __BYTE_ORDER__!=__ORDER_BIG_ENDIAN__]: Set
	little_endian element in bitmask.
	* testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Run all tests.
	* testsuite/22_locale/codecvt/codecvt_utf8/wchar_t/1.cc: New.

	Backport from mainline
	2018-07-03  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/alloc_traits.h: Remove redundant preprocessor
	condition.

	Backport from mainline
	2018-06-27  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/cpp_type_traits.h [__cplusplus >= 201703]
	(__is_byte<byte>): Define specialization for std::byte.

	Backport from mainline
	2018-06-18  Jonathan Wakely  <jwakely@redhat.com>

	LWG 3050 Fix cv-qualification of convertibility constraints
	* include/std/chrono (duration, operator*, operator/, operator%): Use
	const-qualified type as source type in is_convertible constraints.
	* testsuite/20_util/duration/arithmetic/dr3050.cc: New.
	* testsuite/20_util/duration/cons/dr3050.cc: New.
	* testsuite/20_util/duration/literals/range.cc: Rename to...
	* testsuite/20_util/duration/literals/range_neg.cc: Here. Adjust
	dg-error lineno.

	Backport from mainline
	2018-06-13  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/86127
	* include/bits/forward_list.h (_Fwd_list_base::_Tp_alloc_type): Remove
	unused typedef.
	(_Fwd_list_base::_M_create_node, _Fwd_list_base::_M_erase_after):
	Use node allocator to create and destroy elements.
	(forward_list::_Tp_alloc_type): Remove unused typedef.
	(forward_list::_Alloc_traits): Use allocator_traits instead of
	__gnu_cxx::__alloc_traits.

	Backport from mainline
	2018-05-29  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/variant (__erased_dtor): Qualify call to __get.

	Backport from mainline
	2018-05-15  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/variant (__gen_vtable_impl::__visit_invoke): Qualify
	__invoke to prevent ADL.

	Backport from mainline
	2018-05-24  Maya Rashish  <coypu@sdf.org>

	PR target/85904
	* crossconfig.m4: Test for aligned_alloc on netbsd.
	* configure: Regenerate.

	Backport from mainline
	2018-05-18  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/85098
	* include/bits/regex.h [__cplusplus < 201703L] (basic_regex::icase)
	(basic_regex::nosubs, basic_regex::optimize, basic_regex::collate)
	(basic_regex::ECMAScript, basic_regex::basic, basic_regex::extended)
	(basic_regex::awk, basic_regex::grep, basic_regex::egrep): Add
	definitions.
	* include/bits/regex_automaton.h (_NFA::_M_insert_state): Adjust
	whitespace.
	* include/bits/regex_compiler.tcc (__INSERT_REGEX_MATCHER): Add
	braces around body of do-while.
	* testsuite/28_regex/basic_regex/85098.cc: New

	Backport from mainline
	2018-05-07  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/85671
	* include/bits/fs_path.h (operator/): Permit copy elision.
	* include/experimental/bits/fs_path.h (operator/): Likewise.

	Backport from mainline
	2018-06-14  Daniel Trebbien <dtrebbien@gmail.com>
		    Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/83982
	* include/bits/vector.tcc (vector::_M_default_append(size_type)):
	Default-construct new elements before moving existing ones.
	* testsuite/23_containers/vector/capacity/resize/strong_guarantee.cc:
	New.

	Backport from mainline
	2018-06-25  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/86292
	* include/bits/stl_vector.h (vector::_M_range_initialize<InputIter>):
	Add try-catch block.
	* testsuite/23_containers/vector/cons/86292.cc: New.

	Backport from mainline
	2018-06-27  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/86138
	* include/bits/basic_string.tcc: [_GLIBCXX_EXTERN_TEMPLATE < 0]
	Declare explicit instantiations of COW empty reps and I/O functions.

	Backport from mainline
	2018-06-16  Jonathan Wakely  <jwakely@redhat.com>

	LWG 3076 basic_string CTAD ambiguity
	* doc/xml/manual/intro.xml: Document LWG 3076 change.
	* include/bits/basic_string.h
	[__cpp_deduction_guides && !_GLIBCXX_DEFINING_STRING_INSTANTIATIONS]
	(basic_string(const _CharT*, const _Alloc&)): Turn into a function
	template constrained by _RequireAllocator.
	(basic_string(size_type, _CharT, const _Alloc&)): Likewise.
	* src/c++11/string-inst.cc (_GLIBCXX_DEFINING_STRING_INSTANTIATIONS):
	Define.
	* testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
	deduction
	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
	Likewise.

	Backport from mainline
	2018-06-14  Jonathan Wakely  <jwakely@redhat.com>

	LWG 3075 basic_string needs deduction guides from basic_string_view
	* include/bits/basic_string.h: Add deduction guides from string_view.
	* testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
	deduction from string views.
	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
	Likewise.

	Backport from mainline
	2018-05-03  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/84087 LWG DR 2268 basic_string default arguments
	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI=1]
	(append(const basic_string&, size_type, size_type)
	(assign(const basic_string&, size_type, size_type)
	(insert(size_type, const basic_string&, size_type, size_type)
	(replace(size_type,size_type,const basic_string&,size_type,size_type)
	(compare(size_type,size_type,constbasic_string&,size_type,size_type)):
	Add default arguments (LWG 2268).
	[_GLIBCXX_USE_CXX11_ABI=0]
	(append(const basic_string&, size_type, size_type)
	(assign(const basic_string&, size_type, size_type)
	(insert(size_type, const basic_string&, size_type, size_type)
	(replace(size_type,size_type,const basic_string&,size_type,size_type)
	(compare(size_type,size_type,constbasic_string&,size_type,size_type)):
	Likewise.
	* testsuite/21_strings/basic_string/dr2268.cc: New test.

	PR libstdc++/86398
	* include/std/type_traits (is_trivially_constructible): Check
	is_constructible before __is_trivially_constructible.
	* testsuite/20_util/is_trivially_constructible/value.cc: Add more
	tests, including negative cases.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Use
	zero for dg-error lineno.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.

2018-06-25  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/86112
	* python/libstdcxx/v6/printers.py (add_one_template_type_printer):
	Replace dict comprehension.

2018-06-25  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/81092
	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.

2018-06-22  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2018-06-22  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/86138
	* include/bits/basic_string.tcc:
	[__cplusplus > 201402 && !_GLIBCXX_USE_CXX11_ABI]
	(basic_string<char>::_Rep::_S_empty_rep_storage)
	(basic_string<wchar_t>::_Rep::_S_empty_rep_storage): Add explicit
	instantiation declarations.
	[__cplusplus > 201402] (operator>>, operator<<, getline): Re-enable
	explicit instantiation declarations.
	* testsuite/21_strings/basic_string/cons/char/86138.cc: New.
	* testsuite/21_strings/basic_string/cons/wchar_t/86138.cc: New.

2018-06-21  Jonathan Wakely  <jwakely@redhat.com>

	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.

2018-06-19  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/utility: Remove unused <exception> header.

2018-06-19  Jonathan Wakely  <jwakely@redhat.com>

	Backport from mainline
	2018-05-03  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/82644
	* include/tr1/cmath [__STRICT_ANSI__] (hypergf, hypergl, hyperg): Use
	inline definitions instead of using-declarations.
	[__STRICT_ANSI__] (conf_hypergf, conf_hypergl, conf_hyperg): Likewise.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	07_conf_hyperg/compile_cxx17.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	17_hyperg/compile_cxx17.cc: New.

2018-06-15  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/86169
	* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
	(basic_string::data()): Unshare string.
	* testsuite/21_strings/basic_string/operations/data/char/86169.cc:
	New.

2018-06-15  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/char_traits.h (__cpp_lib_constexpr_char_traits): Only
	define for C++17 and above.

2018-06-06  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/86008
	* include/bits/quoted_string.h (_Quoted_string<basic_string_view, C>):
	Define new partial specialization.
	* include/std/iomanip (quoted(basic_string_view<C,T>, C, C)): Define
	new overload.
	(operator<<(basic_ostream<C,T>&, const _Quoted_string<S,C>&)): Use
	value not reference for iteration.
	* testsuite/27_io/manipulators/standard/char/quoted.cc: Adjust
	comment.
	* testsuite/27_io/manipulators/standard/char/quoted_sv.cc: New test.
	* testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Adjust
	comment.

2018-06-05  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/type_traits: Fix comment typo.

2018-06-04  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/85930
	* include/bits/shared_ptr_base.h [!__cpp_rtti]: Include <typeinfo>
	unconditionally. Remove redundant declaration.
	[!__cpp_rtti] (_Sp_make_shared_tag::_S_ti): Align the static variable
	correctly.

2018-05-31  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/85951
	* include/std/type_traits [_GLIBCXX_USE_C99_STDINT_TR1]: Do not define
	uint_least16_t and uint_least32_t.
	(__make_unsigned<wchar_t>): Define unconditionally.
	(__make_unsigned<char16_t>, __make_unsigned<char32_t>): Define.
	(__make_signed<wchar_t>, __make_signed<char16_t>)
	(__make_signed<char32_t>)): Define unconditionally.
	* testsuite/20_util/make_signed/requirements/typedefs-3.cc: Check
	wchar_t, char16_t and char32_t are transformed correctly.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
	dg-error lineno.
	* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: Check
	wchar_t, char16_t and char32_t are transformed correctly.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
	dg-error lineno.

2018-05-21  François Dumont  <fdumont@gcc.gnu.org>

	* include/debug/map.h
	(map(map&&, const_allocator_type&)): Add noexcept qualitication.
	* include/debug/multimap.h
	(multimap(multimap&&, const_allocator_type&)): Likewise.
	* include/debug/set.h
	(set(set&&, const_allocator_type&)): Likewise.
	* include/debug/multiset.h
	(multiset(multiset&&, const_allocator_type&)): Likewise.

2018-05-21  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/85818
	* testsuite/experimental/filesystem/path/preferred_separator.cc: Add
	dg-require-filesystem-ts.

2018-05-17  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/85818
	* src/filesystem/path.cc (path::preferred_separator): Add used
	attribute.
	* testsuite/experimental/filesystem/path/preferred_separator.cc: New.

	PR libstdc++/85812
	* libsupc++/cxxabi_init_exception.h (__cxa_free_exception): Declare.
	* libsupc++/exception_ptr.h (make_exception_ptr) [__cpp_exceptions]:
	Refactor to separate non-throwing and throwing implementations.
	[__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]: Deallocate the memory
	if constructing the object throws.

2018-05-15  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/83891
	* include/bits/fs_path.h (path::is_absolute()): Use same definition
	for all operating systems.
	* include/experimental/bits/fs_path.h (path::is_absolute()): Likewise.
	* testsuite/27_io/filesystem/path/query/is_absolute.cc: New.
	* testsuite/27_io/filesystem/path/query/is_relative.cc: Fix comment.
	* testsuite/experimental/filesystem/path/query/is_absolute.cc: New.

	* testsuite/27_io/filesystem/path/decompose/extension.cc: Remove
	unused <vector> header.
	* testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
	* testsuite/27_io/filesystem/path/query/has_extension.cc: Likewise.
	* testsuite/27_io/filesystem/path/query/has_filename.cc: Likewise.
	* testsuite/27_io/filesystem/path/query/has_parent_path.cc: Likewise.
	* testsuite/27_io/filesystem/path/query/has_relative_path.cc:
	Likewise.
	* testsuite/27_io/filesystem/path/query/has_root_directory.cc:
	Likewise.
	* testsuite/27_io/filesystem/path/query/has_root_name.cc: Likewise.
	* testsuite/27_io/filesystem/path/query/has_root_path.cc: Likewise.
	* testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
	* testsuite/27_io/filesystem/path/query/is_relative.cc: Likewise.
	* testsuite/experimental/filesystem/path/decompose/extension.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
	* testsuite/experimental/filesystem/path/query/has_extension.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/query/has_filename.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/query/has_parent_path.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/query/has_relative_path.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/query/has_root_directory.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/query/has_root_name.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/query/has_root_path.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
	* testsuite/experimental/filesystem/path/query/is_relative.cc:
	Likewise.

	PR libstdc++/84159
	* include/bits/fs_path.h (path::operator/=, path::append): Construct
	temporary path before calling _M_append.
	(path::_M_append): Change parameter to path and implement C++17
	semantics.
	* testsuite/27_io/filesystem/path/append/path.cc: Add helper function
	and more examples from the standard.
	* testsuite/27_io/filesystem/path/append/source.cc: New.
	* testsuite/27_io/filesystem/path/decompose/filename.cc: Add comment.
	* testsuite/27_io/filesystem/path/nonmember/append.cc: New.

2018-05-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/67554
	* include/bits/valarray_array.h (_Array_copy_ctor<_Tp, true>)
	(_Array_copier<_Tp, true>): Do not pass null pointers to memcpy.

	PR libstdc++/82966
	* include/bits/node_handle.h (_Node_handle_common::_M_swap): Use value
	instead of type.
	* testsuite/23_containers/set/modifiers/node_swap.cc: New.

2018-05-10  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/faq.xml: Link to C++17 status. Add note to outdated answer.
	* doc/xml/manual/debug_mode.xml: Add array and forward_list to list
	of C++11 containers with Debug Mode support.
	* doc/xml/manual/using.xml: Document that the C++17 Filesystem
	implementation also needs -lstdc++fs. Document Dual ABI for
	ios_base::failure.
	* doc/html/*: Regenerate.

2018-05-07  Edward Smith-Rowland  <3dw4rd@verizon.net>

	Backport from mainline
	2018-05-07  Edward Smith-Rowland  <3dw4rd@verizon.net>

	Moar PR libstdc++/80506
	* include/bits/random.tcc (gamma_distribution::__generate_impl()):
	Fix magic number used in loop condition.

2018-05-04  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/85642 fix is_nothrow_default_constructible<optional<T>>
	* include/std/optional (_Optional_payload): Add noexcept to default
	constructor. Re-indent.
	(_Optional_payload<_Tp, true, true, true>): Likewise. Add noexcept to
	constructor for copying disengaged payloads.
	(_Optional_payload<_Tp, true, false, true>): Likewise.
	(_Optional_payload<_Tp, true, true, false>): Likewise.
	(_Optional_payload<_Tp, true, false, false>): Likewise.
	* testsuite/20_util/optional/cons/85642.cc: New.
	* testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error lines.

2018-05-03  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/84769
	* include/std/variant (visit): Qualify std::get call.

2018-05-03  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/85632 use uintmax_t for arithmetic
	* src/filesystem/ops.cc (experimental::filesystem::space): Perform
	arithmetic in result type.
	* src/filesystem/std-ops.cc (filesystem::space): Likewise.
	* testsuite/27_io/filesystem/operations/space.cc: Check total capacity
	is greater than free space.
	* testsuite/experimental/filesystem/operations/space.cc: New.

2018-05-02  Release Manager

	* GCC 8.1.0 released.

2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>

	* configure: Regenerated.

2018-04-19  Jakub Jelinek  <jakub@redhat.com>

	* configure: Regenerated.

2018-04-18  Jonathan Wakely  <jwakely@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/85442
	* src/c++11/Makefile.am: Don't generate debuginfo again for
	cxx11-ios_failure-lt.s and cxx11-ios_failure.s files.
	* src/c++11/Makefile.in: Regenerate.

2018-04-18  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/84442
	* testsuite/30_threads/thread/cons/terminate.cc
	[!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.

2018-04-18  David Malcolm  <dmalcolm@redhat.com>

	PR jit/85384
	* configure: Regenerate.

2018-04-16  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/experimental/filesystem/file_status/1.cc: Add
	-DUSE_FILESYSTEM_TS to dg-options.
	* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
	Likewise.
	* testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
	* testsuite/experimental/filesystem/iterators/
	recursive_directory_iterator.cc: Likewise.
	* testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
	* testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
	* testsuite/experimental/filesystem/operations/copy.cc: Likewise.
	* testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
	* testsuite/experimental/filesystem/operations/create_directories.cc:
	Likewise.
	* testsuite/experimental/filesystem/operations/create_directory.cc:
	Likewise.
	* testsuite/experimental/filesystem/operations/create_symlink.cc:
	Likewise.
	* testsuite/experimental/filesystem/operations/current_path.cc:
	Likewise.
	* testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
	* testsuite/experimental/filesystem/operations/exists.cc: Likewise.
	* testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
	* testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
	* testsuite/experimental/filesystem/operations/last_write_time.cc:
	Likewise.
	* testsuite/experimental/filesystem/operations/permissions.cc:
	Likewise.
	* testsuite/experimental/filesystem/operations/read_symlink.cc:
	Likewise.
	* testsuite/experimental/filesystem/operations/remove.cc: Likewise.
	* testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
	* testsuite/experimental/filesystem/operations/status.cc: Likewise.
	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/append/path.cc: Likewise.
	* testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
	* testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
	* testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
	* testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
	* testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
	* testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
	* testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
	* testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
	* testsuite/experimental/filesystem/path/construct/default.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
	* testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
	* testsuite/experimental/filesystem/path/construct/string_view.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/decompose/extension.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/decompose/filename.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/decompose/parent_path.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/decompose/relative_path.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/decompose/root_directory.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/decompose/root_name.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/decompose/root_path.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
	* testsuite/experimental/filesystem/path/generic/generic_string.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
	* testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
	* testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
	* testsuite/experimental/filesystem/path/native/string.cc: Likewise.
	* testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
	* testsuite/experimental/filesystem/path/query/has_extension.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/query/has_filename.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/query/has_parent_path.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/query/has_relative_path.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/query/has_root_directory.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/query/has_root_name.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/query/has_root_path.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
	* testsuite/experimental/filesystem/path/query/is_relative.cc:
	Likewise.

2018-04-13  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++11/Makefile.am: Fix sed command.
	* src/c++11/Makefile.in: Regenerate.

	* src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
	handle mangled names starting with double underscores on darwin.
	* src/c++11/Makefile.in: Regenerate.

2018-04-12  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++11/Makefile.am: Fix comment.
	* src/c++11/Makefile.in: Regenerate.
	* src/c++11/cxx11-ios_failure.cc: Fix comment.
	* src/c++98/ios_failure.cc: Likewise.

	* src/c++11/ios.cc: Remove redundant macro definition.

2018-04-11  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/abi.xml: Document header locations in recent
	releases.
	* doc/xml/manual/evolution.xml: Add API changes since GCC 5.
	* doc/xml/manual/spine.xml: Update copyright years.
	* doc/xml/manual/strings.xml: Adjust tolower example to avoid
	undefined behaviour.
	* doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
	* doc/html/*: Regenerate.

2018-04-10  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
	* doc/xml/manual/backwards_compatibility.xml: Likewise.
	* doc/xml/manual/containers.xml: Likewise.
	* doc/xml/manual/debug_mode.xml: Likewise.
	* doc/xml/manual/extensions.xml: Likewise.
	* doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
	* doc/xml/manual/using.xml: Likewise.
	* doc/xml/manual/utilities.xml: Likewise.

	PR libstdc++/85222
	* src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
	cxx11-ios_failure.cc to rewrite type info for __ios_failure.
	* src/c++11/Makefile.in: Regenerate.
	* src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
	New types.
	[_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
	* src/c++11/ios.cc (__throw_ios_failure): Remove definition.
	* src/c++98/ios_failure.cc (__construct_ios_failure)
	(__destroy_ios_failure, is_ios_failure_handler): New functions.
	[!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
	* testsuite/27_io/ios_base/failure/dual_abi.cc: New.
	* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
	handler types, to always catch std::ios_base::failure.
	* 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.

2018-04-05  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
	__get calls to avoid ADL and avoid ambiguity due to Clang bug.

2018-04-03  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/85183
	* include/std/variant (_Move_assign_base::operator=): Fix incorrect
	value categories.
	* testsuite/20_util/variant/85183.cc: New.

2018-03-26  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/variant (__get): Qualify calls to avoid ADL.
	(__select_index): Adjust whitespace.
	(variant): Add using-declaration to workaround Clang bug.

2018-03-22  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/85040
	* include/bits/stl_function.h (greater::__not_overloaded)
	(less::__not_overloaded, greater_equal::__not_overloaded)
	(less_equal::__not_overloaded): Fix ambiguous specializations.
	* testsuite/20_util/function_objects/comparisons_pointer.cc: Add
	tests for type with overloaded operators.

2018-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR libstdc++/77691
	* testsuite/experimental/memory_resource/resource_adaptor.cc:
	xfail execution on 32-bit Solaris/x86.

2018-03-21  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/function_objects/comparisons_pointer.cc: Use
	VERIFY instead of assert.
	* testsuite/20_util/hash/84998.cc: New test.
	* testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
	copy of test adjusted for Debug Mode.
	* testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
	test in Debug Mode.

2018-03-20  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/84998
	* include/bits/stl_bvector.h: Fix std::hash friend declaration.
	* include/std/bitset: Likewise.
	* include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
	declaration.
	* include/bits/stl_multimap.h (std::multimap<>): Likewise.
	* include/bits/stl_multiset.h (std::multiset<>): Likewise.
	* include/bits/stl_set.h (std::set<>): Likewise.
	* include/bits/unordered_map.h (std::unordered_map<>): Fix
	_Hash_merge_helper friend declaration.
	(std::unordered_multimap<>): Likewise.
	* include/bits/unordered_set.h (std::unordered_set<>): Likewise.
	(std::unordered_multiset<>): Likewise.

2018-03-19  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/api.xml: www.fsf.org has moved to https. Also omit
	trailing slash for domain level link.
	* doc/xml/faq.xml: Ditto.
	* doc/xml/manual/appendix_free.xml (software): Ditto.
	* doc/xml/manual/intro.xml: Ditto.
	* doc/xml/manual/spine.xml: Ditto.
	* doc/xml/spine.xml: Ditto.

2018-03-19  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/documentation_hacking.xml: Adjust link to
	docbook.org.

2018-03-17  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
	to compile as C++98.

2018-03-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/78420
	* include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
	(greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
	to ensure total order for pointers.
	(greater<void>, less<void>, greater_equal<void>, less_equal<void>):
	Add operator() overloads for pointer arguments and make generic
	overloads dispatch to new _S_cmp functions when comparisons would
	use built-in operators for pointers.
	* testsuite/20_util/function_objects/comparisons_pointer.cc: New.

2018-03-12  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/84773
	PR libstdc++/83662
	* crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
	* configure: Regenerate.
	* include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
	(aligned_alloc): Add using-declaration.
	* testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.

2018-03-09  François Dumont  <fdumont@gcc.gnu.org>

	* python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
	Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
	registration.

2018-03-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/84769
	* include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
	Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.

	src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
	src/filesystem/std-ops.cc (create_dir): Likewise.

2018-03-08  François Dumont  <fdumont@gcc.gnu.org>

	* python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
	(StdListIteratorPrinter): Inherit from latter.
	(StdFwdListIteratorPrinter): New, inherit from latter.
	(StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
	when iterator has no associated container.
	(build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
	__gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
	registrations.
	* testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
	* testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.

2018-03-06  Ville Voutilainen  <ville.voutilainen@gmail.com>

	PR libstdc++/84601
	* include/std/optional (_Optional_payload): Split into multiple
	specializations that can handle different cases of trivial or
	non-trivial assignment operators.
	* testsuite/20_util/optional/84601.cc: New.
	* testsuite/20_util/optional/cons/value_neg.cc: Adjust.

2018-03-02  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/84671
	* include/bits/parse_numbers.h (_Number_help): Add partial
	specialization to handle digit separators. Adjust partial
	specialization for recursion temrination to require _Pow == 1ULL.
	* testsuite/20_util/duration/literals/84671.cc: New

2018-02-27  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Implement the missing bits of LWG 2769
	* include/std/any (any_cast(const any&)): Add static_assert.
	(any_cast(any&)): Likewise.
	(any_cast(any&&)): Likewise, and remove the handling
	for copyable-but-not-movable type.
	* testsuite/20_util/any/misc/any_cast.cc: Adjust.
	* testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
	add new tests.

2018-02-23  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/84532
	* include/std/thread (thread::__make_invoker): Construct tuple
	directly instead of using make_tuple.
	* testsuite/30_threads/async/84532.cc: New.
	* testsuite/30_threads/thread/84532.cc: New.

2018-02-20  François Dumont  <fdumont@gcc.gnu.org>

	* include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
	(template<> __aligned_buffer): Define as __aligned_membuf alias.

2018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>

	PR target/84148
	* configure: Regenerate.

2018-02-15  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/81797
	* configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
	* configure: Regenerate.
	* include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
	defined.
	* include/Makefile.in: Regenerate.

2018-01-29  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/83833
	* testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
	Add -ffloat-store to options for m68k and ia32.

	* doc/xml/faq.xml: Update copyright years.
	* doc/html/*: Regenerate.

	PR libstdc++/83658
	* include/std/any (any::__do_emplace): Only set _M_manager after
	constructing the contained object.
	* testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
	* testsuite/20_util/any/modifiers/83658.cc: New test.

2018-01-25  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/81076
	* include/c_global/cstddef (__byte_operand): Define primary template.
	* testsuite/18_support/byte/81076.cc: New test.

2018-01-19  Christophe Lyon  <christophe.lyon@linaro.org>

	* testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
	dg-options and dg-add-options order.
	* testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
	* testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
	Likewise.
	* testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
	* testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
	Likewise.
	* testsuite/special_functions/02_assoc_legendre/check_nan.cc:
	Likewise.
	* testsuite/special_functions/03_beta/check_nan.cc: Likewise.
	* testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
	Likewise.
	* testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
	Likewise.
	* testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
	Likewise.
	* testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
	Likewise.
	* testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
	Likewise.
	* testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
	Likewise.
	* testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
	Likewise.
	* testsuite/special_functions/10_cyl_neumann/check_nan.cc:
	Likewise.
	* testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
	* testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
	* testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
	* testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
	* testsuite/special_functions/14_expint/check_nan.cc: Likewise.
	* testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
	* testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
	* testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
	* testsuite/special_functions/18_riemann_zeta/check_nan.cc:
	Likewise.
	* testsuite/special_functions/19_sph_bessel/check_nan.cc:
	Likewise.
	* testsuite/special_functions/20_sph_legendre/check_nan.cc:
	Likewise.
	* testsuite/special_functions/21_sph_neumann/check_nan.cc:
	Likewise.

2018-01-18  Uros Bizjak  <ubizjak@gmail.com>

	* configure.ac (AC_CHECK_HEADERS): Add linux/types.h.  Conditionally
	include linux/types.h when checking linux/random.h header.
	* config.h.in: Regenerate.
	* configure: Ditto.
	* src/c++11/random.cc: Conditionally include linux/types.h.

2018-01-16  Eric Botcazou  <ebotcazou@adacore.com>

	* testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.

2018-01-16  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/83834
	* config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
	pattern with exact match for std::cerr.

2018-01-15  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/83833
	* include/bits/random.h (chi_squared_distribution::param): Update
	gamma distribution parameter.
	* testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
	test.

	PR libstdc++/83830
	* include/std/type_traits (has_unique_object_representations_v): Add
	variable template.
	* testsuite/20_util/has_unique_object_representations/value.cc: Check
	variable template.

2018-01-15  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Make optional conditionally
	trivially_{copy,move}_{constructible,assignable}
	* include/std/optional (_Optional_payload): Fix the comment in
	the class head and turn into a primary and one specialization.
	(_Optional_payload::_M_engaged): Strike the NSDMI.
	(_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
	New.
	(_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
	Likewise.
	(_Optional_payload<_Tp, false>::_M_get): Likewise.
	(_Optional_payload<_Tp, false>::_M_reset): Likewise.
	(_Optional_base_impl): Likewise.
	(_Optional_base): Turn into a primary and three specializations.
	(optional(nullopt)): Change the base init.
	* testsuite/20_util/optional/assignment/8.cc: New.
	* testsuite/20_util/optional/cons/trivial.cc: Likewise.
	* testsuite/20_util/optional/cons/value_neg.cc: Adjust.

2018-01-15  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/80276
	* python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
	(get_template_arg_list): New.
	(StdVariantPrinter._template_args): Remove, use get_template_arg_list
	instead.
	(TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
	of strings and regular expressions.
	(add_one_template_type_printer): Adapt to new TemplateTypePrinter.
	(FilteringTypePrinter): Add docstring. Match using startswith. Use
	strip_inline_namespaces instead of strip_versioned_namespace.
	(add_one_type_printer): Prepend namespace to match argument.
	(register_type_printers): Add type printers for char16_t and char32_t
	string types and for types using cxx11 ABI. Update calls to
	add_one_template_type_printer to provide default argument dicts.
	* testsuite/libstdc++-prettyprinters/80276.cc: New test.
	* testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
	basic_string<unsigned char> and basic_string<signed char>.
	* testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
	to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.

2018-01-14  Andreas Schwab  <schwab@linux-m68k.org>

	PR libstdc++/81092
	* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.

2018-01-13  Tim Shen  <timshen@google.com>

	PR libstdc++/83601
	* include/bits/regex.tcc (regex_replace): Fix escaping in sed.
	* testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
	* testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.

2018-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR libstdc++/64054
	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
	Remove dg-xfail-run-if.

2018-01-10  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/forward_list.h
	(_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
	(_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
	(_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
	(_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
	(_Fwd_list_impl()): Add noexcept qualification.
	(_Fwd_list_impl(const _Node_alloc_type&)): Delete.
	(_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
	(_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
	(_Fwd_list_base()): Default.
	(_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
	(_Fwd_list_base(_Fwd_list_base&&)): Default.
	(forward_list<>()): Default.
	(forward_list<>(forward_list&&)): Default.
	(forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
	(forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
	(forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
	* include/bits/forward_list.tcc
	(_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
	_M_impl._M_head move assignment.
	(forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
	* testsuite/23_containers/forward_list/allocator/default_init.cc: New.

2018-01-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/80276
	* python/libstdcxx/v6/printers.py (SharedPointerPrinter)
	(UniquePointerPrinter): Print correct template argument, not type of
	the pointer.
	(TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
	a type.
	* testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
	array type.
	* testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
	weak_ptr of array types.

2018-01-09  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/83709
	* include/bits/hashtable_policy.h
	(__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
	__first != __last.
	(_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
	(_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
	Add false_type parameter.
	(_Insert_base::insert): Adapt.
	* include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
	Adapt.
	(_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
	 Add __n_elt parameter, defaulted to 1.
	(_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
	policy _M_need_rehash.
	(_Hashtable::_M_merge_unique): Pass target number of elements to add to
	produce only 1 rehash if necessary.
	* testsuite/23_containers/unordered_map/insert/83709.cc: New.
	* testsuite/23_containers/unordered_set/insert/83709.cc: New.

2018-01-09  Juraj Oršulić  <juraj.orsulic@fer.hr>
	    Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/59253 (partial)
	* python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
	type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
	(SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
	children.
	* testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
	of unique_ptr printer.
	* testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
	output of shared_ptr printer.

2018-01-05  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/83626
	* src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
	unnecessary symlink_status call.
	(remove_all(const path&, error_code&)): Use filesystem::remove.
	* src/filesystem/std-ops.cc: Likewise.

	PR libstdc++/83279
	* src/filesystem/std-ops.cc  (do_copy_file): Use non-null offset with
	sendfile.

	PR libstdc++/83626
	* src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
	report an error for ENOENT.
	(remove_all(const path&)): Fix type of result variable.
	(remove_all(const path&, error_code&)): Use non-throwing increment
	for directory iterator. Call POSIX remove directly to avoid redundant
	calls to symlink_status. Do not report errors for ENOENT.
	* src/filesystem/std-ops.cc: Likewise.
	* testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
	overload.
	* testsuite/experimental/filesystem/operations/remove_all.cc:
	Likewise.

2018-01-04  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/83626
	* src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
	redundant call to ec.clear().
	(remove_all(const path&, error_code&))): Do not return an error for
	non-existent paths.
	* src/filesystem/std-ops.cc: Likewise.
	* testsuite/27_io/filesystem/operations/remove.cc: New test.
	* testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
	results for non-existent paths.
	* testsuite/experimental/filesystem/operations/remove.cc: New test.
	* testsuite/experimental/filesystem/operations/remove_all.cc: Fix
	expected results for non-existent paths.

	* include/bits/fs_ops.h (exists(const path&, error_code&))): Only
	check status_known once.
	* include/experimental/bits/fs_ops.h: Likewise.

	PR libstdc++/83607
	* include/std/functional (__is_byte_like): New trait.
	(__is_std_equal_to): Remove.
	(__boyer_moore_base_t): Use __is_byte_like instead of
	__is_std_equal_to.
	* include/experimental/functional (__is_std_equal_to): Remove.
	(__boyer_moore_base_t): Use __is_byte_like instead of
	__is_std_equal_to.
	* testsuite/20_util/function_objects/83607.cc: New test.

2018-01-03  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Protect optional's deduction guide with the feature macro
	* include/std/optional: Use the feature macro.

2018-01-03  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

Copyright (C) 2018 Free Software Foundation, Inc.

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.
