diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c2526c7..c2e3dee 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,116 @@
+2021-10-15  Iain Sandoe  <iain@sandoe.co.uk>
+
+	* config/darwin.h (LINK_COMMAND_SPEC_A): Update 'r' handling to
+	skip gomp and itm when r or nodefaultlibs is given.
+	(DSYMUTIL_SPEC): Do not call dsymutil for '-r' link lines.
+	Update ordering of exclusions, remove duplicate 'v' addition
+	(collect2 will add this from the main command line).
+
+2021-10-15  Iain Sandoe  <iain@sandoe.co.uk>
+
+	* config/darwin-driver.c (darwin_driver_init): Revise comments, handle
+	filelist and framework options in specs instead of code.
+	* config/darwin.h (SUBTARGET_DRIVER_SELF_SPECS): Update to handle link
+	specs that are really driver ones.
+	(DARWIN_CC1_SPEC): Likewise.
+	(CPP_SPEC): Likewise.
+	(SYSROOT_SPEC): Append space.
+	(LINK_SYSROOT_SPEC): Remove most driver link specs.
+	(STANDARD_STARTFILE_PREFIX_2): Update link-related specs.
+	(STARTFILE_SPEC): Likewise.
+	(ASM_MMACOSX_VERSION_MIN_SPEC): Fix line wrap.
+	(ASM_SPEC): Update driver-related specs.
+	(ASM_FINAL_SPEC): Likewise.
+	* config/darwin.opt: Remove now unused option aliases.
+	* config/i386/darwin.h (EXTRA_ASM_OPTS): Ensure space after opt.
+	(ASM_SPEC): Update driver-related specs.
+
+2021-10-15  Roger Sayle  <roger@nextmovesoftware.com>
+
+	* config/i386/i386.c (ix86_hardreg_mov_ok): For vector modes,
+	allow standard_sse_constant_p immediate constants.
+
+2021-10-15  Iain Sandoe  <iain@sandoe.co.uk>
+
+	* config.gcc: Add tm-dwarf2.h to tm_d-file.
+
+2021-10-15  Andrew MacLeod  <amacleod@redhat.com>
+
+	* gimple-range-fold.h (gimple_range_ssa_p): Don't process names
+	that occur in abnormal phis.
+	* gimple-range.cc (gimple_ranger::range_on_edge): Return false for
+	abnormal and EH edges.
+	* gimple-ssa-evrp.c (rvrp_folder::value_of_expr): Ditto.
+	(rvrp_folder::value_on_edge): Ditto.
+	(rvrp_folder::value_of_stmt): Ditto.
+	(hybrid_folder::value_of_expr): Ditto for ranger queries.
+	(hybrid_folder::value_on_edge): Ditto.
+	(hybrid_folder::value_of_stmt): Ditto.
+	* value-query.cc (gimple_range_global): Always return a range if
+	the type is supported.
+
+2021-10-15  John David Anglin  <danglin@gcc.gnu.org>
+
+	* config/pa/pa.md: Consistently use "rG" constraint for copy
+	instruction in move patterns.
+
+2021-10-15  Andrew Stubbs  <ams@codesourcery.com>
+
+	* config/gcn/gcn-hsa.h (S_FIJI): Set unconditionally.
+	(S_900): Likewise.
+	(S_906): Likewise.
+	* config/gcn/gcn.c: Hard code SRAM ECC settings for old architectures.
+	* config/gcn/mkoffload.c (ELFABIVERSION_AMDGPU_HSA): Rename to ...
+	(ELFABIVERSION_AMDGPU_HSA_V3): ... this.
+	(ELFABIVERSION_AMDGPU_HSA_V4): New.
+	(SET_SRAM_ECC_UNSUPPORTED): New.
+	(copy_early_debug_info): Create elf flags to match the other objects.
+	(main): Just let the attribute flags pass through.
+
+2021-10-15  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+	* tree-loop-distribution.c (reduction_var_overflows_first):
+	Pass the type of reduction_var as first argument as it is also
+	done for the load type.
+	(loop_distribution::transform_reduction_loop): Add missing
+	TREE_TYPE while determining precission of reduction_var.
+
+2021-10-15  Richard Biener  <rguenther@suse.de>
+
+	* defaults.h (PREFERRED_DEBUGGING_TYPE): Choose DWARF2_DEBUG
+	when not set.
+	* toplev.c (process_options): Warn when STABS debugging is
+	enabled but not the preferred format.
+	* config/pa/som.h (PREFERRED_DEBUGGING_TYPE): Define to
+	DBX_DEBUG.
+	* config/pdp11/pdp11.h (PREFERRED_DEBUGGING_TYPE): Likewise.
+
+2021-10-15  Richard Biener  <rguenther@suse.de>
+
+	PR ipa/102762
+	* tree-inline.c (copy_bb): Avoid underflowing nargs.
+
+2021-10-15  Hongyu Wang  <hongyu.wang@intel.com>
+
+	* config/i386/i386-expand.c (ix86_expand_vec_perm): Convert
+	HFmode input operand to HImode.
+	(ix86_vectorize_vec_perm_const): Likewise.
+	* config/i386/sse.md (*avx512bw_permvar_truncv16siv16hi_1_hf):
+	New define_insn.
+	(*avx512f_permvar_truncv8siv8hi_1_hf):
+	Likewise.
+
+2021-10-15  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/102682
+	* expmed.c (store_bit_field_1): Ensure a LHS subreg would
+	not create a paradoxical subreg.
+
+2021-10-15  Hongyu Wang  <hongyu.wang@intel.com>
+
+	* config/i386/i386-expand.c (ix86_expand_vector_init):
+	For half_vector concat for HFmode, handle them like HImode.
+
 2021-10-14  Aldy Hernandez  <aldyh@redhat.com>
 
 	* tree-ssa-threadbackward.c (class back_threader): Add m_resolve.
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 86db4aa..77335aa 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20211015
+20211016
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 5c96c74..c6d856a 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,8 @@
+2021-10-15  Richard Biener  <rguenther@suse.de>
+
+	* gcc-interface/misc.c (gnat_post_options): Do not warn
+	about DBX_DEBUG use here.
+
 2021-10-14  Alexandre Oliva  <oliva@adacore.com>
 
 	* par-ch10.adb (P_Compilation_Unit): Reenable ada83 library
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index e75a699..1387318 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,3 +1,10 @@
+2021-10-15  Richard Biener  <rguenther@suse.de>
+
+	PR c/102763
+	* gimple-parser.c
+	(c_parser_gimple_postfix_expression_after_primary): Check
+	for a pointer do be dereferenced by ->.
+
 2021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
 
 	* c-parser.c (c_finish_omp_declare_variant): Change call from
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 6535141..ffdb690 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,27 @@
+2021-10-15  Jason Merrill  <jason@redhat.com>
+
+	PR c++/51851
+	PR c++/101402
+	PR c++/102033
+	PR c++/102034
+	PR c++/102039
+	PR c++/102044
+	* pt.c (determine_specialization): Remove redundant code.
+	(fn_type_unification): Check for mismatched length.
+	(type_unification_real): Ignore terminal void.
+	(get_bindings): Don't stop at void_list_node.
+	* class.c (resolve_address_of_overloaded_function): Likewise.
+
+2021-10-15  Jason Merrill  <jason@redhat.com>
+
+	* constexpr.c (cxx_bind_parameters_in_call): Replace
+	new_call parameter with fun.
+	(cxx_eval_call_expression): Call it before instantiation.
+	(cxx_eval_outermost_constant_expr): Only instantiate fns
+	when manifestly_const_eval.
+	* typeck2.c (check_narrowing): This context is manifestly
+	constant-evaluated.
+
 2021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
 
 	* decl.c (omp_declare_variant_finalize_one): Change call from
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 458c439..2d3d33a 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,12 @@
+2021-10-15  Harald Anlauf  <anlauf@gmx.de>
+	    Tobias Burnus  <tobias@codesourcery.com>
+
+	PR fortran/102685
+	* decl.c (match_clist_expr): Set rank/shape of clist initializer
+	to match LHS.
+	* resolve.c (resolve_structure_cons): In a structure constructor,
+	compare shapes of array components against declared shape.
+
 2021-10-14  Harald Anlauf  <anlauf@gmx.de>
 
 	PR fortran/102717
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0d9e3be..2876c7a 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,72 @@
+2021-10-15  Jason Merrill  <jason@redhat.com>
+
+	PR c++/51851
+	PR c++/101402
+	PR c++/102033
+	PR c++/102034
+	PR c++/102039
+	PR c++/102044
+	* g++.dg/template/fnspec2.C: New test.
+	* g++.dg/template/parm-cv1.C: New test.
+	* g++.dg/template/parm-cv2.C: New test.
+	* g++.dg/template/parm-cv3.C: New test.
+
+2021-10-15  Harald Anlauf  <anlauf@gmx.de>
+	    Tobias Burnus  <tobias@codesourcery.com>
+
+	PR fortran/102685
+	* gfortran.dg/derived_constructor_char_1.f90: Fix invalid code.
+	* gfortran.dg/pr70931.f90: Likewise.
+	* gfortran.dg/transfer_simplify_2.f90: Likewise.
+	* gfortran.dg/pr102685.f90: New test.
+
+2021-10-15  Aldy Hernandez  <aldyh@redhat.com>
+
+	* gcc.dg/tree-ssa/pr102736.c: Make sign explicit.
+
+2021-10-15  Richard Biener  <rguenther@suse.de>
+
+	* lib/prune.exp: Prune STABS obsoletion message.
+
+2021-10-15  Richard Biener  <rguenther@suse.de>
+
+	PR c/102763
+	* gcc.dg/gimplefe-error-12.c: New testcase.
+
+2021-10-15  Richard Biener  <rguenther@suse.de>
+
+	PR ipa/102762
+	* gcc.dg/torture/pr102762.c: New testcase.
+
+2021-10-15  Hongyu Wang  <hongyu.wang@intel.com>
+
+	* gcc.target/i386/avx512fp16-builtin_shuffle-1.c: New test.
+	* gcc.target/i386/avx512fp16-pr101846.c: Ditto.
+	* gcc.target/i386/avx512fp16-pr94680.c: Ditto.
+
+2021-10-15  Hongyu Wang  <hongyu.wang@intel.com>
+
+	* gcc.target/i386/avx512fp16-v4hf-concat.c: New test.
+
+2021-10-15  Hongyu Wang  <hongyu.wang@intel.com>
+
+	* gcc.target/i386/avx512fp16-vfcmaddcph-1a.c: Add scan for
+	vblendmps.
+	* gcc.target/i386/avx512fp16-vfmaddcph-1a.c: Likewise.
+	* gcc.target/i386/avx512fp16vl-vfcmaddcph-1a.c: Likewise.
+	* gcc.target/i386/avx512fp16vl-vfmaddcph-1a.c: Likewise.
+	* gcc.target/i386/avx512fp16-vfmaddcsh-1a.c: Add -mno-avx512vl.
+	* gcc.target/i386/avx512fp16-vfcmaddcsh-1a.c: Likewise.
+
+2021-10-15  Jason Merrill  <jason@redhat.com>
+
+	* g++.dg/ext/vla22.C: Don't expect a narrowing error.
+	* g++.dg/cpp0x/constexpr-inst1.C: New test.
+
+2021-10-15  Andrew MacLeod  <amacleod@redhat.com>
+
+	* gcc.dg/pr102738.c: Add target int128.
+
 2021-10-14  Joseph Myers  <joseph@codesourcery.com>
 
 	* gcc.dg/format/c11-dfp-printf-1.c,
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 41ef255..4917102 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,76 @@
+2021-10-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* testsuite/libgomp.c/affinity-1.c (struct places): Change name field
+	type from char [50] to const char *.
+	(places_array): Add a testcase for simplified syntax place followed
+	by length or length and stride.
+
+2021-10-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* env.c (parse_one_place): Handle non-negative-number the same
+	as { non-negative-number }.  Reject even !number:1 and
+	!number:1:stride or !place:1 or !place:1:stride instead of just
+	length other than 1.
+	* libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
+	and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
+	omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
+	as implemented.
+	* testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
+	simplified syntax.
+
+2021-10-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* env.c (parse_schedule): For strtoul or strtoull calls which don't
+	clearly reject return value 0 as invalid handle the case where end
+	pointer is the same as first argument as invalid.
+	(parse_unsigned_long_1): Likewise.
+	(parse_one_place): Likewise.
+	(parse_places_var): Likewise.
+	(parse_stacksize): Likewise.
+	(parse_spincount): Likewise.
+	(parse_affinity): Likewise.
+	(parse_gomp_openacc_dim): Likewise.  Avoid strict aliasing violation.
+	Make code valid C89.
+	* config/linux/affinity.c (gomp_affinity_find_last_cache_level):
+	For strtoul calls which don't clearly reject return value 0 as
+	invalid handle the case where end pointer is the same as first
+	argument as invalid.
+	(gomp_affinity_init_level_1): Likewise.
+	(gomp_affinity_init_numa_domains): Likewise.
+	* config/rtems/proc.c (parse_thread_pools): Likewise.
+
+2021-10-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
+	after creating count places clean up and return immediately.
+	* testsuite/libgomp.c/places-6.c: New test.
+	* testsuite/libgomp.c/places-7.c: New test.
+	* testsuite/libgomp.c/places-8.c: New test.
+	* testsuite/libgomp.c/places-9.c: New test.
+	* testsuite/libgomp.c/places-10.c: New test.
+
+2021-10-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* env.c (parse_places_var): Handle numa_domains as level 5.
+	* config/linux/affinity.c (gomp_affinity_init_numa_domains): New
+	function.
+	(gomp_affinity_init_level): Use it instead of
+	gomp_affinity_init_level_1 for level == 5.
+	* testsuite/libgomp.c/places-5.c: New test.
+
+2021-10-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* env.c (parse_places_var): Handle ll_caches as level 4.
+	* config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
+	function.
+	(gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
+	last level cache.
+	(gomp_affinity_init_level): Likewise.
+	* testsuite/libgomp.c/places-1.c: New test.
+	* testsuite/libgomp.c/places-2.c: New test.
+	* testsuite/libgomp.c/places-3.c: New test.
+	* testsuite/libgomp.c/places-4.c: New test.
+
 2021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
 
 	* libgomp.texi (OpenMP 5.0): Update entry for declare variant
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 3852914..785c946 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,80 @@
+2021-10-15  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/bits/fs_path.h (path::_S_convert(T)): Avoid recursive
+	call to function with deduced return type.
+
+2021-10-15  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/bits/basic_string.h (__cpp_lib_string_resize_and_overwrite):
+	Define for C++23.
+	(basic_string::resize_and_overwrite): Declare.
+	* include/bits/basic_string.tcc (basic_string::resize_and_overwrite):
+	Define.
+	* include/std/version (__cpp_lib_resize_and_overwrite): Define
+	for C++23.
+	* testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
+	New test.
+
+2021-10-15  Jonathan Wakely  <jwakely@redhat.com>
+
+	PR libstdc++/101263
+	* include/std/ranges (__cached): New wrapper struct.
+	(__non_propagating_cache): Use __cached for contained value.
+	(__non_propagating_cache::_M_emplace_deref): Add constexpr. Use
+	std::construct_at instead of placement new.
+	* testsuite/std/ranges/adaptors/join.cc: Check constexpr works.
+
+2021-10-15  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/std/variant (__cpp_lib_variant): Update value for
+	C++20.
+	(__variant_cast, __variant_construct): Add constexpr for C++20.
+	(__variant_construct_single, __construct_by_index) Likewise. Use
+	std::_Construct instead of placement new.
+	(_Uninitialized<T, false>) [__cplusplus >= 202002]: Replace
+	buffer with a union and define a destructor.
+	(_Variadic_union) [__cplusplus >= 202002]: Add a specialization
+	for non-trivial destruction.
+	(_Variant_storage::__index_of): New helper variable template.
+	(_Variant_storage::~_Variant_storage()): Add constexpr.
+	(_Variant_storage::_M_reset()): Likewise.
+	(_Copy_ctor_base, _Move_ctor_base): Likewise.
+	(_Copy_assign_base, _Move_assign_base): Likewise.
+	(variant, swap): Likewise.
+	* include/std/version (__cpp_lib_variant): Update value for
+	C++20.
+	* testsuite/20_util/optional/version.cc: Check for exact value
+	in C++17.
+	* testsuite/20_util/variant/87619.cc: Increase timeout for
+	C++20 mode.
+	* testsuite/20_util/variant/constexpr.cc: New test.
+	* testsuite/20_util/variant/version.cc: New test.
+
+2021-10-15  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/std/variant (__detail::__variant::__get_storage):
+	Remove unused function.
+	(__variant_construct_by_index): Set index after construction is
+	complete. Rename to ...
+	(__detail::__variant::__construct_by_index): ... this.
+	(variant): Use new name for __variant_construct_by_index friend
+	declaration. Remove __get_storage friend declaration.
+	(variant::emplace): Use new name and remove try-blocks.
+
+2021-10-15  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/std/variant (_Variant_storage::_M_storage()): Remove.
+	(__detail::__variant::__get_storage): Remove.
+	(variant): Remove friend declaration of __get_storage.
+
+2021-10-15  Jason Merrill  <jason@redhat.com>
+
+	* testsuite/20_util/integer_comparisons/greater_equal_neg.cc:
+	* testsuite/20_util/integer_comparisons/greater_neg.cc:
+	* testsuite/20_util/integer_comparisons/less_equal_neg.cc:
+	Adjust expected message.
+	* testsuite/lib/prune.exp: Prune 'in constexpr expansion'.
+
 2021-10-14  Jonathan Wakely  <jwakely@redhat.com>
 
 	* include/std/variant (__variant::__get(in_place_index_t<N>, U&&)):
